On making the game This Land is Ours


HOW WE DECIDED AND WHY

We had previously discussed possible themes to make our game during the jam, which changed from the history of slave resistance in Brazil in a possible isometric game, to movements against the dictatorship with a gameplay similar to Papers, please, to focusing on Indigenous peoples before colonization. We ended up choosing the Guarani War for its relevance in the context of how damaging colonization was in our country for its original inhabitants.

Sketch for our previous idea about a stealth game on slavery (JonyLucas)

After discussing possible gameplays, we decided on a platform game because it would fit better the stories we had in mind and challenge us to make a platform game.


THE NARRATIVE (by m1nus)

During the development of the game, the narrative was changed several times, considering we didn’t want to make long texts for a platform game. I wrote several pages of texts for the cutscenes and dialogues but used less than 10% of them. In the end, I think we should have used more text in a different way, though the time constraint would make it impossible to implement the idea I had in the gameplay before the deadline. A lot of things happened before and during the war, like the torture and killing of the indigenous leader Jekupe Aju (also known as Sepé Tiaraju), and the struggle of the Guarani people that had to move to the other side of the river and leave their life behind. The contribution of the Guarani in agriculture at the time, and the production of musical instruments that were sold to Europe was also something that had to be omitted in the game since it would take a lot of planning on the dialogue and cutscenes, but I intend to portray in future dialogues if we are able to make a stage that takes place in the Jesuit reduction.

Rodrigo, our sound and music team member, brought up Ninja Gaiden’s cutscenes style (as seen below) as a possibility for our game, and it was a great idea.

Lots of reference texts were consulted for the narrative, from historical books to talks from Guarani people, such as one of the Guarani leaderships, David Karaí Popygua. After all, who knows better about what happened than the Guarani themselves? Listening to them gives us a critical view of history, so we can understand better the Guarani resistance. Unfortunately, the known and official history ended up hiding most of the barbarian and genocidal acts against the native peoples, practiced by the colonizers in the name of “civilization” and “progress”. It’s also important to note that most of what is available tells the story as if the Guarani people wanted this war, but the Guarani people, since the beginning, were known to be peaceful people, which is why at some point they made deals with Spain and Portugal to pay tributes with their labor force and products they sold, so they could have peace.

In the end, Spain and Portugal gathered the most known killers from Uruguay and Argentina, people whose job was to kill, capture and lurk indigenous people into traps to sell as slaves, and a number of heavy weapons (from cannons to grenades), which made clear the battle they fought was to make the region free from the natives, to make space for farming and cattle. It was a battle for territory.


THE PROGRAMMING (by JonyLucas and tihemetene)

The player's movement was done through Unity's physics simulation, using Rigidbody. When performing a movement, a velocity is added to the RigidBody, in the direction of movement defined in the pressed key, and with the scale defined by a velocity property. This movement is performed in FixedUpdate, to make the player's movement independent of the game's framerate. Although the movement script was made in a practical and simple way, there would still be improvements to be made, like the segment the right/left walk, jump and crouch commands into separate classes using the Command Pattern. This way, we can create new commands for the player, extending the behavior of the command, requiring a minimal change to the player's movement script, in addition to making it easier to change the player's command mapping and keeping the open/closed principle of object orientation.

Another improvement that could be made to the movement would be the variable-length jumps, implementing the movement without the need for the Unity physics simulation, which although very practical, sometimes causes unexpected behavior, especially if you change the interpolate properties. Sometimes it can be more interesting to implement the player's own movement physics and logic, allowing you to have more control over the movement behavior. 

The communication between the game and the UI takes place through the UnityEvent, using the Observer Pattern, which allows communicating objects without the need to obtain/store references of objects that need to be notified. This allows you to decouple objects that depend on certain events to execute certain logic. The cutscenes were developed using ScriptableObjects, which consists of simple objects, which contain data and logic that can be used by objects in the game scene. The cutscene's ScriptableObject consists of an array of objects of the Frame class, which has two fields, a text (string) and an image (Sprite). That way, when we create a scriptable object, it becomes independent of the scene, being able to use it in several scenes of the game, and you can change it, adding new Frames (texts and images) in a simple way, without the need to change any game logic.


THE ART (by m1nus)

