Today I wanted to showcase the various tools I’ve used developing Eden. I specifically want to point out that everything in this list is absolutely free except for Aseprite (and it’s very reasonable). Everything in this list is outstanding at what it does and I wouldn’t include it if I haven’t been impressed in more than one way with each tool.
This little sprite editor is quite stellar for creating and editing sprites, its specifically designed for creating pixel sprite game assets. One of the features I like most about it is it’s ‘shading mode’ where you can pick a palette of colors and as you continue to paint over already painted pixels, the colors will automatically move through that palette to put colors down. If you choose the same color in different shades and use this, you get very effective shading with minimal effort. It also supports animation, layers, a variety of useful tools with properties to change them and is actually a joy to use because it doesn’t feel like a ‘business’ app, it’s presented in the same lo-fi pixel way as the sprites it helps you create! I purchased my copy on Steam because I like Steam and it keeps me up-to-date.
Most people probably know about Paint.net but if you don’t you should grab a copy. It’s been around for some time now and in my opinion it’s a better version of Gimp or a poor man’s version of Photoshop. Granted Photoshop isn’t that expensive these days with their monthly subscription, I find it to still be overkill and I probably don’t know or utilize all the power Photoshop provides. Instead I have used Paint.net wherever I needed something that Aseprite couldn’t provide (not often). It’s free and there is an intuitive-ness about it that I was never able to get out of Gimp; I think it’s just the platform differences of the two. Paint.net provides a ton of features as well as plugins to get a lot of things done.
Of course it should come as no surprise that I’m using Monogame as the framework for developing the game, for two important reasons. The first is that Eden is a 2D game at it’s core, so there is very little need for 3D abstractions. The other is that Monogame is the descendant of XNA after Microsoft abandoned it. I spent enough time in XNA that Monogame was very familiar to me when it came time to choose a framework on which to develop Eden. Aside from those personal reasons, Monogame is an outstanding framework that makes getting up and running with the needs of any game, very quick and easy. There is a large community of support and plenty of tutorials and articles out there. Most importantly, it is also actively developed by the open-source community and has been used for a variety of very successful games.
It’s almost silly to talk about json as it’s basically used in every website or web application out there at this point. Simply put, here in 2018, physical hard-drive space just isn’t as costly as it used to be, so we don’t have to worry as much about the size of things (we must always be reasonable I’d argue). When it comes to serializing information, I know of few better ways than the use of json, simply because it is widely understood and supported and it is very easy to read as a human. Of course it is not as compressed as binary information, but unless it’s a mission critical app or feature, I just don’t think it’s that important. Unsurprisingly, I serialize (saving/loading) all data in Eden using json via the outstanding Json.NET library. This makes debugging incredibly easy and makes serialization a lot less complicated overall.
I’ve written about GeonBit.UI several times before but I’d be remiss to not include it in a development tool list like this. It’s simply the best UI library I’ve found available for Monogame and is continuously developed and supported by its author Ronen Ness. Out of the box you are provided a variety of controls that are considered standard (check boxes, input boxes, drop downs, sliders, etc.). You also get a good looking UI as well, the art assets included are free for public use and they fit very well with any lo-fidelity game. That isn’t to say it couldn’t work with hi-fidelity graphics, but one might want to re-skin the UI elements to match, which is completely possible due to the theme system available and it couldn’t be easier; just replace graphics or introduce new fonts, etc. There is also support for multi-colored text, custom controls and widgets and a lot more. I have yet to find a limitation of the GeonBit.UI library and I often find those limitations particularly when it comes to UI development; I’ve been highly impressed. I think it’s one of the most powerful libraries I’ve ever used that I was able to learn very quickly and never got any more complicated than that, its intuitive and ‘just works’. I cannot say that for many other products, commercial or otherwise.
Specifically Visual Studio 2017 – Community Edition. While I see others have had issues in VS 2017 I have to say I find Visual Studio 2017 to be the best and most stable version of Visual Studio I’ve ever used (I’ve been using it since before the dawn of the .NET Framework), whatever others are running into, I just haven’t experienced them. This is a solid IDE and incredibly it’s free. All the features and tools that come in the Community Edition are all anyone needs to make a game, website, web app, desktop app, etc. The thing even comes with a CPU and GPU profiler, built-in and available, that’s unheard of! All programming on Eden has been done with Visual Studio, I simply see no reason to use anything else. Anyone even remotely interested in learning programming is incredibly lucky to have tools like this (and others) available to them for free, take advantage of that!
Every screenshot, GIF or video I’ve taken to showcase Eden has been captured using SteamX. This screen capture tool is awesome for a variety of reasons. It provides pixel-perfect selection for taking a screenshot or video. It lives in the task bar so it’s always available and it’s free. I’m floored by how much quality software is available free of charge these days, it’s incredible. I use the version available (for free) from Steam simply because it keeps me up-to-date and I like Steam. It even lets you upload your screenshots and such to many of the cloud-based image/video sharing services out there, I don’t use this personally but it’s clearly a very useful feature for those who do.