Tribe Of Pok: Diseases and Temperature Expanded

Much time has been spent on admin lately, so not as many changes as usual for this update. The good news is I’m now working with an artist, so all the bad programmer art should disappear soon! Here are some of the new tiles:
DevUpdate20141017b

  • Object status effects – Last time I talked about items having abilities, which affected the item’s capabilities. I thought this was such a great paradigm, why not expand on it? Now all objects can have status effects such as [Wet], [Humid], [Warm] and so on. Different objects react to these effects in different ways. For example, food that is [Warm] will decay faster to simulate optimal conditions for bacterial growth. On the other hand, [Frozen] food will hardly decay at all.
  • Expanded disease system – It didn’t make much sense for Stone Age dwellers to know what disease they had and announce “I have Malaria!” to you. To cure it, you just needed the right plant lying around and it wasn’t very fun. So I’ve changed the way sicknesses work. Now a sickness is made up of a set of potential symptoms (e.g Hypothermia is made up of the symptoms Confused and Shivering). When someone catches a sickness, there will initially be no effects. Over time, the symptoms will start to show up one by one and affect the person’s ability to function. The player may never be told what the underlying illness is, and have to find a way to handle the symptoms (this part I haven’t worked out yet – maybe the treatments can be randomised each game, discovered by a shaman, we’ll see what fits).
  • Humidity and rain dynamics – I found a bug where the humidity would rise to 100% during Winter, did some more research and realised my simple model for humidity was way too simple. With my new, realistic calculations, the weather should be more balances and behave better. It should rain more often during the afternoon/night and hot, humid days are possible, depending on the amount of water vapour in the air.DevUpdate20141017c
  • Humans feel “apparent” temperature – In real life, the temperature you feel isn’t always equal to the air temperature due to the effects of humidity. High humidity can make you sweat, even when the air is only mildly warm. To reflect this, I’ve implemented “apparent” temperature, which is a calculation based on air temperature and humidity. On hot and humid days, people are much more likely to suffer heatstroke. For example, 35°C (95°F) with 80% humidity will actually feel like 57°C (134°F). For the curious, here is a taste of the calculations involved:DevUpdate20141017
  • Did a bit of work on enemy raids, if other tribes don’t like you enough, they will appear on the map and rampage through your camp
  • Graphical back-end improvements, now supports 64×64 pixel tiles and allows overlapping tiles
  • Fixed UI scaling issues when zooming in and out
  • Improved Query Panel for humansDevUpdate20141017d
By |October 16th, 2014|GameDev|0 Comments

Tribe Of Pok: Tools with abilities and other improvements

Changes

  • Tools and weapons with abilities – I’ve previously mentioned the possible actions a human can perform are based on the tools they have available, e.g. anyone with an axe can cut down a tree. I’ve expanded on this. Tools now have abilities tied to them with varying levels of effectiveness. For example, an axe has a high [chop] ability and can cut down trees quickly. A knife also has the [chop] ability, but is much less effective and takes a longer time.

    Tools and weapons can have multiple abilities attached to them, e.g a knife can [chop] as well as [slash] when used in a fight. It’s easily moddable, so you could give spears the ability to [puncture] holes for clothes-making if you wanted.

  • Improved task delegation – To complement tools with abilities, I’ve improved the way tasks are delegated to the humans. The best person for a given task is now calculated based on the abilities of their tools and distance to the task. A person further away with a better tool should be preferred over a closer person with a worse tool.

  • Lighting shaders – Fires now emit light. It’s pretty simple, no fancy shadows here. The lighting is mainly to make to nights brighter.

    DevUpdate20140913g2

  • Improved Combat Mode – I’ve re-enabled and fixed up Combat Mode, which I took out for a while since it was confusing and buggy. Now all individuals can be ordered to position/attack manually and the orders will stick even when you exit Combat Mode. It’s still a work in progress though.

  • Overhaul mineral resources – Rocks and minerals contain a set amount of resources and disappear once they are mined out.

  • Improved AI – Added desire to seek warmth when freezing, and other various improvements to AI

  • Walls – Can construct walls now, making a cell impassable and using up all the cell’s volume

    DevUpdate20140913

