HENRIK SANDIN

Level Designer

ICE

Screenshots

Level Design & Game Design

(Pong scripted in LUA)

The AI in our game was very well made, the programmers allowed me to control several things through XML. Things like squad size, decision time, unit spawn, upgrades and a lot more. Even though I could tweak all this, it was still quite a challenge to balance the AI. I tested the AI by turning off Fog of War and just watched it play. This gave me a lot of insight into how it actually worked, I was able to see some patterns the AI favored to have. These patterns was not a very optimal playstyle and not many player would make those decisions, by tweaking the values in XML I was able to change the patterns into something that seemed more human-like to play against.

ICE is a real time strategy game set in a cold postapocalyptic world. After killing the leader of a mutant tribe and gaining control of it, you fight for what remaining territory and resources the cold world has left.

We designed the unit dynamics in a Rock, Paper, Scissors-way. When balancing the units I made sure each unit had its own strength and weakness.

 

The Grunt has high mobility but is easily stopped by the Tanks armor. The Ranger has high damage and long range but gets overrun by the Grunts numbers. The Tank absorbs most of the damage but against enemies that have high damage attacks the armor is almost ignored.

(Scripted objective)

(Unit balancing)

(RTS Top down of the #1 level)

(AI balancing)

This was the first Game project during The Game Assembly that we used LUA in. Since I have a lot of interest in scripting I was the one handling LUA. I had however never scripted in LUA before, I talked to the programmers about getting started. Since it was going to take time before LUA was actually implemented in the game, they recommended me to do one of their assignments. The assignment was to script Pong with the use of LUA. When I could start scripting in the game, my main task was the objective mechanics. Our objectives were capture points, I scripted it so that you gain control over them by placing your units in a trigger. When multiple units were at one capture point, it was captured faster. The capture speed also changed depending on how many objectives you owned versus your opponent.

I worked mostly on the first level during this Game project, it had a few more specification compared to the second level. This level was going to be an introduction to the game and have a seamless tutorial. The problem was that the tutorial area took up 1/3 of the map area I was allowed to work with. Our navigation mesh was not very fond of small and tight areas. Since I had so little space to work with I had a hard time making the layout interesting without breaking the navigation mesh for the units. During the creation of this map, it was always a constant battle between the units behaving correctly and having an interesting and fun layout. In the end, the level was still fun to play even though I would have wanted it to be a bit more advanced, I was pretty happy with the result

Specification:

My contributions:

Tools:

  • Level design
  • Game design
  • LUA - scripting
  • Export tools - scripting
  • Level dressing
  • AI & Unit balancing
  • Quality assurance
  • Difficulty balancing
  • Collision models
  • Studio: Distortion Games
  • School project: 10 weeks(half time)
  • Level editor: Unity 3D
  • Engine: In-house
  • Team size: 11
  • 2 Level Designers
  • 3 Artists
  • 6 Programmers

 

  • Unity 3D
  • XML
  • Adobe Photoshop
  • Autodesk Maya
  • Notepad ++
  • In-house tools

 

(Unit balancing)
(Pong scripted in LUA)
(Scripted objective)
(AI balancing)
(RTS Top down of the #1 level)