…. Alright, I’ll admit that it’s been awhile since my last post here, but I have access to an Oculus Rift again and can get back to work!
In the two weeks since university life has started again, I’ve done a fair amount of work on Small Gods and another project that I’ll be talking about Soon(TM).
For starters, I’ve recently set up a Trello board dedicated to helping me —and the people who’ve foolishly agreed to help me 😀 — follow the basic SCRUM methodology. This was pretty badly needed as previously I’d been doing everything without a real plan and I need to get the game in as good a state as possible within the few months I have left as uni.
As you can see it’s nothing much at the moment, but I’m hoping to properly fill it out as the weeks go on so that everything is in order and everyone knows what they’re doing.
Speaking of people, two very talented 3d artists have agreed to donate some of their spare time to make some proper models for the game. With luck, Small Gods should be in much better-looking shape in the next few weeks.
Additionally, I’ve decided to make some changes as to how Small Gods will play. It’s nothing too major, it’s still an Oculus Rift game that uses a gamepad, but I’ve decided to remove combat (and potentially some magic) entirely in order to focus on the city building aspects of it. I just think, in the limited time I have left to finish making the game into something playable, that pulling off combat will be too difficult and time-consuming. Perhaps in later versions of the game I’ll add it back in, but for now, it’s too much.
In combat’s place, I’ll instead be using a glory system that allows players to measure the notability of their city (and themselves) throughout the ancient world. Glory will be earned through building structures, having a large population, creating wondrous structures, and completing objectives throughout each level of the game. Essentially, glory will be earned by ensuring that your city prospers, your people are happy, and that there are statues, tombs, and temples built to honour you.
Becuase of these changes I’ll need to rewrite the design pillars I wrote previously, however aside from the glory system not too much has changed.
Now, onto the actual work I’ve put into the game since my last post.
For one thing, I’ve settled on how I’ll make my AI navigate the gameworld. Instead of using personal navigation graphs I’ve decided that Small Gods should use one large graph that handles navigation for every AI, and to reduce the size of the world from its unnecessarily large size. Using one graph instead of many personal graphs was done for a variety of reasons but it primarily was chosen for its efficiency. Unlike my previous attempts, using a single graph means that I’m not wasting precious computing resources by rescanning 20 graphs when I only need to rescan one. Additionally, the graph I’m using provides enough navigation resolution to the AI that they can get to anywhere they need to go without taking odd paths or getting stuck. Finally, using a single graph for navigation instead of multiple personal graphs ensures that I can have more that 30 AI active at any one time as I don’t end up with a situation where the system locks up due to the number of graphs it is attempting to redraw at once.
Additionally, I’ve made it so that buildings now flatten the terrain they’re placed on. There are still some minor issues with it (like whether it should flatten the terrain to the highest point, to the lowest point, to the point at the centre of the model, or to some other height). However, these issues are solvable and I expect to be done with them shortly.
Finally, I’ve added the beginnings of the glory system into the game.Right now this system is really basic —for instance, only buildings add glory and it means nothing right now— but it’s a start and a good one, too.
So what’s in the future for Small Gods? Well….. Children, happiness, and mission editing (not mine, by the way. I feel that I should clarify that at this point :P).
Slightly more seriously, after this sprint or when I have time (whichever comes first), I’ll be adding population growth to the game. I did tell a white lie in that I’m actually thinking of having this population growth be in the form of immigrants coming through a magic portal and arriving from the towns and cities that may already exist in the level. While I’d love to have children in the game, the behaviours I’d need to code in would be far to complex for the amount of time I have left.
In regards to happiness, I haven’t entirely thought out how I’ll handle this feature, but right now I’m thinking of having it be a stat that gets pulled down if people are too hungry, too tired, and too close to death for too long. If happiness gets too low there’ll be a chance every X amount of time for worshippers to renounce you and seek a better life elsewhere. Happiness will raise itself automatically should a worshipper have a home, a job, enough food, enough energy, and be healthy. You can also give your worshippers bonuses to happiness by building special structures such as wonders, temples and statues.
Finally, we arrive at mission editing. At the time of writing my intention is to create a very basic mission editor by making use of the Mecanim system included in Unity. The Mecanim system is already a finite state machine system designed to handle animations so you can already include things like triggers, floats, ints, strings, and other variables into each FSM. My only concern is that using Mecanim in this way is pretty hacky so there may not be many resources out there for me to consult and it may take a while for me to figure out. however, the benefits of making an FSM mission editor/scripting tool are such that it would be incredibly beneficial
Anyway, that’s all from me for now. I look forward to speaking to you guys next week and with any luck I’ll have a logo and some models to show you.