Pre-Order the Game!

Desura Digital Distribution

Friday, July 26, 2013

Fleet UI

I've replaced the old fleet UI (the ugly blue box with no art whatsoever) with this new spiffy UI!

What it features:
Clicking on a point in the galaxy will grab all fleets that is overlapping that point (even if they're not on top of each other exactly).  No more frustrating careful clicking to get to that fleet that you want when two or more fleets are overlapping.  It lists fleets on top of the UI.

Hovering above a ship's box in list of ships will display that ship's sprite for easy visual reference.  I chose this approach because otherwise I'd have to allocate 160x160 pixels for each row, lots of empty space.

When you issue an order, it will split out that fleet, then automatically select rest of the idling ships.  So you don't need to click on the idling ships again (such as sending out scouts in beginning of game).  Selecting fleets now feels more intuitive and is robust.

Under the hood improvements and cleanup.  Oh, I forgot to mention that both System View and Fleet View windows are movable, so you can drag them around if they're blocking your view (I show this in right part of the below screenshot).

Now for the screenshot!


Thursday, July 25, 2013

Ship relocating UI done!

I've finished the validation stuff for both ship relocating and population transferring.  I also implemented the UI for ship relocating.  For the screenshot, I temporarily disabled the validation stuff, aside from fuel range restriction.  Green line is population transfer, blue line is ship relocation:


I'm putting the planet UI on hold now, since it's functional (can build buildings, can generate research points, can set relocation/population transfer).  Next up on agenda is re-doing the fleet UI and adding space/cost/power values to technologies so that eventually I'll be able to re-do the ship design UI.  After those two, colonization and the accompanying UI.

The pieces are starting to fall into place, and the game will soon be playable again!

Wednesday, July 24, 2013

Population Transfer

The UI for population transfer, as well as path display for it are done.  There's some validation stuff that I need to add (checking to ensure that the system is explored and colonized), as well as end-turn processing that generates the actual transports and subtracts population, but most of the hard work is done.  I'll let the screenshots speak for themselves.  Note in the screenshot, I added a selection border around selected system, tooltip when hovering above button, two buttons under the planet ui's sliders (relocate and transfer), and green path for current transfer plus amount of people transferring in bottom left of UI.  It's ironic that the system's random name is "Lies", this is all truth, I insist!


As always, I welcome your feedback!

Monday, July 22, 2013

Demo Races uploaded, and race tidbits

I created a demo version for each race that the artist completed (Nurds, Araneas, Velociraptors, and Pyrrhans), and uploaded it to the repository.  Each have a simple triangle ship artwork for each of the ship design, as well as stick figures/houses for ground combat.  The main portrait is the same as normal version, but the happy/angry expressions re-uses the main portrait, with "Angry Expression!" and "Happy Expression!".  This is to enable me adding all races in the game without using the paid version of assets.

So there's only two more races left that are still missing their artwork before I have a full set of races for MoO 1-esque gameplay (Don't worry, the other three races will come in later for MoO 2-esque gameplay, when the artist finishes those).  Currently the artist is working on the "BNN" artwork (Think GNN, but Beyaan News Network instead) and the associated event images.

Since obviously Beyond Beyaan's races are different from MoO 1, here's the list of which race replaces which race, inheriting that race's bonuses/penalties:

