Sunday, September 24, 2017

Particularly Wavy Update Three

hey all,

Still hard at work on Particularly Wavy. I now have ten puzzles up and running, and have the main mechanics of the game set. I hope to be adding some music from one of my coworkers in the future.


Monday, September 18, 2017

Banished Game Analysis

Banished Analysis

Banished Analysis

David Hunter

September 18, 2017

1 Overview

Banished is a city-building strategy survival game developed by Shining Rock Software and released in February, 2014.

2 Formal Elements

2.1 Players

Banished is a strictly single-player game, with the player taking control of a group of outcasts in the wilderness. It is played from a top-down three-quarters perspective, with the player indicating the number of citizens which should work in each profession and designating which buildings to construct, and which resources to collect. The citizens are randomly assigned to these jobs, and will actually change to different ones on the fly. Especially in the early stages of the game, when the population is small, great care is required to manage and place the citizens, how resources are used, etc.

2.2 Objectives

The objective is to build the city as large as you can, using any strategy that the player hits upon.

2.3 Rules

2.3.1 Citizens

Unlike many strategy games, the player never issues commands directly to citizens. Rather, if the player wants citizens to chop down trees, the player will use a menu tool to select the area from which they desire trees to be removed, and if the citizens have nothing else to do, they will begin chopping them down. For specific jobs, it works in a similar way: for farming, the player must activate the farms they want to cultivate, use the menu to set the number of farmers for each farm, and make sure that they have assigned the correct number of citizens to the ”Farmer” category. The games takes care of which citizens work at which farm by itself.

All citizens require food, clothing, tools, and shelter. Without food, they slowly starve and die. Without clothing, citizens will become cooler and they are more likely to die during the winter. Tools help citizens do their work, whether that is chopping trees, farming, mining, making clothes, or what have you. Without tools, they will continue to work, but at a much reduced output. Shelter, such as stone or wooden homes, or boarding houses, give citizens a place to stay warm, sleep, store food, and conceive children. Without a home of their own, young people will not get married and will not have children of their own, which greatly reduces the rate of expansion of our town. Like in real life, only a younger woman (less than 50) is capable of producing babies.

The player must further worry about the health and happiness of their citizens. Positive events like the birth of a child or going to markets, taverns, cemeteries, or chapels increase happiness, while family deaths and mines and quarries decrease the happiness of those that live near by. Happy citizens get more work done. Additionally, citizens will sometimes become sick, damaging their health and possibly infecting others, but this can be prevented by building a hospital and keeping the town stocked with medicines.

All citizens start out uneducated, but when children reach a certain age they can attend a school (should the player have built one). After graduating, they are educated and will be much more productive at whatever job they take.

Citizens only have one job at a time, although it seems like they switch jobs somewhat randomly.

2.3.2 Resources

Besides citizens, resources make up one of the other pillars of Banished’s gameplay. Resources are primarily gathered from the environment, and like those in real life, come in renewable and non-renewable varieties. Iron and stone are removed from visible deposits and outcroppings, and do not return once removed. Trees, berries, herbs, mushrooms, roots, and onions are gathered from forests, and slowly regrow given enough time.

Fish and animals can be fished and hunted, provided the player has built the correct buildings for that, and close to 30 different crops and three different types of domesticated animals can be grown or raised. Although usually only one or two crops are available to the player at the beginning, the rest can be acquired through trade.

These resources are critical for different parts of your village. As noted before, all your citizens need food, so getting food in some way is necessary. But they also need homes, and places to store the food, for which wood and iron must be gathered. Wood, iron and stone are necessary in different ratios for almost every building, from houses, chapels, woodcutter lodges, blacksmiths, and tailors to boarding houses, hospitals, and schools.

