The development has resumed, so do the (more or less) regular development posts on this website. I am going to detail in this post the incoming changes and additions regarding in the next versions of GRA, which can mainly be summed up with "destructible terrain", "user interface update" and "combat".
This is going to be a fairly long post, so before delving into it and probably loosing 99% of the reader-base, I would love to have some comments regarding the current user interface, hotkeys and so on. Basically how the GUI should behave according to you. My current goal is to have something very similar to ToME 4 (great rogue-like, try it, seriously). I am not interested in "bind this action to this key instead of this one" posts as those will be configurable in a near future anyway. Most menus (shopping, inventory) will stay mouse driven, but original ideas to add and/or errors to avoid are more than welcome.
I am more or less done with it, at least the critical part. Technically, that is, because I still have to create a crapload of tiles for damaged and destroyed terrains (sigh). A peek at the new terrain editor will probably give you a better idea than a thousand words:
Damaged terrain (less than 50% health) will override the Block Line of Sight setting and destroyed terrain (0%) will override the Block Movement one. You can also notice the new Can Burn toggle, but at the moment it's a place-holder, and it's irrelevant to the subject at hand. However one thing is still missing: breaking a stone wall using a knife (or even a SMG) is unrealistic. That's why I am going to add to objects, terrains (and bodies) another setting defining how damage-proof they are. Weapons will also get the same variable to define what they can destroy or not.
The following values are not yet set in stone, but let's imagine that this variable contains only something like that: very fragile, fragile, medium, hard, very hard. If a hard wall is attacked by a weapon only dealing damage to something between fragile and medium it will receive no damage at all. Before you ask, no, there won't be half or double damage against harder or weaker surfaces, it's not very realistic I know, but code-wise and balance-wise it could easily become a nightmare to implement that correctly. Also, it won't be possible to destroy external walls in the second+ level of a building as it would cause a tons of issues (player/npc walking into the void). In the same spirit, breaking every single wall of a building with several floor won't (and will never) make it collapse as I am not trying to build a 2D version of the PhysX engine ;).
Of course to damage the terrain, I have to add an attack command able to target a specific tile instead of a NPC. This is also kinda required because of the recently introduced Area of Effect weapons (smoke grenades, RPG, flamethrower and more to come). It's not really a big deal, but the obvious next batch of weapons, explosives, will probably be trickier to implement. To be honest, when I started this project, I did not think everything through (no one does). And as a result, in the current state of the game, explosives can't be added as weapons. However (and now I am basically speaking to those who have dabbled a hell lot with the editors, followed the blog from the beginning and who know about coding in general, hopefully there's one or two of you around here ^^), Explosives could still be implemented without too much hassle as standard items with a special effect (boom). Modifying the Effect Editor (and the code behind it) will be required to add delay, AoE and such things of course. It's not that big of a deal, but it will require time and some thoughts on the matter. I'll post a more code oriented article about it later.
The whole combat system should be more or less finished not in the next version but in the one after. The cover system will be implemented: If you are right behind a box (or another obstacle) you'll gain a dodge bonus and a reduced damage if hit. The ability to target tiles with AoE weapons (well, any weapon, but in this case only AoE is relevant) should also add to the tactical aspect of any encounter. Moreover, like I said in a earlier post you'll have 3 stances instead of 2. Currently we have walking (standard) and running (faster movement, reduced accuracy). I am going to add stealth/crouch which give you an increased accuracy at the cost of a slower movement. Those stances will also have an impact when a real stealth system is implemented (read further).
However, I am not going to lie, the NPC will most probably ignore most of those features for a relatively long while. Don't get me wrong, I do know how it implement this so NPC understand how to get to cover and find the best position/weapon for a given situation as AI development is my hobby. But, it's a CPU unfriendly and time consuming process which is not critical to the development in general.
Like explained in the part about the destructible terrain, weapons will go through a few changes in the next versions. First, a "strength" variable will be added to them. If an object or NPC (like a steel robot) is made of a strong enough matter, damage done by a weak weapon like a knife may be ignored. Also, currently, weapons can only target a specific NPC (or, soon, tile) and may or not have an Area of Effect in top of that. I will add some diversity to this system to get more realistic behaviors:
- Shotgun/spread effect : 1//3/5/7 tiles large according to distance. like this:
Obviously, in this case, the spray is too large. I should find a way to have something more diffuse by giving only 50% of damage on the outer tiles (i am pretty sure it doesn't translate well / make sense right now for you, but schematics and articles will be posted about it at a later stage):
- Standard gun behavior:
(you) ----> (someone may get hit) ----> (real target may not)
- Grenade type:
(you) ----> (don't get hit) ----> (ouch)
In general weaponry related code is going to be rewritten and rewritten again until I get something I am satisfied with.
I am not going to make friends in the RL community. But let's face it honestly, there is a reason (well several, but it's another subject) why this type of game died. They refused to evolve. Being unable to "bump" into a door, and having to use the "Open" key -and oh god forbid, not the "Use" one- to open it, is not old-school, it is bad design and/or (probably both) poor coding, plain and simple. The less keyboard shortcuts the better. Anyone who say otherwise is wrong. Removing redundancies is a good thing as long as it doesn't reduce your options. Having a mouse driven UI is also a good thing. Being able to use only one hand to do most if not all the commands is something great (yeah i'm a smoker). You can argue otherwise, and I will respond as it's an interesting subject.
This said, the GUI will become more and more graphical in order to get something that's more or less "diablo-like" and which looks like a real game instead of a windows 95 app. Graphical effects will be added "in between turns" so the player can easily know who shot who. The quick access toolbar will be extended, and so on.
AI and City Simulator
That will be integrated slowly but surely. Repair men will be added, to fix the walls you've destroyed, weapon shops will be more diverse to accommodate with 'self defense', 'tool like', 'hunting' and so on weapons. Cops will get an upgrade. NPC in factions will also be able to move/act as a group (party). All of this making the next chapter easier:
Missions and storyline
Yeah it has been delayed, a lot. There is a few reasons behind it, and I have dropped hints there and there to explain why. First and foremost, the game engine isn't ready for it. Yes, I could add in a few hours "kill X to gain Y" missions. But it's boring and insufficient. For those who know me a bit either through my plugin development regarding X3 or my other projects, you should know that I am a big believer in emergent systems. GRA is getting close to that point but I still have to add a lot of (boring to the player, interesting to the AI coder) features beforehand. I am NOT going to add "hardcoded" missions, like click on the accept the quest button so a building, enemies and a target object will spawn for you to complete the mission. So, until the city simulator reaches a level of complexity sufficient, missions are delayed. Secondly, GRA is mainly a tech demo. And thanks to it, I know that the game engine I have written can handle, on modern computer, 10k+ NPC simultaneously with relatively complex behaviors on very large maps (and with some game dependent tweaks we can double those figures easily). Such engine could be put to better use in other games (*hint* ZCOM *hint*). I am not saying that GRA will be discontinued, but soon will come the time where a choice will have to be made regarding where we are going.
Anyway, yes, dialogs and a mission system will be put in because I need them anyway, It probably won't be very moddable, though. Yet again, I will post about it when I fell it's necessary.
Handling light sources, a day/night cycle and fire spread/handling are the most probable follow ups. Also the city generator would benefit from unique sectors (a large park, museums, rivers, and such) to make more believable cities.
Sorry for the relatively weak english here, it has been a long post, and I am kinda tired now. I have not written publicly in a long time and that's the result. The next version of GRA, with destructible terain should come in a week or two.