Humans - Humans (Duh)
Nurds - Psilons (both nerd races)
Pyrrhans - Alkari (Since both are birds)
Salix Cybornia - Klackons (Since tree cyborgs are half-machine, they're more productive per pop than regular)
Zero People - Meklars (Computer, control more buildings)
Velociraptors - Bulrathis (Good at ground combat)
Space Hamsters - Mrrshans (Good at attacking)
Araneas - Sakkras (Ever see a mother spider with baby spiders on its back? eww, they sure reproduce a lot)
Morions - Silicoids (Both types of rocks)
Zygobies - Darloks (Since Zygobies takes over hosts' body, it also takes over their mind, therefore good at spying)

Later, when I start work on adding MoO 2 features, those races will take over the MoO 2's races:
Pudelhunds - Gnolams
New race (Unannounced yet) - Trilarians
Kickstarter-backed race (still haven't finalized details) - Elerians

As for code-wise progress, right now, I'm adding population transfers and relocating new ships features.

Wednesday, July 17, 2013

Fuel Ranges

I investigated MoO 1, and measured its parsecs in pixels (if you turn the grid, lines are spaced 5 parsecs apart.  DOSBox upscales the screen from 320x240 to 640x480).  I found that 5 parsecs equals 100 pixels, so 1 parsec = 20 pixels.  I then measured the star sprite, it's 11 pixels.  I then compared my star's sprite, which is 32.  Almost exactly 3 times bigger, so I've set my game's 1 parsec to be equal to 60 pixels.

Then I implemented fuel ranges, mostly.  There's some bugs and some polishing-up that I need to do before it's complete.  While implementing this, I thought, it's kinda annoying having to click on a star with your scout, and see if it's within range.  If not, click on another star, and so forth.

So I decided to add a visual layout of your fuel range.  This can be toggled on/off by pressing the "F" key (I will later add radar range layout when I get to radar code).  You can see two circles in the below screenshot, the normal range and range with extended fuel tanks.  On left, the destination is within range, while on right, due to colony ship having no extended fuel range, the destination is out of range.  What do you think?  Something that you'd use?


Monday, July 15, 2013

Technologies

While working on the planet UI, I studied on how missile bases work (how much they cost, etc), and realized that in order to get this UI correctly working, I'll need to implement technologies first.  Missile base's cost and maintanence relies on which shield, missile, armor, etc that you have, plus any minitaurization.

So I'm in progress of implementing technologies now.  I've committed some large changes, which breaks the build.  There's still a lot to be done, but for those who's interested, I've implemented how MoO 1 researches new technologies (investment, interest, and chance of discovering the tech).  So if you want to see how it's done, check out my changes.

Hopefully within the week, I'll have a working technology system, then I'll finish up the planet UI.  After that, it's ship designing and ship construction, plus colonizing new planets.

Thursday, July 11, 2013

Artifacts Found!

Over on Realmsbeyond.net forums, someone sacrificed their Master of Orion strategy guide and scanned it into a PDF.  I obtained a copy from him, and looked through it.  O____O!

It might be a design document for the game for all the details it contains!  400 pages of goodies, including how races' home systems are set up, rules for random planet generation, many formulas for how things works, and even how the AI battles in tactical combat, as well as how they decide which system to attack.  In the guide, they said they pored through the source code, and the guide is based on version 1.3, which explains their in-depth knowledge of the game.  This is a huge boon!  I've added the PDF to my project SVN, so go ahead and check it out!  I'm not sure about legality of this, but since it's not in print anymore, and to re-print it wouldn't be profitable, I think it should be fine.  If you or you know someone that objects, let me know, and I'll remove it.

I learned something new from the guide, when you're in main menu, press and hold ALT, and type "TUTOR", it'll start a pre-set game in simple difficulty!  I never knew it had this!  The guide then tells you what to do turn by turn.  So, pretty amazing stuff!

Tuesday, July 9, 2013

Planet Production getting there

I think I've finalized the look of the planet UI.  I also implemented part of the planet's production stuff, specifically the "buildings" (they're factories in MoO 1, renamed to "Buildings).  Here you can see that I'm building them, on left I haven't reached the max amount of buildings yet.  In middle, it will reach the max, and will generate BC from the excess production.  On right, it've built the max amount of buildings, so all production is generating BCs.

I think that this is a bit more clear than MoO 1's "RESERVE" which don't tell you how much is being added to your reserves.  Later when I add advanced controls technologies, I will show "Upgrading (XX%)" when refitting older buildings.  Not sure how I should handle the "MAX" when you're building more than you have the population to operate them.  Speaking of which, does those factories still produce pollution even if there's nobody to operate them?  How does refit work exactly?  The manual said it's the difference in cost between two levels of technologies, but that's not very clear...

Still got some work to do before this UI is done, but this is one of the most important UI in the whole game :)  What do you think of it?  Is it clear (Click the image to expand)?  I found the awesome font that feels very similar to MoO 1's font (for reference, I added a screenshot, look at top two lines and see the font I'm talking about), I hope it is legible :)



Sunday, July 7, 2013

Pyrrhans race, Demo approach, and MoO 1 mechanisms

I would like some feedback on an approach for the demo version that I'm considering.  Since the game is open-source, the only way I can make a demo version is by including only the demo assets.  However, since some racial attributes will be hard-coded at this point, I will need to include races.  So here's what I'm proposing:  I will include each race's neutral portrait, and add a sign on bottom that says happy or angry for those two extra expression portraits.  For ships, ground troops and other artwork, I will draw triangles (think old asteroids triangle ship), stick figures and other simple artwork.  So those races will be in the game, and will be added to the repository, but in order to enjoy the "Full" experience, you'll need to buy the game which will give you the full artwork.  What do you think of this approach?

The artist just finished with the Pyrrhans race, so I'll show what I mean using their portrait as an example (Also showing one of their ships which are pretty cool):

Yeah, that's newspaper on the floor.  Despite their advanced technology and cool ship designs, they can't figure out how to get their bowels under control. :)