During the making of a game, we will eventually create and abandon ideas, but knowing the process behind the choices we make is always interesting. This was my first actual project as an artist in a game, and I confess I struggle with drawing humans, so developing characters for this game was quite a challenge for me.

Characters

For the main character, I wanted to draw minimalist shapes (which is why there are no outlines or shading) using Aseprite's own palette as a way of challenging myself to use a limited palette. 

For the death of our character (see below), I tried to be as careful and respectful as possible (i hope i was successful) and focusing on the minimalist idea.

Sprite sheet of the animation (m1nus)

Throughout the development of the animations, one issue appeared. When the character walked or had his arm in front of his body, there was no clear distinction in the shape of the arm and body, as they were the same skin tone.

Part of this problem was due to the character not being wearing pants or a shirt, which would have helped to distinguish the different body parts. As I would have to change all the assets, I chose different shades based on his tone of skin as a way to make these changes faster and the animation read visually more clearly.

I have also added red bracelets to aid the visual perception of where the hand and pulse were. They were vital to ensure the shape of the hand was visually well established, despite being only four or three pixels! I made the main character and two enemies (the Spanish and the Portuguese), but in our post-jam game, there will be more versions of them. At the end of the second stage, we see a group of Guarani people gathered. I tried to make each of them unique, based on the original one, to give them different personalities.

Section of the sprite sheet of the group of Guarani



Items




For the items in the game, I thought about using a banana, which is the most consumed fruit in Brazil, and a pineapple, that is original to South America. Earlier in the arrival of the European in Brazil, there was a lot of painting portraying pineapples in the country, such as the Frans Jansz painting below. The feather is inspired by the colors of the red-and-green macaw. The arrow was made by JonyLucas, our programmer.

Detail of the colorful feathers of the red-and-green macaw


Brazilian landscape by Frans Jansz, 1652




Cutscenes

In the cutscenes, I used images from a book on the Guarani War, indexing the colors from my own palette, pixelated the images, making adjustments, and left them in the format for the cutscene with the idea that they were purposely “erasing”, which is exactly what has happened to indigenous people since the beginning of colonization.

Tiles, titles, and background

The place where the final battle occurred was in São Gabriel, in the State of Rio Grande do Sul. São Gabriel is located in the geological formation called Rio Bonito, composed of shales, sandstones, and siltstones, and the predominant soil in the region is called acrisol, so I used this as inspiration for the tiles in the second stage. 


Cross section of an acrisol soil

The image from the title screen was inspired by the below image where you can see the marking of the place where the Battle of Caiboaté occurred. I will definitely change the background for the last stage and make it “greener” but “darker” to give a sense of helplessness since it was a battle that was already lost for the Guarani people.

The cross is the main symbol of the Christian religion, and in my opinion, using it for the title screen would strengthen the role the Church played in the erasing of indigenous culture during colonization, so instead of using the cross, I thought an arrow in the ground would be a better choice, symbolizing not only the Guarani resistance but the remains of the massacre that occurred in that place.

Cross marking the Battle of Caiboaté in São Gabriel, Rio Grande do Sul

I intend to make the background (JonyLucas made the background for the first stage, I did the second one) with a few more layers and a different animation and make it in such a way that during gameplay the scenario has slight visual adjustments (such as changing the density of vegetation) to make the scenario more organic and less repetitive for the players.

The background for the second stage was done based on a concept I did after we decided on the theme.


Sketch or the second stage (m1nus)


The background of the itch.io page was based on a pattern used in baskets by the Guarani people. It's a wing of "popo", a butterfly. It means respect and gratefulness for freedom, because the butterfly is always flying freely, and the Guarani is happy when she flies around their house.







DESIGNING THE LEVELS

Designing a level in a platform is always fun. The possibilities sometimes can be endless, and we made a rough sketch for the first level considering the movement of the characters, interaction with the scenario, and how the tiles and other sprites would fit in the level.  Initially, the number of enemies made the game very hard to play, so we balanced the amount of enemies across the levels.

The third and last stage is very short. Since our time was running out, we thought about making the game end in the second stage with a message that the game ended there, but since it would leave the player with a sense of something was lacking we decided to create a third level in the little time we had.

