April 21, 2011

Grand Rogue Auto 0.3.5 Released !

Hi there,
 
No, I'm not dead ! Sorry for the lack of recent content, but when I have to choose between writing code and writing on the blog because of a busy IRL schedule, I usually choose coding. I will check the comments later, but for now, here is the 0.3.5 version of GRA. This is a very large update. A ton of improvements and bug-fixes have been included, large parts of the faction tree are in place, the GUI has been somewhat improved and a lot of the code behind the scene has been rewritten. Oh, and a basic savegame (sort of) system is in place too.

I'll details the additions and change in this article, and it's going to be a fairly long one.

EDIT: Download links updated. Sorry for the little delay.

User Interface

A lot of graphics have been added for pretty much everything from weapons to faction membership. Most windows are much more informative: The inventory screen, looting and shopping  have encumbrance info. The game map is much more complete. It's also possible to enforce 1:1 aspect ratio. All your settings and window positions are saved when you close your game, so you don't have to set them again correctly each time you run the game.

Access to the Journal, Inventory, and Map is done with the J, I and M keys (no more [ctrl]) and it's now a toggle (pressing M will open the map, pressing M again will close it.). Mouse and in-game cursor can both be toggled on/off.

It is now possible to save and load your game, sort of. Your character, his stats, inventory and so on will be saved, the map will be saved, but NOT the other NPCs, containers and such. Basically it's like starting on the first turn again but with your current character progress and gear. It's not perfect, but it will be enough  for a while. Writing a real savegame system is time consuming and would require me to rewrite the heavy Save/Load functions each time I update the game anyway, which is not going to happen until beta status.

Factions / Gangs

The faction stuff is partially implemented, you can set between 0 and 10 randomly generated factions that will be spawned into the game. Each faction has it's own HQ where you may find illegal drug and weapon shops. Factions periodically try to invade neighboring sectors. The whole system is very basic at the moment, but it's a first step in the right direction. Further explanations on how it's currently working and how it will work in the future will be available in a future article.

However, notice that if you attack a member of a specific faction in front of another member of this faction, you will suffer a reputation hit. If your reputation goes below -10 you'll be flagged as an enemy of this specific faction. There's no way at the moment to restore your status (it will be implemented later). You can see your standing in the Journal [J].

Gameplay

Pawn Shops are open, you can sell your loot there (miscellaneous  items only, no weapon or ammo for now). Luxury items have been added to containers found in the houses, those usually expensive items have no other use than being sold to pawn shop. Houses in the suburbs and city centers have more stuff than those in other districts. However, NPC have learned to close and lock their doors when they are away. Not all doors have an alarm system (hint hint), so it's not that hard to break in, and train you lock-picking skill.

Sleeping in non hospital beds can heal the player and npc a bit, but much slowly than in hospitals, and you'll need to be sleepy to do so.

By default, NPC slowly respawn (with new names, stats and icon). It's possible to disable it, however I wouldn't recommend do to so if you enable the faction stuff. The faction warfare system heavily rely on respawning NPC. Also, to balance the massive death toll of this warfare (and to avoid filling your RAM), loot dropped by NPC will stay available for 300 turns only from now on.
Fake ID are now available in some general stores (until proper illegal trading market implemented), they will reduce your Alert Level by 500 points.

AI and NPC

NPC know when to close and lock doors, however Police Officer can bypass locked doors (to prevent some bugs, it will be changed later). The combat AI has been somewhat improved and NPC who fight often like cops and thugs are more likely to buy and use healing items.

2 new job types are included:
  • Guard: Well that's what they do. They usually hang out around a gang's HQ, and will be used later for missions and important buildings like banks.
  • Street Sweeper: The addition of gangs was causing too much blood everywhere, so instead of removing the blood with a timer or another artificial system, I added those guys to do the job.
Also, a Fire Station is in-game with firefighters hanging around. They don't do much for now, they are basically a "demo" faction included using the new Faction Editor.

Modding and Tweaking

The weapon editor has been improved to accommodate current (sprites) and future (special effects, aimed shots) features. The Faction Editor has been rewritten and it's much more complete and user friendly, it's even possible to customize how the HQ of your custom faction will look using a template from the zone editor. I also added several monitoring tools in the debug menu (city statistics, and debug editor). It's also possible to teleport the player anywhere on the map.

Game Engine

The graphical engine has been more or less rewritten from scratch. Objects and NPC are on different layers so NPC won't "overwrite" a bed or a door when they are on the same tile. And it's now easier for me to manage graphics in general. As a result, adding day/night cycle and weather conditions will be easier to do now. CPU usage has been slightly reduced thanks to several tweaks and bug-fixes in the game engine, combat happening in distant sectors uses simpler calculations, allowing hundreds of combat simultaneously without stressing the computer. However, I wasn't able to get rid of the "spike" mentioned in the comments, I know it's caused by the pathfinder and I have found a better algorithm than the one I am currently using. It will take me some time to adapt it to my engine, though.

Bugs Fixed

A lot of issues have been corrected, 21 to be exact. The beeping sound when Windows' sounds are enabled are gone. Several issues related to the management of the inventory, containers, and shops. Several AI logic holes causing slowdown and NPC lost in a loop of eat/cancel/work/cancel/eat...The cursor lag is no more. A large memory leak when starting a new game has been fixed. Slowdowns caused by the blood and the loot is fixed. The [U]se key should always work correctly now. Some errors in the map/sector generator are fixed too. Reloading a non equipped weapon is now working. And more !

Final Words

Well, that was a big update, next one will probably be even bigger as my engine is becoming quite robust. It will focus on a much a better faction AI and warfare system. I will also probably include the full combat system with the ability to run, aim shots, use cover for both the player and NPC. 

I am also getting tired of the ugly suburbs and below average streets, so i may rewrite the generator for those sector types. I will probably add a subway (fast travel) system quickly. And then it will be ready for missions, "dungeons" (well, randomly generated skyscrapers) and this kind of stuff.

Oh, yeah, it shouldn't happen, but if for some reason the game suddenly refuses to acknowledge your key-presses, click one time in the log at the bottom and everything should be okay again. It's a weird behavior I wasn't able to track down, it seems to happen when you use both the mouse and the keyboard to play the game.

Cheers,
SK.

4 comments:

  1. SPAAAARTAAAAAAAAAAAAAAAAAAAAAAAAAAA!##$@!$@!%$@#%!@$#

    ReplyDelete
  2. Man this game is going to be SOOOOOOOOO awesome :D

    ReplyDelete
  3. Thanks. Yes, it iss taking form quite nicely. I am a bit behind schedule, but it should reach alpha status (all planned features included, but none of them fully functional) during/after this summer.

    Feature-wise, I still need to add a mission system, "dungeons", and cars. This done, I will rework (or improve) each component of the game, and then we should be good to go for beta-testing. My development policy is to add the basics of each component first (eco, factions, combat...), and then to do a 'second pass' on each one of them. I've learned that focusing on a single aspect of a game (or anything else, tbh) before switching to another can be very counterproductive.

    ReplyDelete
  4. I can't wait to get the official tileset editor from you, it will be easier to manage and give me a kick to make a complete set finally :).

    ReplyDelete