On a final note, I think it’s time the graphics got some attention. I’ll be looking for an artist to replace all my programmer art with proper art before doing a big promotional push. Stay tuned!

By |September 13th, 2014|GameDev|0 Comments

Tribe Of Pok: Stockpiles, piling objects, diplomacy and rivers

Since last update I’ve been working on aspects that allow the player to organise a larger tribe more easily, as well as give more choice in how to manage the tribe.

Major Changes

  • Open stockpiles – There are pits for food and racks for tools, and this worked well at the beginning. However as you your tribe progresses, raw materials such as tendons and bones tend to accumulate around the meeting point in a big mess. Open stockpiles are introduced to handle this. You can create an open stockpile from the Stockpile Panel and set what is allowed/forbidden to be stored in each pile. Then designate the hexes associated with that stockpile in any shape. This system allows for more strategic opportunities. For example, you could create a wood-only stockpile as a barrier and set it on fire to scare away predators, or suddenly melt a frozen lake to drown any animals standing on the ice.

    DevUpdate20140813

  • Hex maximum capacity – Hexes now have a volume limit, meaning you cannot store infinite objects on one hex. If too many objects are in the same position and their total volume exceeds the hex’s volume capacity, then some objects will “slide” to an adjacent hex. This effect is most obvious when butchering a large carcass with lots of parts, such as a mammoth, but you will also see the effect when piling too many objects in one cell.

    DevUpdate20140813g

  • Diplomacy – Relations can change with other tribes depending on your actions. Right now I’ve only set up the foundations for this mechanic, you can either taunt or trade with the enemy. I hope to expand it with more interesting options in future that fit well into the game.
  • Trade – To go with the new diplomacy system, I have introduced trading into the game. Trading involves bringing offered goods to a trading post, deciding what you want to receive in return, and then sending someone off the map with your goods.
  • Rivers – Rivers are working! It took a while but they’re in now. Water flows in endlessly from the river entrance and flows out from the river exit points. I’m anticipating problems with the pathfinding since locations on one side of the map can’t be reached from the other, and will deal with them as they occur.

    DevUpdate20140811

Other changes

  • Melee damage and weight of object updates each day based on age
  • Progress bars for actions such as cutting trees, constructing buildings, etc
  • Wearables such as boots merged into Clothing class
  • Food decay rate now affected by temperature / humidity
By |August 12th, 2014|GameDev|0 Comments

Tribe Of Pok: New designation system and Alpha 4

Alpha 4 is now available! This will be the last free alpha release, the basic gameplay loop/functionality is established and it’s time to move on to the next stage. Thank you to everyone who has given feedback so far, you’ve been a great help in shaping the game. There’s much more to do of course, and I will keep posting regular news updates.

Major changes:

  • New designation system – Lots of experimenting went on with the designation system. I was finding the current system for marking trees to cut, water sources to use, etc inadequate. It required too much clicking and didn’t suit the nature of the game. After a few failed attempts I went with a left-click-and-drag system, where the player can designate areas and tasks in any shape they want. To accommodate this, I had to change the previous left-click-and-drag to scroll the map to right-click-and-drag to scroll. A small annoyance, but I think it was worth it. DevUpdate20140711g
  • First step towards shaders – The day/night cycle lighting changes were previously “faked”, meaning I just drew a completely black sprite over the screen and adjusted the transparency depending on time of day. This was a problem because I couldn’t make the areas where fires were burning brighter. I’ve switched to using shaders for lighting changes now, which should allow for more flexibility in the future.
  • Pierce and slash damage – Animals now have individual pierce and slash damage values (e.g mammoths deal massive pierce damage while lions deal moderate pierce and slash damage). Clothing protection for each type of damage works properly now as well. It’s based on the body part hit so a helmet will only reduce damage if the head is struck.
  • Doubled length of 24-hour cycle – What a difference this makes! It feels like a better pacing and now when I reach winter, I am actually worried where the next meal will come from.

