Pre-Order the Game!

Desura Digital Distribution

Thursday, June 28, 2012

Squadron movement

As you know, I've ripped out the grid-based movement and replaced it with star-to-star/starlanes movement.  Last post with a picture showed the pathfinding working.  Now here's a screenshot showing a squadron next to an just-explored star, and another on its way to the next star.

There's still some graphic bugs, but it's now all working!  Next up is the new UI for squadrons (selecting a squadron, creating a squadron, re-arranging ships in squadron, and population transfer).  At this point, I will check for any crashes or major bugs, and hopefully release the new version.  Sounds are coming along, I'll have to check with my friend on his progress.

Monday, June 25, 2012

Squadrons Part Deux

Alright, things have settled down, so I've started work on the game again.  So far, I've updated the data files to support squadrons (this means each race now can specify ships and squadrons when starting a game), and started on converting the UI to work with squadrons.

Ever since some commentators commented about clickfests in space combat, I've been trying to think of a better solution that will both allow you to appreciate your ship designs, and at the same time, reduce micromanagement.  Then I realized that the answer has been staring me in the face ever since I implemented squadrons.  Why not control each squadron as one unit in space combat?  The more I thought about it, the more it makes sense.  So here's my final design for space combat:

Each ship will have three component types:  Equipments, Weapons, and Specials.  Equipment are passive items that affects the ship's stats.  Weapons are active one-time use per turn.  Specials are similar to weapons, but affects an entire squadron.

Equipment includes engines, computer, shield, armor, etc.  System Engines will be discarded, simplifying the game to just one type of engine.  You can modify "combat movement" by modifying it in the Engine equipment window (Think of MoO 1's combat movement in ship design).

Time/Power units will be discarded, and movement will be hard-coded, and not handled in scripts.  However, there may be some specials that affects position of a squadron, such as a teleporter.  So it's still possible to modify ships' positions.  All ships in the squadron will move as one.

Shockwave weapons will be discarded, due to you handling squadrons instead of individual ships, and also because I can't think of a good way to implement a traveling shockwave in the current physics system.

Instead of one empire moving all of their ships/squadrons on one turn, it will process each squadron individually.  The order is determined by how long it takes to recharge weapons, specials, and engines.  So if we have two squadrons, one takes 10 "ticks" to recharge, and another takes 25 "ticks", the first will go twice before the second has its turn.  Powerful weapons will take longer to recharge, and higher combat movement will take longer to recharge as well.  If you've played Final Fantasy Tactics, you will be familiar with this system.

The amount of ticks required are determined by the longest recharge weapon, special or engine of ANY ship within a squadron.  So if you want a quick-hitting squadron, only fill the squadron with scouts/light fighters.  If you want heavy-hitting squadrons, group them together as to not hinder the lighter ships.  Planet-destroying weapons will take the longest to recharge compared to others, so you will have to defend the squadron while it charges up.

There will be special equipment that can affect recharge rate, both for benefit of your squadrons, or to put enemy squadrons at disadvantage (technology nullifier, anyone?)

When you attack a squadron, you don't click on individual ships.  Your squadron will automatically target different ships within the squadron, firing all of its weapons that are in range.  You may then target a nearer squadron with any remaining weapons that weren't used up in previous attack, move your squadron, or end your squadron's turn.

When you create a new squadron, it will display ticks required to recharge, as well as movement speed and other information.  Also, during space combat, it will show a list of squadrons in the order they will take turns, to help you plan out your strategy.  Missiles/torpedoes/bombs will travel between each squadron's turn.  They will have a specific speed per tick, and your point defense will have recharge periods as well, so it's possible to have your point defense fire twice or more between turns if the missiles travel slow enough.

One problem with Master of Orion 3 is that if you equip a ship with cloaking, but put it with other ships that don't have cloaking, the cloak is useless because the game handles detection on a per-taskforce basis.  So I'm going to avoid that by having specials on any ship apply to the entire squadron.  Consequently, those specials will take up a lot of room.

For combat resolution, when two hostile forces are in the same system, it will prompt both of them to place their squadrons above their desired target.  Let's use an example:

Empire A has 5 squadrons, and Empire B has 2, but also have a planet.  Empire B wants to defend its planet, so he places both squadrons under the planet.  Empire A decides to attack the planet with 3 of its squadrons, and leaves 2 in edge of system.  Neither can see the other empire's squadron placement.  Both then press "commence", and the combat commences with 2 of B's and 3 of A's squadrons, and the B's planet.  When the combat is done, regardless of the outcome, Empire A can send the other 2 squadrons that wasn't involved in combat to the next system.

This will introduce some interesting strategies.  Do you want to block ships from passing through your system?  If so, you must place your squadrons at the edge of system.  Or do you want to defend your planets?  Place some squadrons there as well.  Or both, splitting up your forces.  You think the enemy will attack planet X, and place some squadrons there, but it turns out that he attacked the defenseless Planet Y.

Space combat can involve more than two empires.  For example, two empires ganging up on a Guardian in an attempt to overpower it.

So far, this system is the only one that really clicks with me, so this will be the final design.  I hope to have the new UI for this done within a month.  Then I'll finish up the space combat, including movement and missiles/torpedoes.

Thursday, June 21, 2012

Still Alive

The past couple of weeks has been very busy for us, which was why I was unable to work on the game much, or post something.

My old car from college days just had its head gasket cracked...  Which is a very bad thing for those who don't know cars well.  It costs more to repair it than the car's value.  So we decided to sell it to a place that'll use it for its parts.  We now have one car, but with me working a bit distance from our home, and my wife's pregnancy, we decided that we need two cars still.  So I looked and found an used car, tested it, and bought it.

We still have a few more things we need to do, such as fixing up minor issues in the new used car, then I'll be back working on the game.  Just a quick update to let you know I'm still alive :)