The choice of ending the game with the inevitable death of the character was on purpose because as a historically accurate game, we know the story didn’t end with a victory for the Guarani people. The battle of Caiboaté took less than two hours, so even though the player has little time to play this stage (we will keep it much longer in our post-jam version, though), we decided to make it short so there would have a sense of the scale of how long and unfair the battle was, with more than six thousand heavy-armored Spanish and Portuguese soldiers against the Guarani people.


Level 1 sketch (JonyLucas and m1nus)


Level 2 sketch (m1nus)

THE SOUNDTRACK AND SFX (by Rodrigo Teodoro)

Since this Game Jam is meant to be Historically Accurate, for the music I actually had to spend a couple of days researching about the music of the Guarani People. My main reference was the project Cantos da Floresta, and the paper “Música dos índios brasileiros coletada no século XIX e primeira metade do século XX – Apropriações e releituras do colonizador e do músico ocidental”. I had other few sources, but those ones were the ones that I used the most when writing the music.

After the research, I started writing the music. Since our idea for the game was to be an 8-bit platform game, influenced by the NES aesthetic, the music and sound effects had to be chiptune. When I make chiptune music, I use three software: Finale, Famitracker, and Logic Pro. First, I write down the notes on Finale, a notation software, so I have a clear idea of the voicings and the basic arrangement of the song, and which themes I am going to use throughout the whole game. This first stage of the compositional process is more a sketch, laying the ideas and listening to how they work together. 


After the main theme is “ready” on the sheet music, I write down the notes on Famitracker. FamiTracker is a free windows tracker for producing music for the NES/Famicom systems. It is a limited software that tries to emulate the experience of composing music during the 80s/90s. Using trackers makes the music more accurate in terms of following an old chiptune music style. 

Actually, before writing down the notes on Famitracker, I first make some instruments on the software that fits the sound required for the game. After the instrumentation stage is concluded,  start writing down the notes and arranging the music. Usually, I make a lot of changes when on Famitracker, so the music can sound nice and smooth. 

After the music is ready on Famitracker, I like to go to Logic Pro, another music software, a DAW (Digital Audio Workstation). The only thing left is to mix and balance the level of the music, and a DAW is more suited to that than Famitracker. On Logic Pro I can balance the volume between the instruments and set the right volume for a video game music track. Also, I have a separate Logic Pro project where I have all the sound effects and music of the game, so I can balance them together, and see if they are working together in terms of volume. 

Famitracker only works on Windows, and my main computer for music production is a Mac Mini, then, for chiptune music usually I have to use two computers, a WIndows and a Mac. Also, Logic Pro is a Mac exclusive software. 

Now for the Sound Effects, the references are a little bit different. For “This Land is Ours” I used the Ninja Gaiden as a reference for the sound effects. I used Famitracker and Logic Pro for the SFX. Famitracker only when it is something more musical and I want the SFX and music to follow the same aesthetically. But, for the most part, I produce the sound effects using Logic Pro. The plugins that I have used the most for this game were a collection of audio effects made by Davi Santos, and the Magical 8-bit plugin.


What can we do differently?

We're planning to do a post-jam version of This Land is Ours with gameplay changes, such as improving the movement of the camera, jumping onto the platform without bumping the head, and how the character shoots the arrow.

I'm already working on new assets and improving the background, and plan to change the characters' movements, possibly with more frames to make it smoother. There will be plants and possibly more stages.

The narrative will definitely change to give a better view of the Guarani War, and I will correct some typos I made in the cutscenes (I used “indians” in some parts instead of “indigenous peoples” after changing the text too many times to make it shorter in the last minute).

Overall, it’s always fun to be part of a Game Jam. The connections we make, how much we learn in such a short time, and seeing the final product make everything worth it. We give the best of ourselves in a short period of time while we work in our daily jobs, making space between breaks and after work. We would change a lot in the game, of course, and the time constraint is always a challenge!

Well, this is what we accomplished during the week for our submission in the Historically Accurate Game Jam. If you liked our game, follow us so you know when the post-jam version is available!

Thank you for reading and playing our game!

Files

HistoricallyAccurateJamWeb.zip Play in browser
Jan 08, 2022
This Land is Ours.zip 39 MB
Jan 08, 2022

Leave a comment

Log in with itch.io to leave a comment.