DevUpdate20140711i

Other changes:

  • First step towards animation – fires now flicker
  • Options menu changes now saved on game exit
  • Autosave function added to help with bug reporting (can be set to autosave every minute)
  • Fixed zooming in/out causing most UI elements to zoom as well
  • More tweaks to aggression system
  • Snare traps working – immobilises animals
  • Fixed music not looping
  • Bug fixes

I want to call the player’s tribe members something else besides “tribe members”, but not sure what… Pokkians? Pokkers? That sounds a bit rude. Open for suggestions.

By |July 11th, 2014|GameDev|4 Comments

Tribe Of Pok: Crafting overhaul and aggression mechanics

New crafting system – Using the workshop to build things was getting too clunky and confusing, so I decided to overhaul it. Now there is a crafting screen instead of a workshop menu. From the crafting screen, you can see all available materials near the meeting point, all build-able items and a list of current crafting tasks. It’s much easier to see whether you have enough materials to make something. To go with the new crafting system there are also Work Areas you can assign. These are just patches of ground where you want your people to actually do the crafting. If you don’t assign any Work Areas, they will just choose a random spot on the ground. Also you can build a tool rack where people will store unused tools, although I haven’t done the sprite for it yet and it looks just like the food pit.

DevUpdate20140607b

New aggression system – I forgot to mention this in the last update, all animals now run on a new aggression system. Previously animals would either run away or fight when faced with a threat, and would do the same thing every time. Now their decision can be influenced by different factors such as distance to threat and current health. This leads to more dynamic interactions between animals. For example a lion can start off ignoring a nearby mammoth. If the mammoth wanders close enough to be considered a threat, the lion charges at the mammoth. The mammoth might try run away at first, but if the lion gets too close, the mammoth decides to also charge at the lion. If the lion gets severely injured in the fight, it then changes its mind and starts running away. There are probably going to be weird edge cases with this new system that I’ll have to fix up as they appear.

Timeline – Surviving is nice and all, but I felt like there was no sense of progression in the game. To help keep track of the efforts of your people, I created a timeline that records any notable actions or events that happened each day. The timeline can be accessed under the “Tribe” management screen.

DevUpdate20140607c

Brains remember after saving – This one took a while to implement, I’ve been putting it off hoping it wouldn’t become an issue. Basically every time you loaded a game in the Alpha 2 version, none of the animals/humanoids would remember what they were doing and would recalculate their motives from scratch. Well the AI got too complicated for that, so now everyone remembers everything they were doing before the game was loaded.

Annual migration – On top of the usual animals wandering on and off the map, there is now also an annual migration that occurs during Autumn. Large numbers of certain animals will travel from one side of the map to the opposite side during this period (currently using Buffalo but that can easily be changed).

Snow and Ice – Snow and ice are able to form/melt based on temperature and weather rather than based on season. If your people get thirsty during Winter but all the water has frozen over, set a tree on fire and watch what happens to the nearby ice.

DevUpdate20140607g
Other minor changes – Animals produce more materials when butchered, UI tweaks, tutorial changes, camera zooming and lots of bug fixes

By |June 17th, 2014|GameDev|0 Comments

Tribe Of Pok: Alpha 2

Major changes for this version:

* New art for tiles and objects – This is the most obvious change. I haven’t found a decent way to draw non-stick humans while still being able to layer clothes on top of them and put objects in their hands, so will keep the stick humans for now. The way shallow water is drawn has also changed. Previously shallow water was a bunch of random blue dots. Now the shallow water is layered on top of the ground as a semi-transparent layer.

DevUpdate20140515Image1

* Proper day/night cycle – People will get tired faster during the night. During the day they only take naps. You’ll have to plan around this because if you give your people tasks during the night, they will wake up to complete them. It means you can chop down trees all night if you want, but the tree cutters will be taking lots of naps the next day.