Tuesday, June 12, 2012

New Economy System

With the design for squadrons/combat resolution basically finalized (not yet implemented, getting there...), I've been thinking about planets/systems.  The current system of managing projects and production just don't feel fun, it feels more tedious.  Since I want the game to be enjoyable to play, and not tedious at any phase (end-game or newly started), I'm re-vamping the economy design.

While thinking about the economy, I thought, why not separate the economy into three levels: Planet-wide, System-wide, and Empire-Wide?

Planet-wide projects will include buildings that enhances production output, terraforming, missile bases, planet surveys, etc.
System-wide projects will include starships/system ships, stargates, and other massive projects.
Empire-wide projects will include research projects, super-massive projects similar to Death Star from Star Wars, etc.

What this means is that I will need to re-design the project list screen, planet list screen, planet/system window in galaxy view, and research screen.

So here's my proposition, I would like your feedback on this, since this will be the final design for the game:

Merge the system view and planet view into one big screen the same size as other screens like ship design, and make it show after double clicking on a system.  In this screen, you will see a list of planets on left, as well as the star.  Selecting the star will give you the star system project management in right area.  Selecting a planet will give you the planet management instead.  In planet management, you will be able to handle outputs of each race individually, and select the current planet project.  In system management, you will be able to select which system project to build.

Revamp the planet list so that galaxy preview is removed, and planets are listed on left, with better filter options below the list.  On right will be the same screen from the planet management in galaxy view, so you can manage each planet from either planet list screen or system window in galaxy screen.  The "Production Sliders" for setting output of all selected planets will be removed, but this is offset by being able to manage each planet from this screen.

Replace the projects list with "Star System List" screen, this will look similar to Planet List screen, but instead of managing planets, you manage systems and their current project.  On left will be list of systems, with some filter options.  On right will be the same screen as system management in galaxy view.

Re-do the research screen so it's now "Technologies", basically an encyclopedia of researched technologies.

Add a new screen: "Empire Management" that allows you to handle empire projects and view your empire's operations information such as finances.

Now, the tricky part, where does the production for each of the three levels of economy comes from?  This is where I may need feedback on.  The goal is to keep things simple and easily understandable.  I don't want a complex economy system that's hard to comprehend like MoO 3 (heavy foot of government, planet/system/empire tax rates, etc).

Should resources be now on an empire-wide level, with the planet that both produce and consume them be the maximum efficient use of resources?  (numbers are made up, just giving an idea)  For example, if a planet produces 10 food, and requires 10 food, it is equal.  But if a planet requires 10 food and only produces 5, it has to import from another planet in the same system, it consumes 12.5 total (the extra 2.5 is from 25% penalty of importing it from another planet in the same system, 50% if different system.  So 5 * 25% = 7.5 food imported from same system, 10 if from different system)

