DEV Community

Cover image for 12 open source projects for #StarWarsDay
Lee Reilly
Lee Reilly

Posted on • Updated on

12 open source projects for #StarWarsDay

A long time ago in a galaxy far, far away, I built an app using Python and Zope (yes, it's still around) for generating Star Wars names - 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 aka #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? SOURCE

TensorFlow's object detection API identifying some mischievous droids

Fig 1: It's terrible at spotting hot dogs, but it can spot a droid from 12 parsecs.

Why, yes they are! The Star Wars Object Detection repository 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.

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 πŸ‘ŒπŸ»

Fig 2: Nice try, Ben. These are the droids we're looking for.

2. Star Wars themes for Hyper SOURCE

Screenshots of various Star Wars themes for Hyper terminal

Fig 3: Lots of colorful backgrounds with character.

Hyper is my goto terminal for a variety of reasons ⁠– ⁠try it 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 for example.

3. Transition to the dark side SOURCE SOURCE

Star Wars-style MVC transition for mobile

Fig 4: The original switch to dark mode UI.

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 sleek animations in just about every project transitioning from one screen to the next.

4. Star Wars Roguelike SOURCE PLAY

Animation of Star Wars roguelike game

Fig 5: Still waiting on your new GFX card? This game should run alright.

If you like old school roguelikes games like NetHack or Cataclysm DDA then you might enjoy this GitHub Game Off entry 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 s for the ever-satisfying lightsaber noise. Ffffkrrrrshhzzzwooooom..woom..woooom!

5. Mando 'Puter SOURCE

Screenshot of device showing Mandalorian characters

Fig 6: Klingon or Mandalorian?

With approximately 25 weekends between now and Halloweeen, why not augment your costume with a real replica computer display that shows Mandalorian characters. Just be careful going through airport security and/or metal detectors.

6. WebGL X-Wing SOURCE PLAY

World's worst animated GIF trying to show this WebGL X-Wing demo in action

Fig 7: Can you believe the things you can do in a browser these days?!?

Nothing will ever beat the original X-Wing game on the PC. 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 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 SOURCE

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. (I too was disappointed that Danny Trejo wasn't consulted on this.)

Machete order disappointing

Fig 8: I sure hope that Machete or his lawyers don't see this 🀞🏻

I really can't believe this isn't part of the standard library, but for the Julia programmer​s among you, this package 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> 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
Enter fullscreen mode Exit fullscreen mode
Fig 9: I've been staring at this for hours and still don't get it. That CS degree came in real handy.

8. Faker SOURCE

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 (available in most languages), but for a nice Star Wars touch, consider using jedi-faker, which as the name might suggest, is a Star Wars-flavored version of the original faker libraries.

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

9. Imperial Assault++ ASSETS

Photo of Imperial Assault skirmish game

Fig 11: Never played this before? Support your local board game store and buy a copy now!

If you play the Star Wars: Imperial Assault board game, this repo helps level up your board game night with high resolution images for each skirmish mode map.

10. Star Wars Racer SOURCE

This is an open source port of the Star Wars Episode 1: Racer game 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

Fig 12: Title screen for an open source remake of Anakin's racer game.

11. There's an app API for that SOURCEWEBSITE

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 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 available?!? Just append ?format=wookiee to your URLs and voila huurh uuh!

$ 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/"}
Enter fullscreen mode Exit fullscreen mode
Fig 13: Cool!

Chewie dealing with it

Fig 14: HRRRGRGRAR 😎

12. Star Wars Scroll SOURCE DEMO

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

Fig 15: Do you hear the Star Wars or the Spaceballs theme tune?

Spice up your webinars, presentations, Zoom backgrounds and more with this Star Wars Opening Crawl Generator. 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

Fig 16: And remember..../s/SCHWARTZ/OPEN SOURCE

Many Bothans died to bring you this information.
Originally posted on Wookieleaks.

Top comments (0)