GP2 Iron League

Iron League was our second game project at Futuregames. It was made in collaberation between the Futuregame sites in Malmö, Warsaw, Skellefteå and Boden. For this project we had the following requirements:

 

  • Make the game in Unity.
  • It has to be a mobile game.
  • The theme is extreme sport.
  • The game has to be co-op.


In Iron League you play as either the Ironer or the Thrower, trying to get as many points before your two minutes of allocated time runs out. As the Ironer you will be ironing, cleaning, and folding clothes brought to you by the Thrower, who is responsible for giving cleaning supplies and clothes to iron.


  • 2 player "sport" game made for android.
  • Made in Unity.
  • 2 minutes of playtime per session.
  • Team size of 16 people, 6 artists, 4 designers, 5 programmers, 1 QA.
  • 4 Weeks full time to make the game.


What I worked on

Ironing sequence

The main task I had for this project was to make the "Ironing sequence". What this actually mean is the gameplay and logic for the player that play as the ironer. When you play as the ironer the gameplay loop consists of 3 different things. 


1. Waiting for the other player to throw clothes to you iron.

2. Cleaning eventual stains with detergent and ironing out wrinkles. 

3. Folding the clothing and putting it away.


To achieve this goal I used a simple state machine with 3 states, idle state, ironing state and folding state. 














Idle state:

The idle state is pretty self explaintory. In this state all you do is wait for the other player to throw a piece of clothing to you. This is the default state at the start of the game and after that the only way to get to this state is to finish the folding state.


Ironing state:

The ironing state activate once the player receive a clothing piece form the other player.  In this state you can do two things, use the detergent to clean stains (if you have any) or use the iron to iron out wrinkles. 


To use the detergent you drag it and drop it on a stain. To use the iron you drag it back and fourth over a wrinkle until it's evened out. 


When all the wrinkles are removed you automatically proceed to the folding state.


Folding state:

In the folding state you have first fold the clothes and then throw them away to close the cycle and proceed to the idle state. To fold the clothes all you have to do is to press on the button indicated on the screen. Once the clothing piece is folded you can swipe it away to finish the folding sequence.

Input management

For this project I also worked on the input management. For this I used Unity's input system.


Since Iron League is a co-op and mobile game the input management had to be structured a bit differently from what I was used to. It was the first time I was working with touch input and since the game is co-op it had to be able to receive more than one touch input at the time, which is a bit tricky since this isn't supported by default in Unity.


To achieve this I used the Unity EnhancedTouchSupport API. By using the EnhancedTouchSupport it allowed me to more easily control the source of each touch. Through this I could limit the touches on a selected part of the screen, so there only can be one touch input per selected area, but at the same time be able to read multiply inputs for the entire screen.


The logic works like this:

1. Touch input is received.

2. Check on which side of the screen the touch input is being received from (ironer or thrower).

3. If there isn't already an input for the selected screen area, assign the current touch to that selected part of the screen. 

4. Update the currents touch inputs properties.

5. If the touch is out of the screen area bounds or the touch end event is triggered (player lifts finger), remove data for the current touch.

Our team:

Artist: Carl Smitterberg

Artist: Edvard Almqvist

Artist: Galiana Fatika Pratiwi

Artist: Mariia Shvab

Artist: Matilda Lindell

Artist: Simon da Silva

Designer: Ella Kårefalk

Designer: Martin le Grand

Designer: Stanisław Chabowski

Designer UX: Tony Pebé

Programmer: Alexander Reuter

Programmer: Allesandro Midio

Programmer: Hampus Hagenborn

Programmer: Sinan Koc

Programmer: William Hertz

Quality Assurance: Marcus Hemström Ekh

Bild av de olika kläderna

Bild av delade skärmen