Many of these resources can be converted into other resources at appropriate buildings. Iron and wood are converted into iron tools, but if the player has coal as well, steel tools, which last longer, can be made instead. Any fruit can be turned into ale which increases the town’s happiness, provided the player has taverns. Wool gathered from sheep, and leather gathered from deer and cows can be turned into coats to keep your citizens warm. Wooden logs must be chopped into firewood for your citizens to use in warming their homes.

2.3.3 Buildings

Buildings provide the focus for many of the resource conversions described above. They also function as resource gathering or generating sites in the case of farms, orchards, mines, quarries, and several others. Some buildings will almost never be used. Wells are only used in the case of a fire, and hospitals are only used when some of your citizens are sick, for example.

2.4 Procedures

There are several procedures that the player will engage in during play.

  1. Manage birthrates: The player can indirectly control birthrates by limiting or increasing the number of houses.
  2. Balance food/resource collection: especially during the early game, the player will not have enough citizens to farm and to collect stone, iron, and wood. During the winter, the player may change the farmers to laborers, since the farmers are not gathering food during the winter anyway.
  3. Expand: As population increases, more workers will become available. The player must decide how to delegate jobs to them. More people obviously require more food, but only some of the new workers need be assigned to food. Others can be assigned to make new homes, new resource collection buildings, or the player can assign them to work at existing resource collection sites to increase the rate of resource collection.

2.5 Resources

2.5.1 Abstract
  • Citizen Health: Most citizens will keep high health as long as they have enough food, warm shelter, and clothes.
  • Citizen Age: This cannot be controlled by the player, but all citizen’s age as time goes by. Most citizens will survive until around 70 or 80.
  • Citizen Education: Provided there are enough seats available in your schools, all children of the appropriate age will receive an education.
  • Citizen Happiness: As discussed before, many events influence the over all happiness of the town.

2.5.2 Physical
  • Food: Food comes in many forms in Banished. The particular form does not seem to matter for the citizens.
  • Buildings: The player designates which buildings to construct, but storms and fires can damage or destroy them.
  • Tools: Citizens need tools to perform their quick in a timely manner, but they break over time and must be replaced.
  • Materials: Besides food, wood, iron, coal, leather, and cool are also needed for many actions.
  • Animals: Chickens, cows, and sheep provide food and clothing materials when they are slaughtered.

2.6 Conflicts

2.6.1 Materials

The same materials are required for many different actions, which creates conflict as often the player does not have enough of the material to simply do both at the same time. For example, the player may want to build a new home to expand their territory, but not have enough wood to do that and keep the town supplied with firewood.

2.6.2 Gathering versus Other

Certain activities can only happen in the woods, like collecting logs, herbs, and hunting. The player will need to position these away from the village to maximize their effectiveness, but as the village expands, these areas may be overtaken. If the player builds structures in the woods, that reduces the area from which the player may gather the above resources.

2.7 Boundaries

2.7.1 Map

The maps have specific sizes and terrain types. The player may not build on mountainous terrain, except for mines which must border mountains and may not build on water, except for trading posts, fishing docks, and bridges, which also must border water.

2.7.2 NPCs

There is no communication possible to the citizens in the villages besides assigning them to different jobs.

2.8 Outcomes

The game never really ends. The player can continue playing for as long or as short as they may wish. Even when the entire population dies, you can still try to issue orders and gather resources, and construct buildings, although naturally there will be no one to do these things.

3 Dynamic Elements

Banished is a game all about dynamics. Small changes can make a huge difference over time in Banished. I’ve had a prosperous, thriving village of over 400 suddenly collapse to less than 200 due to not prioritizing coal collection. This lack of coal in turn prevented my blacksmiths from making enough steel tools, which delayed everyone’s work and in particular prevented my 166 farmers from gathering enough food. In one year more than 200 of my villagers had died of starvation due to that one oversight.

As another example, wells are costly to build and are only used in the event of a building catching fire. However, proper placement of wells can be critical when a fire does break out. Without quick access to water, the player could easily lose five or more buildings, which will then require demolition and reconstruction, using up resources that could have been used for other things, as well as halting an production that was taking place in the burnt out buildings.

