Small Gods – Builders

Another short update but this time, despite being about AI, I’m not declaring a blood feud.

Seriously, though, I’ve just added the basics of a builder AI to my game and aside from some seemingly small things they work okay! They’re currently very dumb (they don’t use resources when building, they sometimes get stuck inside completed buildings, like the other AI they generate exceptions that slow the game to a crawl if they don’t have something to do, etc etc) but for the most part, they work. I also seem to have broken the resource production code in the process of setting up my builders I think the work distance check is messing things up but I should hopefully have that fixed by next week.

 

Small Gods – Resource Storage

This wasn’t as hard to implement as I was expecting it to be, to tell the truth.

Basically, all I’ve done is set it up so that the AI produce goods while working and if they fill their inventory with said goods they’ll go to the nearest storage depot with space and dump their goods there. The actual implementation of it is sort spaghettified and I’m sure that there’s a better way of doing it, but it works!

I’m not sure how I’ll end up implementing the whole resource system in the final version of the game, however. Right now it’s taking a similar form to that of the resource and storage system in Black and White where storehouses have a cap on the number of each type of resource they can store and so when a storehouse is full you need to build a new one. however, I may change it to be more akin to a traditional RTS resource system where collected resources are transported to a location that teleports it into a magical place where it’s accessible to all-comers.

Continue reading

Small Gods’ Design Pillars

I have no idea if I’ve done these correctly so here goes nothing. :v

 

1) Approachable:

‘Approachable’ is one of those terms that often gets confused with ‘simple’ by both developers and by players alike, and making a game approachable is one of the hardest things to get right in game design. Making a game more approachable often times means reducing the complexity of a game and that’s often mistaken for making it simple or shallow. However, in reality, making something approachable just reduces the number of steps to get a point in the game whilst maintaining depth. An example of an approachable mechanic that still has depth would be Tropico’s wage management system. Regardless of what you think of the game as a whole, the wage management system present gives players the ability to influence employment across their city by adjusting the wages of labourers in specific buildings by clicking one of two buttons. That system is both easy to learn and has depth, and adding any more controls would simply intimidate most players.

Similarly, I will be aiming to ensure that every design decision I make for Small Gods will result in a system or behaviour that’s presented to players in an easy to understand way and whose implications they can grasp within seconds. Every time I make a decision, I will essentially be asking myself “Can the average person understand what is happening and where this will lead?”

Continue reading

AI Update

Hey guys,

This is just a short update to brag that I worked on the AI some more this morning and didn’t end up hating myself. 😛

As of right now, the AI in Small Gods will move to the nearest workplace that matches their skills and hasn’t filled up its worker count. If they leave their workplace for food, rest, or because they’re bored they’ll return to it after resolving those issues, however if the workplace has been destroyed since they left they’ll search for a new workplace altogether (starting the search at the nearest workplace to them that matches their skills).

I’ve also implemented the beginnings of the ‘work’ system itself and workers will be producing actual goods soon. (And then I’ll get to deal with storing items :v).

 

 

AI Are The Worst

I hate them. I really, really do.

Seriously, I spent something like three hours today fixing something that I thought I had fixed yesterday but which turned out to have been broken all along in a way that made me think it was working. In any case, I have made it so that AI will now check to see if a worksite is fully occupied before determining whether they should go to it.

If a building is not fully occupied the building will be evaluated based on its distance to the AI and if it’s the closest one the AI will select it as the target and increase its current worker could. Meanwhile, a building that is fully occupied will be skipped over in favour of another workplace altogether. I don’t yet have a behaviour for what the worshippers should do if all workplaces are occupied (right now they’ll go to the first workplace on the array generated when they ask for the closet workplace), but I’ll handle that sometime tomorrow or Friday.

I’ll also need to add a similar behaviour for when the AI are looking for houses, and I’ll need to set up the AI to lower the current occupancy count of their workplace when they stop work. They don’t do that yet as I was tired of writing AI code and decided that 50% was a good place to stop (although realistically it’s about 25% done at best).

Continue reading

UI implementation

An exciting topic, I know.

But seriously, I decided on using a radial menu for Small Gods as they’re relatively compact compared to other UI designs. This compactness means that I can use them as world-space menus without having to worry about them taking up too much of the player’s vision while still providing an easy-to-read display to the player. (Also, I just really like radial menus. They look cool and they kind of fit into God Games where they wouldn’t fit into other kinds of games as easily).

Continue reading