Now for the last part, here's what I've uncovered with Master of Orion and how it plays that most people may not have known, and some questions for those who may know the finer details:

1. Remember that when you research a new item, older items reduces their space and cost usage?  I thought that was why the colony special could fit on a medium ship later in game.  But what I didn't realize is that ship space also increases based on construction tech level!  In the manual, it says that ship space increases by 1% per construction level.  When I checked this in-game, it was actually 2% (manual was based on version 1.2, it may have changed in 1.3 or later).  So what this means is that at level 100, the ship space has tripled.

2. I thought that when you select an engine for a ship design, its size would be constant.  I was wrong.  Anything that uses power increases the number of engines required.  This explains why when adding a shield that has 5 space in small ship, it actually uses up 10 space.  The extra 5 space was from engines being added to power the shield.  Now, does anyone have an exact formula for number of engines required?  Does higher level engines have the same number of engines for the same level of power?  How much power does the base empty ship hulls require?


Friday, July 5, 2013

More work on planet UI

Things are starting to fall into place for the planet UI window!  I'm still working on it, but I think I've got the final layout for it!  The UI isn't fully working, but most of it is there.  I plan to add lock button on right of each slider, then flesh out the code behind the UI so that it interacts with the planet data object.  A preview, what do you think?


While we're on the topic of planet management, there's a few things that I need some clarifying on (I tried looking them up, but got general concepts on how they work, not the actual formulas) (Note also that one unit of production on a planet is equivalent to 1 BC):

I looked at how production is calculated in MoO 1.  What I don't get is the extra 1.  The idea is that at level 1 tech, each population produces 0.5 BC (aside from klackons, which doubles population's production), and each factory produces 1 BC.  So starting with 50 pop on normal difficutly, and 30 factories, it should be 55 production.  However, when I looked at MoO 1, it starts with 56?  Where's the extra 1 coming from?

How exactly does reserves work?  I know that if you put 100 production into reserves, it stores 50 BC.  But what happens to production when you put money into a planet (I know it boosts production, but I need to know the exact formula)?

How much pollution does a factory produce?  1 BC? Does it cost 0.5 BC to clean up 1 BC pollution as per a guide I found?  So if I have a tech that reduces a factory's pollution to 80%, it means that it's now 0.8 BC of pollution per factory, and therefore costs 0.4 BC to clean up?