The Open-Source Game Development Pipeline

Providing the means and education to create games using free/libre open-source tools.

Leave a comment

Happy Holidays!

Howdy, folks!

Been incredibly busy due to a new move and starting a new position. In not surprising news… I’m back to my “from scratch” game engine. XD

I’ve updated the “Tools” page with Inkscape (an SVG editor) and “Irrlicht” (which is the 3D renderer I use). The addition of Inkscape is definitely long overdue. 🙂

I hope all of you readers are having a safe, fun holiday season. 2017 will be an interesting year… >_>


Leave a comment

F# Already Did It

Soooooooo… I’ve been pretty busy, which is why I haven’t been posting that often. However, now that things are moving again, I wanted to write about something that I think developers would find useful.

As I mentioned in my last post, languages like Rust and Swift are designed to move beyond C++, introducing some syntatic sugar and other goodies to lure you away from what has become a very old language. Even though you can probably create anything in C++, it also allows you to get in your own way very easily.

Syntatic sugar tends to help ease new programmers into a particular language, as well as learn other programming paradigms. If you look at Swift and Rust, however, you’ll notice that they’re kind of similar.

So, why are they similar? Why create two languages that adopt the “let” and “var” keywords (“var” is adopted from JavaScript and C#, and “let” from JavaScript, C#/Linq, and F#) only to have them competing for market share? It is true that .NET remained closed-source until 2014 (even though Mono, its Free/Libre cousin, had been open for ten years), the same year that Apple also unveiled the Swift Programming Language (which was closed-source at launch); Rust (which has always been open) had been around for 4 years at that time. Why saturate the market further?

Now let’s talk about F#.

F# has been around since 2005. It introduced tuples, pattern matching, and python-like indentation sensitivity all wrapped up in a neat functional package. It also has the benefit of interoperating with C# code and building on top of advances made by the various .NET languages that preceded it. Simply put, if you look at Rust, Swift, and F#, you will see that the former two languages clearly borrow from the latter.

Tuples (F#)

Tuples (Rust)

Tuples (Swift)

Those are just to whet your appetite. Perform a web search for the other similarities and you’ll see my point. 😛

Also, if there is ANOTHER point to what I’m talking about here it would be: try F#. Seriously. Give it a whirl.

The F# organization’s website is here and contains a link to installing the free F Sharp Compiler.

It is becoming stated by programmers more and more that Functional languages are the future… try F# (and Rust, and Swift too!) and see for yourself.*


*(Editor’s Note: “OCaml”)

Leave a comment

Update: 10-19-16

Howdy, folks! 🙂

After three years of working on it, I’ve finally ditched my from-scratch game engine. :O

After trying to bind all of my code to Rust (and Swift just flat-out not getting along with GNU/Linux), it basically hit me that the point of Rust and languages like it are to move beyond C++ entirely. Thus, all of my efforts to port my C++ code were in vain. 😦

This isn’t a bad thing, though! After taking some time to think about it, I’ve decided to return to Java and am currently re-evaluating JMonkeyEngine. I may even ramp up on the Spring framework while I’m at it, too!

Given that the point of this blog is to provide a sanctuary for game developers who want to utilize free software, I’ll be updating the tools page with this new bit of information.

I’ll probably elaborate upon my experiences with Rust in a future post, but for now, I’m convinced that it isn’t the right language for game development.

Cheers! 🙂

Leave a comment

Update: 9-8-16

Guten tag!

My time in Boston, MA went off without a hitch. The RISC-V conference was extremely informative, and I made some very important connections while over there. Gaming hardware companies like NVIDIA were present, showcasing their new RISC-V based graphics architecture. I don’t know how soon the public will get their hands on it, but hey, at least it’s something, right?

In other news, I’m currently getting my Blender skills up to speed with some videos on YouTube. I recommend checking out Darrin Lile, who is actually a certified Blender Instructor. His videos are VERY comprehensive, and they gently guide you along the tedious process of modeling, texturing, rigging, and animating. I feel a lot more confident now that I’ve watched some of his work.

I’ve heard some rumors that a new Blender update may be just around the bend. >_> Also, in checking out the LMMS GitHub page, it looks like this Digital Audio Workstation is inching closer to its 1.2.0 release. Exciting things are coming up!

Cheers! 🙂

Leave a comment

A RISC’y Proposition

Hey, hey, hey! 🙂

As you may already know, I’m a big proponent of Free/Libre Open-Source Hardware, and I came across this video while doing some prep work for the 4th RISC-V Workshop that will be going on next week. It (the video) encompasses a lot of my personal feelings about free hardware and also serves as a good introduction to the RISC-V Open-Source ISA. If you’ve got an hour to spare, I recommend you check it out.

There will probably be a lapse in updates due to my being out of town, but I’ll try to post some details of the event proceedings once I get back from Boston.

In other news, I’ve started tinkering with a Rust-based game engine called “Piston“. It basically takes the component architecture idea I did with my “from scratch” engine and translates it into Rust (through the utilization of dependencies like OpenGL, SDL2, etc.), so I’m feeling pretty optimistic about it. Plus, it gives me time to focus more on game design and asset creation, which would be a welcome change. 😛

I’m also experimenting with Elixir and functional programming in order to add those two skills to my tool belt. We’ll see how that goes.

As always, don’t hesitate to comment or reach out if you have any questions/feedback.

Cheers! 🙂