Friday, 11 April 2014

Crucible XVII 11/04/2014

First of all, there was no update last week because I had a severe case of man-flu (a real thing!). Secondly, like I said a couple of weeks ago, most of my work at the moment has been on stuff you can't actually see. Saying that I do have some juicy images for you. You may have noticed I have redesigned the Crucible logo (again). This reflects the art direction I am set on- I know, I can't believe it too, I actually managed to decide on something. I've also done some new designs for the in-game symbols, and changed a lot of the in-game information to align it with the Science-Fantasy theme I'm going with. I know I said this last time, but I really cannot see these designs changing a great deal from now on.


From left to right; Wealth (Capital), Knowledge (Science), Power (Industry), Amber.

Also introduced are new resource types. These act as secondary resources that aid your development, but are not necessary (unlike the 3 main resources). These are tentatively called; 'Antimatter', 'Blue Carbon', 'Radioisotopes', and 'Liquid Hydrogen'. Each resource is produced by a certain planet category- Giant (formerly gas), Terran, Hot, and Cold respectively. However there is only a small chance that a deposit of these resources will be found on the appropriate planet- so there is no guarantee that your empire will have access to all secondary resource types.

These new resources will be used in varying ways. Systems that have producing planets within them will gain a bonus according to which resources are being produced. For example, a system containing a planet that has an Antimatter deposit on it will gain a boost to ownership gain. Another use is to improve heroes (see next paragraph).

Heroes have significantly changed. I felt that the hero specialisations were still too limited, so I have made them even easier to use. When you hire a hero, you simply select between Infiltrator, Soldier, and Diplomat. After your choice has been made, the hero instantly has access to all the abilities of that class. This means that Diplomats (for example) now have access to the old Ambassador and Merchant abilities (trade routes, embargoes, and promoting). However, heroes are now more customisable. Heroes can be improved using the new secondary resources. In the heroes information window, it will be possible to spend resources in order to improve a certain statistic of the hero. For example, if you spend 4 antimatter on the hero, it will increase the heroes damage by 4%. This will allow for heroes to fulfil many roles- you could increase the Defence of a Diplomat to increase its survivability, or increase your Soldier's offence to make it an Ultimate-Badass war machine.

Other than this (which I hope you found interesting!), I have made some significant improvements to the enemy AI. Enemies are now able to purchase heroes, and can move them around the map (though this behaviour is currently quite basic), and are also able to purchase improvements for their Systems. This is based on an algorithm that calculates the potential value of each improvement to the system- this means that improvements will be prioritised differently according to the system (and eventually according to the needs of the entire empire). This did require an extensive rewrite of my tech tree, but it works fairly well (ignoring balance). 

That's all for this week, once again I can only apologise for lack of images (apart from the one below), but I hope you liked reading it, and I'll be back next week.


Friday, 28 March 2014

General Update 28/03/14

I'm going to mix it up this week (and maybe do the same in the coming weeks) by doing some posts about the general progress of the game, what I feel about the project, what features I will be doing, etc. This is due to the fact that I will be working on less visual aspects of the game in the coming weeks (AI, fixes, other things), and also because I haven't spoken much about these things before. I'll try and break up the posts with sketches and/or other bits I've done, but generally you won't be seeing many screenshots (at least for a little while).

