Friday 28 February 2014

Crucible XIV 28/02/2014

Lots of new features. Specifically I have built a basic main menu that allows easy race selection, and allows you to choose between 1 and 2 AI opponents, as well as map size. Also did a video blog that I have linked below. Actually pretty pleased at my progress this week, if I can keep this up I reckon it will be playable within a few months. After that I've got to get the multiplayer working, but I'll work a bit on AI to be able to release a playable Alpha for whoever wants it.



State of the Game (Build 0.77):

  • Very basic main menu. Allows selection of map sizes between 30 and 180 in increments of 30 systems. Made racial symbols for Nereides and Selkies (but not humans yet). This has forced me to change a great deal of code and I'm still not completely sure that all the bugs are ironed out from the change.
Selkies symbol is a feather. Nereides symbol is uplifting, the arc represents a planetrise.
  • Merchants now support Trade Routes. Trade Routes are built between neighbouring, peaceful systems of different species (i.e. not Human-Human systems). Trade Routes are automatically built by the computer, this is so that routes that are the most beneficial to you are built. Basic Merchants can support 1 trade route, but research can be done to increase the cap to 4. Routes provide 50% of the neighbouring system's resources to be added to your system's production. Eg. An enemy system producing 10 Science would cause you to have a bonus of 10/2 = 5 bonus Science production.
Showing off trade routes. Each hero(cube) is supporting 2 routes (highlighted with arrow).
  • Heroes will now take advantage of tech upgrades. These can increase offensive power, invasion power, movement speed, armour, stealth and more. Not all systems (such as bombs) are implemented, so some of these upgrades cannot be taken advantage of just yet (bombs are pretty cool so I will probably work on that next week).
Updated tech tree, showing off unlock system, and a tooltip.
  • Although it is probably of little interest to most of you, these changes have resulted in me being forced to streamline and improve my code. This has the knock-on effect of it being easier for me to implement a lot of mechanics, huzzah!
  • More music from Sam Windell- you can hear it in the background on the youtube video, but I will link his page here as well: https://soundcloud.com/samwindell.
That's it for this week. Thanks for reading!

Friday 21 February 2014

Crucible XIII 21/02/2014

Only had 4 days of programming this week, but I did get a good deal done. I decided to tackle my map randomiser issues head on, so I've pretty much fixed that- it's looking very nice I must say. I also added the pool of systems I wrote about last week, so there is a great deal of randomisation going on. I've got a fair few big changes lined up, I don't want to reveal too much, but be excited for them. I hope to have a playable beta out by April/May time too, but I'll need to do a lot of AI work before I get to that stage.

State of the Game (Build 0.73):

  • Map randomiser is now 'finished'. 6 map sizes are currently available, and I've shown off some examples in the screenshot below. Due to the nature of the game, larger systems appear less random (because of the fixed systems) but they have more complex connections. It also takes about 45 seconds to create a 180 star system so I may limit the size to 90 or 120 on release. Map size dictates the scale of game objects, maximum connection distances, resource generation, and obviously the length of the match.
Demo of all working map sizes. The gap in the top right is the galactic core- try living there!
  • The little button labelled 'Purge' will be your best friend if you play as Nereides. Instead of the boring resource generation ramp, Purge is much more active. Purge will destroy every set of 100 Science and Industry. This means if you have 201 Science and 320 Industry, Purge will reduce it to 1 Science and 120 Industry (that's using 200 Science and Industry). For each set of 100 S/I Purged, you gain a stack of Elation. Each stack increases your galaxy Industry production by 0.1%, and decreases the cost of research by 1 Science. This really is a glass cannon-y mechanic, since using it too early or too late can easily cripple an empire.
Before and after. Look at the industry production. Elation modifier is applied before other modifiers.
  • I added a tooltip to the system improvements, and have given them better (though not final) names. This is mostly so that I know what I'm actually building when I play it.
That's right, a whole screenshot just to see the tooltip.
  • General UI changes (again!). Fixed various bugs related to system improvements. Changed the icon for Science and Industry again- they are now much easier to identify, I don't think they will change much now.
  • AI needs some serious work since it's now at breaking point (I haven't updated it in about a month). Selkies won't even take their turn now. I'll also be working on a main menu soonish.

Hope you enjoyed reading this. If you have any questions related to the game/code/mechanics/life in general please feel free to comment.

Friday 14 February 2014

Crucible XII 14/02/2014

Big news! Crucible has now become a real time game. Mid way through this week I thought it might be a good idea, tried it out (very crudely), and it is! The game is now paced much better, and being real time means that decisions the player or enemy makes have far more immediate effects. You don't get the opportunity to pore over each turn, planning out every move, you must make flash decisions and make the best of every situation. This has resulted in various changes that I will detail below (along with the fun stuff I have added).