If the resources are now on empire-wide level, then pollution management will have to be internalized similiar to MoO 2, by reducing the production output of all fields (not just industry) due to it not making sense to "import pollution cleanup".  Commerce will also need to be internalized due to the annoying disabled "End of Turn" button, so all production will output revenues automatically.  Industry will be introduced as a new output for planets, and production will consume industry in all three levels of economy, with planet projects taking first priority, systems second, and empire last.  Research will be removed since researching is now an empire-wide project.

So each planet will have five sliders: Farm, Industry, Planet Production, System Production, and Empire Production, with the productions consuming Industry points for projects.  Then in System, you can add projects, so it's possible to have more than one project, and you manage how much production goes into each project.  Same for empire screen.

The pros of this setup:
Less micromanagement with handling sliders/output
No more annoying disabled End of Turn button, if you don't generate sufficient commerce, the production will be penalized because it is used to pay off the debt.
Population growth is now mostly separate from food slider, it was confusing, so now if there's sufficient food it will grow normally, otherwise it just starve.  No fancy tweaking to maximize pop growth.
No management of pollution, it's now all internalized, and pollution reduction technologies will simply improve production.
Convenient screens for managing planets and systems
Able to focus all output into one research project, or spread them out across multiple projects.  Can research two items from the same field at the same time.
Resource handling are internalized so no need for supply ships (the 25% and 50% penalty are to pay for "shipping and handling" when importing either food or industry)

Cons of this setup:
A bit more micromanagement with handling projects - especially when buildings are added.  At this stage, there's only terraforming projects for planets.  But for mods that adds buildings, things will be different.

What are your thoughts on this economy system?  Suggestions for improvements?  This isn't final, but I feel that it will be a lot more fun and less tedious in many areas.

Saturday, June 9, 2012

Zooming issues

While working with starlanes, I noticed that in huge galaxies, when I'm zoomed out all the way, you can't see the stars anymore.  This is very annoying, so I've set a minimum size for each star, so even when you're zoomed all the way out, you can still the stars!

I've also replaced the drawLine function with a sprite drawing one, which is both thicker and faster to render.  Soon to come: Animated selected path similar to MoO 1/2.

I got tired of just three star types (blue, yellow, and black), so I added white, red, green, and orange ones to spice up the variety.

Here's how the new zooming/starlanes look at maximum zoom:

I noticed that some starlanes are really long, so I'm going to add a limiter for random starlanes so that they don't connect to far-away stars.

Still a lot to with squadrons and travel, but we're getting there.  I just removed the grid completely, so now everything is working with starlanes.

Thursday, June 7, 2012

Pathfinding now working!

There's still a lot more work to be done, but fleet selection works again, and you can now select a star to go to.   Thought I'd show you a peek on how things' going:  (Dark green is current path, light green is path that your mouse is hovering above)

Note the two fleet icons on either side of the star.  The right one is "idling" fleet, and the left one has movement orders, just like MoO 1/2

Wednesday, June 6, 2012

Sounds and Artwork

The artist just submitted his last batch of artwork, so I now have all the necessary artwork for the game (excluding new races and space combat particles).  This includes all the background screens for ground combat, one for each planet.  Here's a couple that I really like:



Now about sounds.  My biggest obstacle is my deafness.  So I'm unable to debug sounds, or be able to know whether or not music/sounds are good.  So I've asked Spencer (remember the neat nebulas? That was his handiwork), and he said he will help me implement sounds/music in the game.  However, I still need the sounds and music themselves, what to do?

Then out of blue, a composer saw my game, and said he liked it, and offered his help.  We agreed on a reasonable rate of payment, so soon he will start producing music and sounds for my game!  The next version will be delayed due to this, but it should contain the new music and sound effects!

On other news, I've started moving over fleets from grid-based to star-to-star.  I've re-done the pathfinding algorithm to use Dijkstra algorithm instead of A*, and reworked the fleet movement/position to use the new system.  Right now I'm debugging the whole thing, fixing issues as they pop up.  So hopefully soon I'll be done with the conversion, then I can start work on the new UI for combat selection (when you attack a system for example), colonization, population transfer, and ship positioning in a squadron.  As well as fleet management screen, then at that point, the whole fleet stuff will be done.  When this is done, as well as the sounds/music, I will then release 0.6.0! (0.7 will be when the space combat is fully done, 0.8 when diplomacy is implemented, 0.9 when saving/loading is done, and 1.0 when AI and general polishing are done)