Overall I would say I'm pretty happy with the speed of development. My number one priority is just to get the game to a state of 'completion' and not be concerned about bugs at the moment. Writing the AI is a massive task, but when I'm happy with it I do plan on releasing a playable version of sorts for people to download (SP only). It is likely to be some months before it's at that stage though. Thankfully soundtrack is coming along really well- currently I have had 7 nearly-polished tracks sent to me (out of 10). After that's done I'll probably spend some time with my team-mate to get some sweet sounding effects. If I'm honest, the art is currently on the back burner. I am having a very hard time coming up with a style that I think is suitable- I do have bits of ideas and some finished images, but as a whole it's very incomplete. For me this is a bit of a shame since the visuals really sell the game for most people, and I don't feel prepared to put the game on Kickstarter as it is (not to mention the fact that I don't have an artist on the team).

So what's coming in the future? Well in the short term I will be writing the AI (as I have already said), but there are a myriad of other features to come. I plan on adding 2 more races to the game (for a total of 5). Since each race has their own independent mechanics it is a very big job to create, write and balance them (explaining why there are so few). I really do hope that this will lead to far more distinct gameplay styles than in other strategy games, but only time will tell. I do have to get networking up and running for multiplayer to work, but it may be that I will just find someone else to do it if the task is too great (I only have so much time!). Also coming sooner rather than later- Empire Technology, improved Heroes and Hero mechanics, better battles, inter-system war, status effects, and additional diplomatic effects.

In the long term I will be looking at getting the game up on Greenlight, and I'll be needing everyone's support to get it voted up there. Really I am looking at a mid-late 2015 release date, but who knows- it could be sooner. I will be heading off to Southampton Uni (to do Computer Science) in September, but I'm pretty sure I can devote a lot of my time to this project anyway.

As always I would love to answer any questions/comments, and I'll see you next week!


Just a few rough numbers about the game to amuse you:

  • Lines of code
    • Without XML files:   6134
    • With XML files (Includes tech data, system data etc.):   8919
  • Time in development: 650 hours or 27 straight days
  • Size of team: 2!
  • Cost of development: ~£40 (for NGUI).

Friday, 14 March 2014

Crucible XVI 14/03/2014

Wow have I been drained this week. I'll be fresh and ready to work after I get back from my holiday next week. Saying that, I have done a fair amount of work. Currently I'm trying to pin down the UI art direction. The game should have a dark Fantasy/Sci-Fi feel to it, so I'm experimenting with various textured interfaces etc. The screenshots in this post may or may not be representative of the direction I will end up going in! I'd love to hear feedback on how it looks and how it fits in with the rest of the game. Oh, I did a video to demonstrate what I have done this week (music is 'Frozen Star' by Sam Windell, link at bottom of page). Anyway...

State of the Game (Build 0.88):
  • YouTube video to go with this blog:

  • So I finally implemented diplomacy properly. This is fairly complex, and not quite the same as I had originally envisioned it (explanation follows). There are 3 diplomatic states- War, Peace, and Cold War. Committing positive actions such as trading will improve your relations with the receiving player, and move you towards a more peaceful state. Negative actions such as invading have the opposite effect. Relations are on a continuous scale (rather than discrete like the diplomatic states). Your front line systems (systems adjacent to other players systems) have their resource output and defensive/offensive abilities modified by your relation with adjacent players. Resource output increases and ownership growth are greatest when relations are good, while offensive/defensive abilities are greatest when relations are poor. (I get that this is a lot to take in- hopefully I can demonstrate it in the near future).
    • Cold War is the 'Default' state, if you like, with no real pros or cons. 
    • War allows you to call for Cease Fires, will cause your systems to automatically attack orbiting heroes, and reduce benefits received by other players. 
    • Peace allows you to move freely in enemy territory, and greatly increases the benefits received by other players.
  • Made 3 status effects- Chill, Poison, and Virus. Chill slows resource production. Poison decreases ownership at an exponential rate. Virus decreases resource production at an exponential rate and can spread to other planets/systems. Currently only Poison is implemented (caused by Fission bombs).
  • Randomised ambient stars. 3D collection of stars is generated at runtime. This is purely for aesthetic purposes, but helps to prevent the game from looking as flat as it did. Once again I'll say that the graphics are not representative of the final game.
Lots of randomised stars. Stars near owned systems glow with the owners racial colour.
  • Systems and Planets will cause damage to invading heroes. Damage caused and received by heroes is based on unlocked technology and hero specialisation. Damage caused and received by Planets/Systems is based on the total ownership of the system, system improvements, orbiting allied heroes and empire improvements.
  • Fixed camera movement- camera now moves smoothly. Update the UI (yay!).
Showing off the changes made to the UI, amongst other things.

Back in two weeks time!


https://soundcloud.com/samwindell

Friday, 7 March 2014

Crucible XV 07/03/2014

Bit of a weird week this week! Had Monday off to meet a friend who was back from uni, then spent Tuesday recording guitar and samples for the War music and sound effects. I think the soundtrack for War is going to surprise a few people- it's pretty heavy. I'll be doing that more regularly until it's finished, and then I will be back to dedicating all my time to coding. Saying all that, I've been pretty busy and managed to progress a lot this week. A lot of theory has been done and I've done a great deal of work making each race feel unique. This is a bit of a trap though since there are very few mechanics that are actually shared between the races, so it's all different. Needless to say it's very cool. I've also done a bit of work on the 4th race I hinted at before, but here is a bigger clue as to what direction I'm going in with them: 'Lovecraft'. I found myself struck by inspiration for ship designs this week, and I've included a couple of rough sketches for you to enjoy...

 The human capital ship 'Balmung', named after the sword used to slay Fafnir in Norse mythology. The ship's profile is designed to look like a blade, with the majority of it's functional components collapsing away (indicated by arrows) when not orbiting a planet.

Seed ship of the 4th race. Designed to look like a cross between a Parasitic worm and a Sperm. A single, terrifying, organism capable of travelling between stars with thoughts unknown.

State of the Game (Build 0.83):

  • Infiltrator bombs are now functioning. Different types of bombs (Fission/Fusion/Antimatter) become available via research. All bombs have a cool-down timer that prevents their overuse. The more powerful the bomb, the longer the cool-down. Bombs have a catastrophic affect on both planetary defence and ownership of planets. Infiltrators are able to bypass the system defences.
Currently very simple bombing interface. 2nd planet was destroyed by Antimatter bomb in single hit.
  • Changed the planetary improvement interface to be more usable. Clicking on a planet brings up the available improvements that can be built. Benefits from existing improvements are listed below. Both windows are scrollable. Tabs across the top allow you to keep an eye on which improvement tiers are available to your system, and which improvements within those tiers are available for purchase.
This layout it much closer to how the final game will look. Also see the return of the system summary!
  • Implemented Nereides and Selkies system improvements. Nereides improvements are geared towards making use of stacks of Elation and improving Science related variables. Selkies improvements are geared towards increasing the production of Amber, and lessening the penalty for Amber production (detailed next). Many improvements now have effects based on which planets they are built on, for example one technology increases the Amber production on planets by 1 unless it is built on a hot planet (Molten/Desert/Rocky), in which case it increases the Amber production by 1.5.
  • Selkies racial mechanic- "Amber"- is now working. Amber is generated by building an Amber refinery in systems. The refinery takes up an ordinary improvement slot. Amber is used to research ancient and powerful technology, but its' production has negative effects on the system in which it is produced. For each Amber produced, Ownership growth is decreased by 5%, and Science and Industry production is decreased by 5%. This can be extremely debilitating if other improvements are not built to lessen (but not remove) the penalty of Amber production.
Sadly (but not for me) I'm off on holiday to Prague in two weeks, so I won't be doing any practical work on the game in that time- meaning I also won't be doing an update for that week. However next week is work as usual, and hopefully I'll be getting some more cool stuff in the game at that time. See you then!

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.