State of the Game (Build 0.69):

  • Changed from Turn Based to Real Time strategy. Resources are now earned on a per-second basis. Much easier for me to control resource generation. Ship movement is now based on speed rather than number of systems moved per turn. Reduced the difference in Capital generation between races- Humans now gain a base of 0.6 p/s, Selkies gain 0.5, and Nereides gain 0.4. Turn timers are now cooldowns (this means there is a 2 minute no-fire period at the start of the game, a timer for hero levelling etc.).
  • Hero invasions now working. A great deal of balance is required for this but at the moment the basic invasion mechanics exist. If the invading player destroys all the system defences before they destroy the inhabitants (ownership) the player gains control of the system, otherwise the system becomes unowned.

  • Heroes now inherit abilities from their ship and relevant upgrades to the ship. The actual tech tree for this is tough to understand and will require work. Bombs are not currently working as they have a completely different usage mechanic to Artillery and Dropships.
  • Once again I have done a great deal of optimisation and cleaning up (at first the change to real time caused the game to use some ridiculous % of my CPU).
I had hoped to have the pool of systems working by now, but the balance, naming and positioning of the systems has proved to be difficult. However I believe the map I have come up with has great potential, and hopefully I can show it off next week. Thanks for reading!

P.S Apologies for the lack of pictures in this update, most of the work I've been doing this week is not complete and so cannot really be shown, since I'm still converting the game to real-time.

Friday 7 February 2014

Crucible XI 07/02/2014

Woo lot's of new stuff this week! I've nearly finished converting all the Unity UI to NGUI, which is super freaking awesome (even though it was horrible). Still waiting on the finalised header for the blog, but 'tis cool, I can wait. I'd really, really love some input on what everyone thinks about the direction of the game. I'm going to make it darker as I go along, and I've already got a lot of ideas of post-launch content to put in. I'm also pretty chuffed to say it's 'mechanically' complete- meaning every mechanic that will be in the game, is implemented at the moment (but it's still a long way from playable).

State of the Game (Build 0.64):

  • UI changes, many many changes. Looks much more delicious, and is a lot more responsive than the old one. I'll put a little collage of images together to show what's changed.
  • Tech tree. I now have a fully functioning tech tree for researching upgrades for heroes. However only I know how it works at the moment! Still, lots of cool tech to look forward too (but not too much). Tech only needs to be researched for it to be immediately used.

  • More hero functions. Ambassadors can Promote and Embargo systems (see video), having trouble with Merchant trade routes- maybe I will fix that next week. Soldiers and Vanguards are pretty plain and easy to work with, system invasions still need a lot of work, but that will be an ongoing task as I don't expect to be able to fix it in one sitting. Drones and Hackers don't have functioning abilities, but they depend a lot on system invasions working so they will be developed at the same time.
  • Capital replaces Money and Galaxy Points. I couldn't find a good enough use for Money, and Galaxy Points were a bit boring, so now players have a regenerating pool of capital (like a mana pool). Performing actions such as hiring heroes, colonising systems and planets, all cost different amounts of capital. This is good as it can easily set the pace of games and can prevent players expanding too quickly.


That's it for this week, see ya!

Saturday 1 February 2014

Crucible X 31/02/2014

Whew, busy week! As you have probably noticed this blog now has some sweet graphics going on, thanks to http://massonius.deviantart.com/, a great artist and an absolute pleasure to work with. I also decided to take the plunge and bought myself NGUI. So far that has been a bit of a mixed bag- it is really flexible and I can easily see how it will be an advantage in the future, but it has a pretty steep learning curve.

Lava planet (full image) from Massonius

State of the Game (Build 0.59):

  • Hero movement- heroes can now use pathfinding to get to other systems. This actually works really well, and wasn't too hard to implement. I've included a little video showing it off. Also in the video is a clip of the first complete track by my composer (https://soundcloud.com/samwindell)- titled 'Nebula', this piece is intended to be played during peacetime with other players. There will also be corresponding pieces for War and Cold War.

  • Made a lot of progress converting my old UI into NGUI format (not immediately apparent from the video). 
  • Also worked out how the upgrades and invasions for heroes is going to work, and it's all set to be implemented next week. The following table details roughly how the different hero types will approach invasions. I will detail combat more next week as it's a fairly deep topic and I don't want to discuss it without anything to show.


Finally, I have probably said I will be getting on Kickstarter soon(ish), so I'll probably be spamming everyone during that time. If you are interested in the project I would really appreciate funding (no matter how small) but there will be some awesome incentives for those who want to spend a bit more. See you next week! :)