DevUpdate20140515Image2
* Ambient temperature changes – Redone the way ambient temperature changes (with the old, buggy system it got to 350 degrees in winter – whoops!). Now temperature changes will match the day/night cycle properly and hover around freezing in winter.
* Water changes – I’ve tweaked the way water saturation works. Water saturation in soil now moves from higher ground to lower ground. I found that if you were unlucky enough to get torrential rain twice in a row, the whole map would flood and there was nowhere to go. Now the higher ground will generally be drier.
* Wandering nomads – Since it takes so long for children to grow into adults, I have implemented a way to get outsiders to join the tribe. Small nomadic families will wander onto the map and you can choose whether to allow them to join your tribe. It’s very basic at the moment and the nomads arrive on the map naked.
* Certain herbs and bushes cure malaria – These are indicated with a glowing aura around the plant. You can harvest them to get cuttings which your people will consume if they catch malaria.
* UI changes – Many UI changes to make events and functionality clearer based on feedback
DevUpdate20140515Image3

By |May 18th, 2014|GameDev|0 Comments

Tribe Of Pok: First Alpha Version and Profession Update

The past few weeks have been spent working on getting an Alpha version up and running. It’s easy to gloss over the little things when all you want to do is add new features! The main menu has been cleaned up, UI positioning fixed, hard-coded values moved to XML files and dozens of other uninteresting things.

The main change to gameplay is the removal of woodcutter and gatherer professions, leaving only the hunter profession. A tribe member’s ability to perform a certain task is no longer based on what profession you assign them. Instead it’s based on the tools they have available on their body. For example, let’s say you designate some trees to be cut down. Anyone who is currently carrying an axe can cut down those trees, regardless of their profession. As long as you have allowed that tribe member to carry an axe and he/she can find one, they can do any axe-related activities.

The tribe management screen

The tribe management screen

The reason I have left hunters as a profession is so the player can control which tribe members to put into harm’s way. A non-hunter will flee from an approaching lion, while a hunter will stand their ground and fight back. You can even use the tool assigning system to choose the weapons the hunter is allowed to carry, and they will decide themselves which is the best to use. This tool-based system makes sense in terms of setting as well, since people tended to be jack-of-all-trades instead of specialists in the Stone Age.

If you’re interested in trying out the first Alpha version, please register at http://pokingwatergames.com 

DevUpdate20140417Animate1

By |April 17th, 2014|GameDev|0 Comments

Tribe Of Pok: April Update Now With More Combat

Since the last update I’ve been working on the following:

Extreme weather events – The weather can now enter more extreme states. Torrential rain will cause low lying areas to flood, while heatwaves lead to raging forest fires.

Torrential rain

Torrential rain

Internal animal temperatures – An animal’s internal temperature will change depending on environmental factors. For humans, the normal internal temperature range is between about 35 and 39 degrees Celsius. Above this range they will have a chance to suffer from heatstroke. Below this range their condition will get progressively worse, going from hypothermia to coma and finally death.

Basic mineral mining/scavenging  – Your tribe will have to scavenge/dig in rocky areas to obtain raw materials such as flint. I’ve only added the basic functions for this at the moment but will give the mechanic more depth in the future.

Resource extraction – Options for only extracting trees, bushes, rocks or gravel added to user interface

Assign areas for extracting resources

Assign areas for extracting resources

Traps – Two different types of traps have been implemented. Ground traps can injure limbs and snare traps can capture any animals that step on them.

Optimization – Tweaked the way tiles are drawn and added multithreading to improve performance for large maps.

Combat mode – This is the biggest addition. In the normal game mode you can only give indirect orders that your tribe will decide how to carry out. With hunting, this means the hunters will charge a target animal and start attacking it without regard for any other factors such as attack direction or other animals in the area. I’ve added Combat Mode which allows the player direct control of hunters. While in Combat Mode, the player can now order hunters to move to a position and attack. The hunter will not do anything unless ordered while in Combat Mode. This change means I can make the environment more immersive, with mechanics such as being able to hide hunters in long grass or adding line of sight for animals. The player will be able to take these factors into account, making hunting more interesting.