3.1 Patterns

This section focuses on game patterns as discussed by Ernest Adams and Joris Dormans in Game Mechanics: Advanced Game Design.

3.1.1 Slow Cycle

Banished has a yearly cycle of four seasons. The temperature changes with the season, and all growing and farming activity stops during the winter. The player might opt for creating many farms in order to stockpile enough food to last through the winter and the growing season, or the player may try to rely on hunting, fishing, and gathering, which take place throughout the year. A combination of both strategies is also possible, but requires enough surplus population to assign workers to both farms and the other food gathering buildings.

There is another slow cycle in the life and death of the village’s citizens. The average citizen lives about 80 years, barring accidents and illnesses. From age 10 to 17 is school age, after which they become laborers until they die.

3.1.2 Build an Engine

Banished, like many strategy games, features the build an engine pattern. Constructing more homes will allow the village’s population to increase more rapidly, but will also increase the required amounts of firewood and food to warm and feed those extra people. In time, the children will grow up and increase one’s work force, but for 17 years they are an investment in the future and burden on one’s economy. How the village develops depends on the placement of those laborers. Placing all of them in food production guarantees enough food for the foreseeable future, but even farmers need firewood and tools. At certain points, some of the workers must be placed in positions such as miners, stonecutters, tailors, blacksmiths, and others. If the player desires to be mostly independent, a very careful balance must be struck among all those positions. If the player instead specializes production to some degree, the player can take advantage of trade to prevent the neglected professions from damaging the health and stability of the village.

4 Dramatic Elements

There are few dramatic elements in the traditional sense. The back story is that the group of settlers which the player starts out with are exiles from another town, and the player must help them establish a new town to live in.

4.1 Characters

There are basically no characters. The NPCs all have random names, and zero dialog.

4.2 Story

The drama comes from the sudden turns of events and the way in which the player consciously or unconsciously turns those events into a narrative. In this sense, there are almost infinitely many stories, but they will all bear a familial resemblance.

5 Conclusion

Banished is not a game for everyone, but its detailed exploration of early farming civilizations is refreshing in a genre that cannot seem to exist without combat.

5.1 Potent Elements

Banished provides hours of fun and enjoyment for the player willing to learn its systems, and will sometimes frustrate even the most careful of players by forcing them to pay attention to relative production rates of materials in order to prevent one catastrophe or another.

5.2 Areas for Improvement

Banished has a few visual bugs and even on powerful machines sometimes hiccups during some of its update cycles.

Tuesday, September 12, 2017

Particularly Wavy Update 2

hey all,



Here is a second video showing the progress on Particularly Wavy. I have completely redone the system of tracking light reflections and refractions. I did a whole bunch of google searches, and I discovered that many ray tracing programs use something called ray trees.



Now, as a linguist (and if there are any out there, please forgive the mistakes in the VP of this tree), I'm used to using tree structures like the one below, so it was kinda cool to get to use tree structures to make my light puzzle elements work. The way ray trees work is you have a root ray, and then you calculate any intersections for that ray. If it intersects anything, you decide what to do based on the object it intersected. If the object is reflective or refractive, then you create children rays and perform more intersection calculations on those children rays, and so on. Each frame, you simply traverse the tree from root through each of its children, and each of their children, etc, updating intersection values as you. If anything has changed, then you can simply prune that subtree, and recalculate intersections and create new children as necessary.

Saturday, September 9, 2017

Particularly Wavy




Hey all,

Above you can find a video showing a prototype puzzle game that is based around the physics of light.

I've been working on it for about 3 weeks now, and this is about the best I've got it looking so far. Considering that every video game has some kind of light simulation component in it, it was extremely difficult to model the physical reactions that I wanted. As you can see from the video, there are still some issues with it, particularly when it comes to refractions and secondary reflections.