12 open source projects for #StarWarsDay
Tags: github, opensource, starwars, starwarsday
Published: 2021-05-04 08:52:53

A long time ago in a galaxy far, far away, I built an app using Python and [Zope](https://zope.org/) (_yes, it's still around_) for [generating Star Wars names](https://web.archive.org/web/20021105012243/http://freezope.nipltd.com/zaphod/starwars) - not because I wanted to build one, but because I knew that building yet another blog app with test users Jane Doe and John Smith was going to bore me to tears, and probably lose my interest quickly.

Since it's [**May the Fourth**](https://www.starwars.com/star-wars-day) aka [`#StarWarsDay`](https://twitter.com/hashtag/starwarsday), I thought I'd share some GitHub projects that are similarly heavily influenced by the Force, and should prove educational and/or entertaining. Enjoy!

## 1. _Are these_ the droids we're looking for? <a href="https://github.com/averdones/star_wars_object_detection"><kbd>SOURCE</kbd></a>

<a href="https://github.com/averdones/star_wars_object_detection"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mdx0spwbj824tenaznl1.gif" alt="TensorFlow's object detection API identifying some mischievous droids"></a><center><sup><strong>Fig 1:</strong> It's terrible at spotting hot dogs, but it can spot a droid from 12 parsecs.</sup></center>


Why, yes they are! The [Star Wars Object Detection repository](https://github.com/averdones/star_wars_object_detection) contains the dataset and some of the files necessary to train an object detector on R2-D2 and BB-8. It turns out that there is more than one kind of [orange robot](https://hubot.github.com/).

This just might b the excuse you've been looking for to play around with TensorFlow, or the Object Detection API for the first time.

![Obi 👌🏻](https://i.gifer.com/fyyU.gif)<center><sup><strong>Fig 2:</strong> Nice try, Ben. These <em>are</em> the droids we're looking for.</sup></center>

## 2. Star Wars themes for Hyper <a href="https://github.com/klaussinani/hyper-star-wars"><kbd>SOURCE</kbd></a>

[![Screenshots of various Star Wars themes for Hyper terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzpq5r53nwn1yjkwgnyb.gif)](https://github.com/klaussinani/hyper-star-wars)<center><sup><strong>Fig 3:</strong> Lots of colorful backgrounds with character.</sup></center>


[Hyper](https://hyper.is/) is my goto terminal for a variety of reasons ⁠– ⁠[try it](https://hyper.is/#installation) if you haven't already. 

One of those reasons is that it's easily configurable with a big ol' JSON file, and it just looks and feels.... great. There's also a staggering number of plugins that allow you to do things like share themes. Take this [cool collection of Star Wars themes](https://github.com/klaussinani/hyper-star-wars) for example.

## 3. Transition to the dark side <a href="https://github.com/Yalantis/StarWars.iOS"><kbd>SOURCE</kbd></a> <a href="https://github.com/Yalantis/StarWars.Android"><kbd>SOURCE</kbd></a>

[![Star Wars-style MVC transition for mobile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/farkfl2ieg4s4b3sow4u.gif)](https://github.com/Yalantis/StarWars.iOS)<center><sup><strong>Fig 4:</strong> The original switch to dark mode UI.</sup></center>

I've never dabbled in mobile development, but if I did, then you can bet 1000 Imperial Credits that'd I be trying out [these](https://github.com/Yalantis/StarWars.iOS) sleek [animations](https://github.com/Yalantis/StarWars.Android) in just about every project transitioning from one screen to the next.

## 4. Star Wars Roguelike <a href="https://github.com/ondras/star-wars"><kbd>SOURCE</kbd></a> <a href="http://ondras.github.io/star-wars/"><kbd>PLAY</kbd></a>

[![Animation of Star Wars roguelike game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2pnkwxaps1imtz2hbcw.gif)](http://ondras.github.io/star-wars/)<center><sup><strong>Fig 5:</strong> Still waiting on your new GFX card? This game should run alright.</sup></center>

If you like old school roguelikes games like [NetHack](https://github.com/NetHack/NetHack) or [Cataclysm DDA](https://github.com/CleverRaven/Cataclysm-DDA) then you might enjoy this [GitHub Game Off entry](https://github.blog/2012-10-25-github-game-off/) from back in 2012. Play as a young Jedi or Sith warrior, and make your way through waves of enemies to finish your force training. 

**ProTip:** Press <kbd>s</kbd> for the ever-satisfying lightsaber noise. _Ffffkrrrrshhzzzwooooom..woom..woooom_!

## 5. Mando 'Puter <a href="https://github.com/Breazile/MandoPuter"><kbd>SOURCE</kbd></a>

[![Screenshot of device showing Mandalorian characters](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zipt2d5id4fnhmwpitq8.jpeg)](https://github.com/Breazile/MandoPuter)<center><sup><strong>Fig 6:</strong> Klingon or Mandalorian?</sup></center>


With approximately 25 weekends between now and Halloweeen, why not augment your costume with a ~~real~~ [replica computer display that shows Mandalorian characters](https://github.com/Breazile/MandoPuter). Just be careful going through airport security and/or metal detectors.

## 6. WebGL X-Wing <a href="https://github.com/amilajack/xwing"><kbd>SOURCE</kbd></a> <a href="https://amilajack.github.io/xwing/"><kbd>PLAY</kbd></a>

[![World's worst animated GIF trying to show this WebGL X-Wing demo in action](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m5deg1tyuqkmxdgnuxt3.gif)](https://amilajack.github.io/xwing/)<center><sup><strong>Fig 7:</strong> Can you believe the things you can do in a browser these days?!?</sup></center>


Nothing will ever beat the [original X-Wing game on the PC](https://www.youtube.com/watch?v=Ea_e0qiZz7c). Ever. You may have made the Kessel Run in less than twelve parsecs, but this [WebGL/three.js demo of an X-Wing doing the trench run](https://github.com/amilajack/xwing) is pretty challenging and addicting.

If you figure out how to update the code to invert the Y-axis, please let me know!

## 7. ~~Julia~~ Machete knows best <a href="https://github.com/giordano/StarWarsArrays.jl"><kbd>SOURCE</kbd></a>

Should you watch Star Wars movies in release order, or episode order? A large number of fans would say neither. The best order to watch is in the [Machete Order](https://www.inverse.com/entertainment/star-wars-movies-order-machete-sequels/amp). (_I too was disappointed that Danny Trejo wasn't consulted on this._)

[![Machete order disappointing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i8lobq4hws9jp5ik2twp.gif)](https://github.com/giordano/StarWarsArrays.jl)<center><sup><strong>Fig 8:</strong> I sure hope that Machete or his lawyers don't see this 🤞🏻</sup></center>


I really can't believe this isn't part of the standard library, but for the Julia programmer​~~s~~ among you, this [package](https://github.com/giordano/StarWarsArrays.jl) provides arrays indexed as the order of the Star Wars movies... for you know, when you forget and quickly need to look it up:

```julia
julia> using StarWarsArrays

julia> v = StarWarsArray(collect(1:9))
9-element StarWarsArray{Int64,1,Array{Int64,1},StarWarsArrays.OriginalOrder}:
 4
 5
 6
 1
 2
 3
 7
 8
 9

julia> v[4]
1
```
<center><sup><strong>Fig 9:</strong> I've been staring at this for hours and still don't get it. That CS degree came in _real_ handy.</sup></center>




## 8. Faker <a href="https://github.com/HydrefLab/jedi-faker"><kbd>SOURCE</kbd></a>

We've all been there. We've built an app that tracks information like names and addresses, or maybe even just usernames and emails. It gets pretty boring using the same old test data (lookin' at you, John Doe). 

You've probably heard of [Faker](https://www.google.com/search?q=faker+github&ei=X-aQYMKtJvvl9AOsvbeICg&oq=faker+github&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEJECMgIIADICCAAyAggAMgIIADICCAAyBggAEBYQHjIICAAQFhAKEB4yBggAEBYQHjIGCAAQFhAeOgcIABBHELADOgcIABCwAxBDUKcTWNcXYIQZaAJwAngBgAGsAogBzwaSAQcwLjMuMS4xmAEAoAEBqgEHZ3dzLXdpesgBCsABAQ&sclient=gws-wiz&ved=0ahUKEwiC2eL5r6_wAhX7Mn0KHazeDaEQ4dUDCA8&uact=5) (available in most languages), but for a nice Star Wars touch, consider using [jedi-faker](https://github.com/HydrefLab/jedi-faker), which as the name might suggest, is a Star Wars-flavored version of the original faker libraries.

```php
$faker->darkSide;            // Darth Vader
$faker->quote;               // No. I am your father.
$faker->quote('han_solo');   // Never tell me the odds!
$faker->droid;               // R2-D2
```
<center><sup><strong>Fig 10:</strong> Need some test data that's out of this world?</sup></center>


## 9. Imperial Assault++ <a href="https://github.com/nickv2002/Imperial-Assault-Skirmish-Map-Project"><kbd>ASSETS</kbd></a>

[![Photo of Imperial Assault skirmish game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qro9li6l4wp6l507uf96.jpeg)](https://github.com/nickv2002/Imperial-Assault-Skirmish-Map-Project)<center><sup><strong>Fig 11:</strong> Never played this before? Support your local board game store and buy a copy now!</sup></center>

If you play the [Star Wars: Imperial Assault board game](https://boardgamegeek.com/boardgame/164153/star-wars-imperial-assault), this repo helps level up your board game night with high resolution images for each skirmish mode map.

## 10. Star Wars Racer <a href="https://github.com/OpenSWE1R/openswe1r"><kbd>SOURCE</kbd></a>

This is an [open source port of the Star Wars Episode 1: Racer game](https://github.com/OpenSWE1R/openswe1r) from the 90s. I haven't tried building and compiling this one yet, but it's on my `// todo` list.

[![Open Star Wars Episode 1 Racer title screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxjtw7dgy2m5bu8cis1w.png)](https://github.com/OpenSWE1R/openswe1r)<center><sup><strong>Fig 12:</strong> Title screen for an open source remake of Anakin's racer game.</sup></center>


## 11. There's an ~~app~~ API for that <a href="https://github.com/Juriy/swapi"><kbd>SOURCE</kbd></a><a href="https://swapi.dev/"><kbd>WEBSITE</kbd></a>

Have you ever found yourself looking for a database of all things Star Wars and never found it? Well, you've obviously been looking in Alderaan places.

[SWAPI](https://swapi.dev/) is an API for data on Star Wars movies' planets, ships, species, and more that you can leverage to build something fun.

**Did you know?** In addition to `JSON` there's a [`Wookie` format](https://swapi.dev/documentation#wookiee) available?!? Just append `?format=wookiee` to your URLs and ~~voila~~ [_huurh uuh_](https://www.wookietranslator.com/)!

```
$ curl https://swapi.dev/api/planets/1/?format=wookiee
{"whrascwo":"Traaoooooahwhwo","rcooaoraaoahoowh_akworcahoowa":"23","oorcrhahaoraan_akworcahoowa":"304","waahrascwoaoworc":"10465","oaanahscraaowo":"rarcahwa","rrrcrahoahaoro":"1 caorawhwararcwa","aoworcrcraahwh":"wawocworcao","churcwwraoawo_ohraaoworc":"1","akooakhuanraaoahoowh":"200000","rcwocahwawowhaoc":["acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/1/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/2/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/4/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/6/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/7/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/8/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/9/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/11/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/43/","acaoaoak://cohraakah.wawoho/raakah/akwoooakanwo/62/"],"wwahanscc":["acaoaoak://cohraakah.wawoho/raakah/wwahanscc/1/","acaoaoak://cohraakah.wawoho/raakah/wwahanscc/3/","acaoaoak://cohraakah.wawoho/raakah/wwahanscc/4/","acaoaoak://cohraakah.wawoho/raakah/wwahanscc/5/","acaoaoak://cohraakah.wawoho/raakah/wwahanscc/6/"],"oarcworaaowowa":"2014-12-09T13:50:49.641000Z","wowaahaowowa":"2014-12-20T20:58:18.411000Z","hurcan":"acaoaoak://cohraakah.wawoho/raakah/akanrawhwoaoc/1/"}
```
<center><sup><strong>Fig 13:</strong> Cool!</sup></center>

![Chewie dealing with it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e95yuubj5aebhzzmngo8.gif)<center><sup><strong>Fig 14:</strong> HRRRGRGRAR 😎</sup></center>

## 12. Star Wars Scroll  <a href="https://github.com/KasselLabs/StarWarsIntroCreator"><kbd>SOURCE</kbd></a> <a href="https://starwarsintrocreator.kassellabs.io/"><kbd>DEMO</kbd></a>

Notice how I made you... _scroll_ down to the bottom to get to this one? Get it? Scroll? Nevermind.

[![Star Wars intro screen roll showing feature projects' authors](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jdm4wgvzqntyec0hq1nn.gif)](https://starwarsintrocreator.kassellabs.io/)<center><sup><strong>Fig 15:</strong> Do you hear the Star Wars or the Spaceballs theme tune?</sup></center>

Spice up your webinars, presentations, Zoom backgrounds and more with this [Star Wars Opening Crawl Generator](https://starwarsintrocreator.kassellabs.io/). Or to credit the authors of any open source projects you've featured on a blog post.

**Did I miss any projects?** Leave a comment below!

![Never underestimate the power of open source](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6wqyv88bfea2nt9u0ju.gif)

<center><sup><strong>Fig 16:</strong> And remember....` /s/SCHWARTZ/OPEN SOURCE`</sup></center>

---

Many Bothans died to bring you this information. 
<sup>Originally posted on Wookieleaks.</sup>