New planet screenshots

Below are a couple of screenshots to give an example of the recent changes to the planet generation code. Currently, the cloud layer is not being drawn as I am still working through some issues with integrating the NASA cloud maps into the new code.

The color maps I am using will get tweaked a lot but I have a lot more depth to work with now. And because there are more pixels, the rotation of the planets no longer looks jerky.

Example terran planet (Earth analogue):


Example Dead planet (Mars analogue):


Example Toxic planet (Titan analogue):


What the low-res planets used to look like (anything larger had serious pixelation issues):




It’s been a while since the last post, so I thought I’d give a quick update. I’ve spent the past two weeks improving the animations to make them faster while dramatically decreasing the overall size of the game. In addition, I’ve completely rewritten the planet generation code to provide higher-resolution images of rotating planets needed for a few areas of the game. Currently, all that is left of that activity is getting the cloud layers to look better. The hi-res cloud maps from NASA are not hi-res enough, so I have to write an algorithm to intelligently upscale image to a higher resolution. Yes, literally a “zoom and enhance” feature.

Petar, our illustrator, has been out sick for a week but should start having some Alkari illustrations in short order.

Jeff, our writer, has finished the Silicoid backstory and their race-specific dialogue which I will be incorporating into the game tonight and tomorrow.

After that and the cloud images are done, I’ll continue work on the Phase 3 game functionality.

I composed a detailed roadmap for the project, created a Steam forum, and posted the roadmap here:

More stuff on the way, as always.  🙂

Artwork: Psilon Diplomat

Here’s another round of amazing artwork. This stuff just blows me away every time I get a new sample.  I wanted to work a female Psilon into the game  somehow because we’ve never seen any but surely they exist within the Master of Orion universe. Well, now we now what they look like…

Also, if you use twitter you can now follow development at @JavaMOO. There will occasionally be previews of art that you won’t see on the blog and I hope that it will be a good public discussion area of anyone who wants to talk about the game.



Why Java?

In the past couple of weeks, a couple of different people have questioned my use of Java to create this game. One on reddit, another on twitter. For those interested, I’ll be happy to give an explanation.

First off, let’s dispense with the religious arguments. There are people who treat programming like a religion and are quick to criticize anyone who uses a language they don’t prefer. I am not one of those people but, when you see criticisms keep in mind that a lot of them are dubious and based on subjective rather than objective criteria.

As a professional software developer for almost 30 years, I have written graphical applications in C, C++, Smalltalk and Java. I’ve even dabbled in Objective C for iOS applications. When you work for businesses, you learn rather quickly to set your personal preferences aside and choose what looks to be the best (i.e. cheapest and fastest) solution for a particular problem.

When I originally started Java MOO over a decade ago, it was to learn Java and writing a fun game seemed like a good way to stay motivated. When I restarted this project in February, Java still seemed like the best way to go although I did briefly consider other languages.

For performance, you can’t beat the C programming language. It has been called a useful abstraction of assembler, and that description fits pretty well. C++ is basically C with object-oriented abstractions built onto it. Java and Smalltalk are built from the ground up as object-oriented languages and have built-in garbage collectors (unlike C,C++). C#, or “C-sharp” is basically just “Microsoft Java” and brings little new to the table at the cost of portability, although it certainly has its supporters whom I have no doubt offended greatly.  I DON’T CARE. YOU ARE ALL ON THE DARK SIDE!

To me, the tradeoff is between performance (C,C++) vs. development time (Java,C#). While the built-in garbage collector makes Java/C# slower, it is also the very thing that speeds application development with a higher quality. To give you an idea of what that means, Minecraft was written in Java by one guy.

Let’s remember that Master of Orion is a turn-based game with 2D graphics. In other words, high performance is not a concern. There is no need for 3D graphics rendering or even to use 3rd-party engines like Unreal, which is written in C++.

Given that, either Java or C# would be preferable development choices. And since Java applications are designed to be portable across multiple operating systems, that gives it the edge over C#. With no additional effort on my part, Java MoO automatically runs on Windows, Macs and Linux boxes. 🙂

Those are the reasons. Java is a great universal language, as are C, C++ and C#. But Java fits this project better, imo.

Final note: I feel like I shouldn’t even have to mention this, but there also seems to be some fear-mongering that Java is a security risk for computers. This is absolutely untrue for Java applications (like Java MoO). It is true, however, for Java plugins for your browser which allow websites to run remotely-loaded Java applications on your PC. You should not be doing this and I believe that all of the browsers come with Java plugins disabled, so it’s not even really an issue. It makes for great clickbait, though.

More espionage features

ok, the ability to choose which technology category you want to steal from is now functional. All that is left is the ability to frame races, which comes next. Below is the UI for choosing the category. It will probably get some additional visual polish, but it’s good enough now to move onto to the next piece.