As you can see in this screenshot, shopping has been implemented. I still need to add some kind of distinctive sign outside shops, though, as it's a pain in the ass to locate them otherwise. For now, only weapon stores are in place, food stuff, pawn shops, and so on will come later. Available weaponry is randomly selected from the pool of ingame weapons.
Now here's the two tools i have added during the week-end. They were designed to facilitate coding (i don't need to modify the map generator each time i want to add an item anymore, yeah!) and to provide the eventual modders an alternative to guessing what is the actual format of my data files.
This is the furniture editor. It allows to add various decorative items to the game. Notice that items can provide cover during firefights and can be destroyed (well, theoretically as it's not implemented yet).
And this is the Zone Editor. A zone is a map location, it can represent a house, a park, a store, etc. This editor allows to customize the content of each zone type. When a map is generated, for each zone created, the game engine will search in this database what kind of furniture it will place inside, if several definitions exist (like a shack and a mansion for a housing zone) it will pick one randomly.
As you may already know if you have browsed the blog, there's also a weapon editor ready.
As you may already know if you have browsed the blog, there's also a weapon editor ready.
Now, this week, I will try to implement the faction system (and editor) which is the main requirement before implementing any kind of AI into the game. I also need to tweak a few things in the map generator and add a few planned building and region types.
Data-driven engine + editor = modding win.
ReplyDeleteLinked your blog on my blog, more people need to follow this!
Thanks :)
ReplyDeleteBeing a fan of the GTA series, this looks pretty interesting. However, I am curious as to why you're implementing hunger and sleep, since those are never issues in the games. Is it just to keep the feel of a roguelike?
ReplyDeleteWell,
ReplyDeleteSleep has to be implemented for practical reasons. I need some (cpu) time roughly each day to simulate what's going on in the city. Doing that when the player is resting seems to be the best option here.
About hunger, it won't be as unforgiving as in regular roguelikes, you'll be unlikely to die of starvation in the middle of a firefight except if you really want to. It's still an incentive to earn some money.
Btw, hunger is implemented in GTA San Andreas. You can even die of starvation, happened to me when trying to go full gold in one of the driving schools :)