Pre-Order the Game!

Desura Digital Distribution

Monday, November 22, 2010

Camera working, and ship placement algorithm done!


As you can see, the ships are arranged so the biggest ships are in the middle, with smaller at top and bottom. The algorithm works like this: Sort the list of ships from smallest to largest. Fit as many ships as possible on the frontmost column (facing the enemy) starting from smallest, but place the largest ships in middle. If more ships than the column space, then put the rest of the bigger ships on the next column, a bit farther from the enemy, and so forth until all ships are placed. This took me a while to finally figure out, but when I figured it out, the solution was so simple I'm kicking myself for not thinking of it sooner.
I've also tweaked the camera class so it can work with either the galaxy viewing, space combat, or ground combat. As a result, I can move around the space battlefield and zoom in/out.
I've also figured out a simple solution to the UI problem with the new game screen, so things are looking up! I think I will leave the space combat screen as is for now, and finish up the new game/main menu, and add transistions between different screens. Then I'll reimplement the galaxy screen from the older version, and hopefully it'd be kinda playable.

Wednesday, November 17, 2010

First space combat screen!

I've decided to put the new game screen on hold for now, and focus on creating some other screens, because the user interface was giving me a headache. So I decided to work on the space combat screen because that's the most fun part of the game! Seeing your ships pwn the enemy ships (or vice versa, which isn't as fun)!


There will be max of 16 different ship sizes, I've taken a screenshot of the initial combat screen (all it does is display the ships properly, along with the amount of ships stacked). The ship on top left is the smallest (16x16 pixels, or size 1). The ship under that is size 3, the ship on top right is size 5, and the bottom right is size 16.


I've thought long and hard about how the space combat should be like. This is what I've decided. Ships will stack, like in Master of Orion 1. However, the combat field is bigger than the screen, so you can look around, zoom out/in (maybe), etc. Defending ships will always be on the left, while attacking ships are on right.
Since this game will incorporate some physics (if you don't see a beam hitting a ship, it don't hit, and vice versa, similar to X-Com), weapons will perform a bit different from MoO 1. Here's the sum:
A weapon with many mounts (say, 10 cannons), will each fire in succession, so it will shoot 10 times visually. The topmost ship will take damage, and if it is destroyed, the next shot will hit the next ship, and so forth.
"Streaming weapon" means that it penetrates the ship, dealing damage to it, but continuing beyond the ship to potentially hit another ship. Imagine rail gun from Red Faction. It won't "carry over" to the next ship in stack.
Exploding weapons (such as anti-matter torpedoes) impacts all ships in the stack, so it is more powerful the more ships are stacked. Black hole Torpedo is included in this category.
Missiles will be treated individually, if enough damage is done to destroy a ship, the remaining missiles will hit the next ship, and so forth.
There may be other special weapons, and special shield characteristics (a shield that bounces off energy weapons for example) that may affect the tactics.
I'm excited to see the combat screen fleshed out!

Friday, November 12, 2010

Player selection layout implemented, somewhat

Here's a screenshot of the new game screen. It will have up to 12 players. If you're playing a local game, you can select either human, computer, or none for each player. Having more than 1 human controlled race will allow for hotseat multiplayer.


I'm still working on the layout, but implementing this showed a very big bug. The dropdown menu that is drawn before the next one, but overlays it, will be drawn underneath the next one. You can see this in action in the screenshot, at second to last player.


I'll have to think about how to fix this, but at least I'm making progress!

Wednesday, November 10, 2010

Dropdown menu is done for now, TextBox is next

The dropdown menu code is functional, with the exception of scrollbar. I can click on up/down arrows and it'd change the list accordingly. But I don't want to dwell too much time on this, so I'll leave it as is, since it's working, and focus on the last important User Interface element, the TextBox.

When TextBox code is finished, I'll have all the important UI elements available for me to use in all parts of the game. Things will progress a lot faster. I hope to have a playable version by this Dec.

Monday, November 8, 2010

Dropdown menus and "New Game" game setup screen

Since I'm refactoring the galaxy code stuff, I figured that it'd be a good time to start adding "Main Menu" and "New Game" screens. The main menu would have six buttons, "New Game", "Continue", "Load Game", "Multiplayer", "Options", and "Exit Game".

New Game screen will be used in both single player and multi player as a pre-game lobby setup. I've finished the galaxy previewer, so you can generate a galaxy, and it'd show up in the previewer. When you start the game, that exact same galaxy will be the game's galaxy. I've added a new feature of having stars being different sized (2x2 to 4x4). It don't really change the gameplay much, just adds a bit of variation.

I'm also working on code for drop-down menus. When that's done, I can just do this:
Combobox galaxyType = new Combobox(...), and it'd set up the combo box for me. Then I just do this:

galaxyType.Draw()
galaxyType.Update()

and it'd take care of the rest of mouse handling and rendering. It's mostly done, I just need to implement text and scrolling.

Here's a screenshot of the "New Game" screen, it only have the previewer and galaxy type drop-down menu with no text. But at least you'll get the idea.