January 28, 2011

Released : GRA 0.2.0 - Test Build

As promised, the first test build of GRA has been released. You can find it in the newly opened download section of this website. It's probably not very enjoyable as a game yet, but it still gives you the opportunity to look at the modding tools and see what progress has been made during those 2 first months of development.

While downloading the file, I strongly suggest you to read this whole article.

EDIT: It has been tested with Wine (linux) and it's working. Don't forget to chmod it as a executable.

First of all, read the included readme.txt file. 
It explains basically everything you need to know to play the game.

This release is slow, buggy, unbalanced, incomplete and so on, I know that, and you don't need to tell me (you still can, but it won't mean I will care). This is a test build nothing more. It has been released so early mainly because I want to prove that i'm not lying about my work and to give you a peek at the modding tools.

I'm not really interested in bug reports yet. I know that more or less nasty bugs are present and I already have a rather long list of things to fix :). However, people understanding the basics of AI and able to read the aLife window correctly can still report illogical behaviors and propose improvements. Ideas and suggestions are welcome, but bear in mind that I already have a fairly consistant project in mind. So before posting any kind of suggestion, I strongly advise you to read the various Design Documents posted on this blog. I'll probably publish a "roadmap" soon to help with that.

Now, about copyright issues. To build this game I have shamelessly stolen most sprites from the internet using Google Image. I have no idea who are the authors of the said sprites. So, if you spot your sprite in the game, please contact me so we can find some kind of arrangement (a proof will be necessary and, of course, you're not entitled to anything if you've taken the sprite from whatever already existing material). By the way and to deal with this matter, I am looking for a pixel artist willing to offer his contribution. All I can offer in exchange is my gratitude and links both on the website and the 'about' window of the game.

Finally, here's what to expect next (and now you're glad to have read all that text before). The next phase is to implement the full combat system and to put in place the economic system. Those are the goals for 0.3. It will require me to add the factories (and related sectors and jobs) so shops' stocks will depend on the production of the said factories. I will also have to modify the current combat algorithms so NPC can deal with action points and stamina. 

Anyway, enjoy and have a nice day !

11 comments:

  1. If you could use FreePascal instead of Delphi, or switch to it, you could very easily make native versions of your game for Linux and MacOS, which greatly increases the player base, as I experienced with LambdaRogue.

    ReplyDelete
  2. Greatly expand I am not so sure, Linux/Mac users are roughly 3% of my visitors, however I do understand that the Linux community is an avid fan of the genre (and usually a helpful bunch for developers), so I'd like to please them too.

    Anyway, yes I know. That's why I am using a graphic library working for both instead of using Direct-X. I have already tried to compile my code under Lazarus, and the result is that I would need to rewrite the only part of my code that's completed, the GUI, menus and such. The "engine" itself only need minor modifications. So for now it's a negative if I want to be on schedule.

    So, one of these will happen:

    1) I'll switch to FreePascal when I reach alpha or, more likely, beta stage.

    2) I'll release the source code when I switch to my next roguelike project (which will use the same engine at a much larger scale than a city).

    ReplyDelete
  3. really like what you have so far. will be watching your progress closely.

    are you planning on implementing vehicles?(didn't see it in the "about" section.)

    ReplyDelete
  4. Thanks!

    Yes, vehicles are planned. However, they are like the cherry on top of the cake. You'll have to wait quite a bit to see a first implementation of this feature as I want a fully working city beforehand.

    ReplyDelete
  5. If you could make roads wider, it would be nice...

    I'm kidding. I know it's just a test release hehe.

    I've made a Genesis graphics mod for Rogue Survivor: http://roguesurvivor.proboards.com/index.cgi?board=gmods&action=display&thread=13

    I can offer my skills if you can interest me in the game :). I think "economic" release should be enough to get me interested :).

    ReplyDelete
  6. Found the time to try it!
    I like the AI, looks interesting with the stack of goals/states. I don't know how many actors AIs are active around the player, but I'm surprised it runs smoothly on my old cpu (15 ms of AI on average). I don't think all the 3000+ AIs are active each turn!?
    I followed an AI around and was surprised to find it left the district to sleep in her house after working in the district I spawned.
    Nice!

    ReplyDelete
  7. Hi guys, new dev post coming tonight.

    @Deon: Thanks, it's duly noted. Economic part should arrive in roughly a month (hopefully).

    @Roguedjack:

    Yes, all 3000 actors are active each turn. It can easily goes up to 10k without too much hassle now.

    To keep things smooth I used a few tricks:

    1) Out of player's sector (OOS) pathfinding and line of sight calculations are non existent: They path through impassible terrain, don't consider terrain costs (no road avoidance) and always see everything in their vision range no matter if there's an obstacle. OOS Combat are somewhat simplified too, now.

    2) Even 'In Sector' pathfinding calculations are simplified. The A* won't try to open a door and enter a building if it's not the destination. It divides the time needed by 3 or 4. I only call A* if another waay simpler method failed.

    3) Creatures are only really using CPU when they are calculating a new goal. Once it's done, they simply follow the path they have calculated beforehand.

    4) I put in place some kind of data-cache which is updated every 2 turns by a function. Each cop, for example, instead of browsing my whole 3000 item long TCreatureList for criminals, consult the way smaller TCriminalList built by this function. Same for widely used locations: instead of browsing the whole zone list of each sector when looking for an office building, workers check the TWorkPlaceList.

    This is mainly in place to avoid CPU costs that would skyrocket up (can't find the goddamn word, even in french) when the city-size or the amount of NPC increase only in a linear fashion.

    5) The following feature is currently disabled (not needed) but the engine can "skip" a few OOS creatures for a turn when the CPU charge is already too heavy.

    There's probably a few others minor tricks, but they are lost under several Kb of coding :)

    Cheers.

    ReplyDelete
  8. I didn't know actors were simulated in other districts. Great!

    ReplyDelete
  9. So you've implemented a level of detail AI and a performance monitor.
    Well done!

    ReplyDelete
  10. Thanks,

    Well, it's basically a compilation of tricks and methods used in previous projects and/or found in AI books. It's more an "Applying Relevant Ideas Randomly" AI than anything else, honestly :)

    (ARIR-AI ? hum, nah).

    ReplyDelete
  11. I'm amazed by the ai and the nice features you plan to add, this rl will rock. I'm a rogue survivor fan and found out this game on the rogue survivor blog.

    ReplyDelete