Combat mode

Combat mode

By |April 4th, 2014|GameDev|0 Comments

Tribe Of Pok: Seasons, Soil and Weather

This month I’ve been busy working on visual changes based on season, terrain generation and many other smaller details. Also drawing objects to the screen has been optimized (the game runs 50% faster!). Here’s some more information on how the natural world in Tribe Of Pok functions.

Seasonal effects – Seasons are implemented and will have varying effects on your tribe. In general, fruit will grow plentifully in Summer and Spring but plants will be barren during Winter. This makes it important to consider when to harvest plants to make sure your food supplies will last the Winter. Harvest too early and all the food may decay before Spring arrives. Harvest too late and there might be nothing left to collect.

SeasonMontageLarge

Soil properties – The type of plants that can grow in a certain area is affected by factors such as soil level, fertility and humidity. Every time a new plant sprouts, it absorbs fertility from the soil beneath it. When the plant eventually dies, it will return that fertility to its surrounding soil. The net effect is that over time, forests will grow bigger if left alone. However if you cut down trees/bushes, they will not return their “stored fertility” to the soil. If the soil’s fertility level drops too low, then new trees will stop growing on it and you have a deforestation effect. Animal carcasses left to rot will also increase an area’s fertility.

Data overlay - greener areas are more fertile

Data overlay – greener areas are more fertile

Temperature variation – Each map has an ambient temperature affected by the time of day and current season. This ambient temperature is offset by current weather conditions and local map features (E.g raining will make it cooler, areas near water bodies tend to be cooler, while a fire will heat up an area). When it gets too cold, your people’s health will start falling. They may even catch hypothermia as a disease if exposed for long enough. To prevent this, keep tribe members close to a source of warmth such as a fire. Protective clothing such as fur boots and gloves will help reduce the rate of heat loss.

Winter

Winter

As a side note, a few weeks ago I heard about the recently released Banished. It’s a game that simulates the environment in a similar way to what I’m trying to achieve (your town gathers supplies to survive the Winter, but altering the environment has consequences). I’m really glad there is demand for these types of games, and it gives me all the more motivation to get Tribe Of Pok finished!

By |March 11th, 2014|GameDev|0 Comments

Tribe Of Pok: Hunger, Sleep and Predators

In this update I will discuss hunting, hunger and sleep mechanics, as well as a little about family.

To satisfy hunger, the tribe can harvest fruit from trees/bushes or hunt animals for meat. Foraging is simple, you designate trees to be harvested and tribe members will go and collect any available produce. To hunt, you designate a target animal, which your hunters will attack and attempt to kill. If they are successful, the animal dies and a carcass appears. You can either drag this carcass back to the main camp or butcher it on the spot. All food types decay and will eventually disappear, but putting the food in a pit will allow it to last much longer.

Hunting a group of deer

Hunting a group of deer

Hunting prey is the safer option, but you can also hunt down predators. Predators roam the map and may cause trouble for your tribe or kill off prey, so it’s a good idea to deal with them. The only problem is, if they’re aggressive enough, the predators may fight back…

Fighting a predator

Fighting a predator

Satisfying sleep is pretty simple at the moment. When tribe members get sleepy they will try find some bedding to rest on, but if none is available then lying on the ground will do. I plan on implementing some sort of mood mechanic, but haven’t decided how to do it yet. A tribe member’s mood would be affected by factors such as whether they had a comfortable sleep, injured a body part or had a family member die recently.

Speaking of family, that has been implemented as well. Every tribe member is part of a “family” within the tribe. If there is a male and female within the family, they may produce a child. Currently the male walks up to the female, talks to her and she becomes pregnant… I’m still working on this part. Animals can be part of a family as well, and will tend to stick together (until you start chasing them around).

OK, enough blabbering. Here is a gratuitous in-game video of lions at an all-you-can-eat buffet:

By |February 12th, 2014|GameDev|0 Comments