Week 2 - Multiple Personalities & Populating Cities
Meet the Gooeys
Any good city must have a little bit of variety. There was only a simple green gooey available before, but over the week I have added four different gooeys, all with different appearances and character traits.
This gooey just wants to become your friend. Whenever you walk by, friendly gooey follows you like any good sidekick would. Friendly gooey looks just like the traditional gooey, with a green appearance and cool sunglasses.
A friendly gooey out in the desert
This gooey, just like the friendly gooey, has a good heart. But unlike friendly gooey, scared gooey does not want you to get too close! If you do, scared gooey will dash away until they can't see you anymore! This gooey is marked by a distictive blue hue.
A scared gooey, only observable at a distance
Angry gooey does not want to be your friend. In fact, angry gooey is your enemy. If you get too close to angry gooey, they may start to chase after you! If you see a red gooey walking by, be sure to stay out of the way!
An angry gooey, about to attack me!
Unlike all the other gooeys, neutral gooey just doesn't care. When you walk by, neutral gooey gives you the silent treatment. This gooey doesn't attack you, but also doesn't want to be your friend either. This gooey has a bright yellow hue, which is worn with pride.
A neutral gooey, who can't even look at me eye-to-eye.
These characters will be used as fill-in robots for now, and will be used to populate cities.
Filling in a blank city
As said in the last blog post, there wasn't an immediately obvious way to grab building positions inside cities. This made it impossible to spawn characters inside buildings, since there was no way of knowing where these buildings were! This required a change in DynamicCities to fix. When a building spawns, a building 'entity' is created. This building entity did not store the building's position, but with one pull request, building position is now stored!
With this change, spawning a character is now as simple as placing one where this building position is. Locally, I currently have this working on a time-based cycle, but this needs to be made cleaner and more effective before I can make a pull request for it.
Treasures deep underground
One other minor change made this week was to world generation. An integration with OreGeneration was made, so ore pockets now spawn deep underground. This currently only spawns packets of coal ore, but this is easily extendable to all kinds of collectable resources!
A pocket of coal underground, potentially a power source for robots?
Over this next week
- Work on character spawning will continue and a pull request created.
- Instead of having character spawning work on a time basis, each building will be able to provide shelter for a certain number of characters.
- Continuing development of time-based character actions, such as meeting together as a city at different times, or returning home at night.
PRs & Issues
- https://github.com/Terasology/MetalRenegades/pull/3 "Add base AI characters"
- https://github.com/Terasology/MetalRenegades/pull/4 "Add ore generation to dynamic world generator"
- https://github.com/Terasology/DynamicCities/pull/43 "Add location component to building entities"