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!
Work on Phase 2 (ships! exploration! empire!) starts tonight. Broadly, here is my current planned order of work.
1. Display fleets – show fleets on map and allow them to be selected
2. Change ship designs – allow player to choose which ship design he wants to build on a colony. This could include a stargate, which would also be drawn on the map.
3. Fleet design listing – the screen that shows the current active designs (up to 6), with the ability to scrap a design. A pretty simple screen.
4. Create new ship designs – The Ship Design UI is a complex beast and one of the most important UIs in the game. I’ll get on it fairly early.
5. Send fleets to destinations – provide the ability to send fleets to other systems. Will need to account for stargates and hyperspace communications.
6. Fleet arrival events – things that happen when you get where you are going. Scouting new systems. Learning a technology for being the first to scout an artifact planet. Colonizing planets.
7. Fleet status screen – the UI that shows all of the player’s fleets and where they are at or going to.
8. Strategic Map – the map that shows the entire galaxy and various aspects about the races and planets in it.
9. Colony listing – the UI providing information all of the player’s colonies, empire-wide income and expenses, and the ability to transfer from the empire reserve to a colony.
The hope is to have this done by the end of June. We’ll see. There are a lot of large UIs to do but this is all very straightforward work.