The next UI I have been working on is the Colony listing — available via the “Planets” tab. One has to play the game a bit to get enough data to test this screen and I was soon sidetracked by a bunch of little annoying bugs that I was compelled to squash before continuing. Those were all taken care of today, allowing me to smoothly progress from a single, starting colony to the entire galaxy with no issues at all. Below is a screenshot example. I use the Silicoid race for this testing since they do not require discovering colonization techs to expand.
All of the systems, except for two without planets, have been colonized. I’ve highlighted the Orion system (its Guardian ship will be added in Phase 3 or 4) and you can see that the randomly generated planets can have ice caps now. Realistic clouds are on the list to be done soon!
Below is a very early mockup of the Colony list. It still has a lot of work left but this is where I stopped to focus on bugs. The columns are sortable (unlike the original game).
I expect this UI to be done next weekend.
I’ve spent the past week or so doing a lot of little polishing items that have been starting to accumulate. Most are not worth screenshots or even mentioning.
When I decided to start on the screen when a player is notified that a new system has been scouted, I wasn’t given much to work from stylistically from the original Master of Orion game. Here is what the old system scouted notification looked like:
It’s basically a brief interruption during the Next Turn process. I thought it should be more interesting. Here’s what I did… First of all, I scavenged some code I had written from an earlier personal project in which I randomly generated planets and rotated them in 3D. To make sure I had that code working, I replaced the existing planet displays with the random, rotating planets. Below is an example of a randomly generated starting world (top right), but you obviously can’t tell that it is rotating:
Anyway, once that was working I developed the “System Scouted” notification. In the screenshot below, you have to imagine the text displaying character by character, with an electronic teletype sound. The planet starts off in the distance and gets closer, rotating the whole time. All I need is a nice graphic of a spaceship (TBD later when I find something suitable) and this screen is complete. However, it is much nicer than the original MOO notification.
Progress continues and the game is starting to liven up with more built-in animations and some beginning sounds!
Thanks to the LBX extraction utility provided by the creator of Beyond Beyaan, I was able to get all of the various racial images in the original Master of Orion game and provide animations in Java MOO. It took most of the weekend… 10 races, 3 of the 4 graphics, 25 frames each… you get the idea.
Anyway, I needed the “Trooper” animations since they are used when you learn a technology by being the first empire to scout an artifact planet. As a example, below are the trooper and scientist screenshots for the Darlok empire:
You can’t see the animations in the screenshots, but they are there. Below is the Meklar trooper, which was cleaned up a bit from the seemingly unfinished version in the original game shown afterwards (the unfinished area is concealed by the technology description).
Master of Orion 1:
I’ve completed the strategic galaxy map in the game which gives you a galaxy-wide view of colonized systems, environment types, and planetary resources.
This view is done*… meaning that it meets my original goal but will nevertheless get some enhancements. In particular, the “Colonies” view is not very useful — just like in the actual game. I’ll probably add missile base and planetary shields info and convert it into a “Defenses” view instead.
Here is a sample screenshot of the “Environments” view. It’s almost identical to the original game except now you can see which planets would be habitable if you completed technologies currently available for research:
Here is the “Resources” view, which is identical to the “Minerals” view in the original game.
The additional enhancements to this screen, for Defenses, will be easily completed this weekend along with some other odds and ends.
Since I originally did not plan to start Phase 2 until April and I’m already halfway through with it, there’s no point in pretending that it won’t be done until the end of June. Barring some unforeseen circumstances, I should be done with this phase by the end of May and starting on Phase 3 (Races and Diplomacy) in June.
Deploying fleets is in. Basically, you can select a fleet (which can contain multiple stacks of ships), pick a subset of those ships and then send them to another system. Pressing “Next Turn” will move those ships along until they arrive at their destination.
I have a hit list of tiny bugs to fix and features to verify (stargates, hyperspace communication), but a player can now design, build and deploy ships across the galaxy. Colonization is not in yet, but there will need to be a bit of image scraping before that can be done.
Here are some sample screenshots…
Below you can the error displayed when a ship cannot reach its destination.
However, as seen below, that same destination may be reachable by a ship with reserve fuel tanks. The destination line turns green and an Estimated Time of Arrival is displayed.
Finally, after a few presses of “Next Turn”, two of the 3 ships deployed arrive at their destination, which are immediately scanned by the ships.
Still a few kinks to work out but, once they are done, I’m switching to the “Map” UI.
The ability to design and build customized ships in Java MOO is complete. All of the options in the original game are implemented. All that is left is visual polish, which I will be working on for a few more days.
The screenshot below provides a good example. I played the Psilons for about 120 turns or so, learning a bunch of technologies. I then designed some large ship and built about 5 of them on the home colony. You can see the configuration for this ship below.
I’ve settled on a greenish-tint for this UI. There are still some minor visual bugs… The Ship Icon on the bottom is oversized. The weapon damage values should be centered…. I need to verify all of the textual descriptions of the various weapons and ship specials. The specials have descriptions, but they’re not being displayed at the moment. Bad coding, obviously.
Below is the selection panel that comes up when you want to select a new ship weapon. I still need to implement scrolling for really long lists, but that’s a trivial point. Also, the numbers should be right-aligned (although they are left-aligned in the game).
Finally, below is a screenshot of selecting Ship Specials. Please note that all of the other selection options (Computer, Shield, ECM, Armor, Engine and Maneuverability) are also working. You can see how I placed a green haze over the underlying UI to make it clear that you can only interact with the selection panel.
I expect maybe 2-3 nights of polish on this feature and then I’ll move onto the next step of Phase 2… Sending ships out to other planets to scout and colonize.
Fun stuff! I am very pleasantly surprised with my progress so far.
Phase 2 work is well underway. I am wrapping up “Step 3” in my earlier post, the UI for displaying and scrapping ship designs. Because of the blandness of the original UI from MOO1 and also overlap of this functionality with the Ship Design UI, I have decided to combine the two UIs into one.
This not only simplifies the development but also improves the player experience since you no longer have to jump to a new screen to scrap obsolete designs.
Below is an early mockup of the ship design UI. Right now, you can display, scrap or build a design… but you cannot modify one. That will come next week and requires a bit more UI work.
And here is a version of the game UI that I made when I was first learning Java. I think there’s a huge difference!