Jagged Alliance: Flashback was developed by Full Control in Copenhagen. It is a 3D turn based strategy game with roleplaying elements that runs on Unity 3D. I worked half-time on JA:F from the beginning of February to the end of April 2014. I applied for the internship because I wanted to help create the sequel to one of my favourite games of all time, to grow as a level designer and to get content for my portfolio. More info about my level design contributions in my portfolio pieces about combat design and construction process.
Full Control was my first work experience in the games industry. They had an opening for a part-time intern and I had time set aside for making portfolio content. Jagged Alliance 2 is one of my favourite games of all time. To be able to work with a sequel, that I also had backed on Kickstarter, was a really great opportunity. For my application, I created a presentation of the TBS-game I made in school. Full Control liked what I had done and after an interview I got the position as a level design intern on Jagged Alliance: Flashback. I was familiar with much of the used methodology and tools so it was pretty easy to get into the project and start constructing my first level. Some things were new to me, like working with a producer and following a game design, but it was nothing that I didn’t recognize from other workplaces in other business.
When the internship ended I was a valued part of the team and I had gained a deeper understanding of what makes a game project, and a game company, function. I had worked within a highly skilled and professional team towards deadlines and goals and I had participated in shipping the alpha on Steam, a very rewarding process! It really bolstered my self esteem and I know that I can call myself a level designer with pride.
When I understood that Unitys tool creation had a lot in common with its gameplay scripting I decided to make my own tools to save time for me and the other designers. It didn’t take long to put together a solid tool to randomly rotate selected objects between two variables in either local or world space. As a bonus, it could be used to incrementally rotate several objects with a fixed number of degrees. I made the tool recognize if the objects rotation was limited to 90 degree steps and randomize accordingly. Before closing, I made sure it would print a message if there was a rotation constraint on the object that was not recognized since new features could be added in the future.
Every hour I spent creating a tool gave me days back in optimized workflow. Of course, it also cut down on the amount of bugs that spawns from repetitive and monotonous tasks that is to be performed several times by a developer. I learned not only how to make the tools but also that it is worth to improve the pipeline, even if it means that you have to move outside of your comfort zone.
The internship gave me solid proof of the quality of my education I had gotten from The Game Assembly. Creating levels within Unity 3D went faster than expected and was produced to a high quality level. It was not long before I got more responsibility and was involved in other tasks, such as game design and scripting, as well as some more complicated duties within level design.
One unexpected contribution was to actually write code to the game. Full Control had a game jam over a weekend and I was working on a prototype for an unannounced game. I made a script that showed damage numbers while moving them and changing their colour over time. Some weeks later I saw that the script was used in Jagged Alliance and were released with the alpha. I’m sure it will probably be replaced by a proper GUI in a later iteration but it feels really good the be able to help the project in more ways than expected!
This wall tile-set is set up with logic so solid walls blocks line of sight, movement and bullets. The window only blocks movement while the doorway is left free. Colliders are applied to define where bullets can hit and what effects the surface will spawn.
The artists provided a steady supply of beautiful assets to put in the game. To make them function with the game logic and physics system the level designers had to define the assets properties for each tile. When physics were implemented we also had to set up collision for assets using Unitys primitives. It was a little tedious but having nice collision at low cost really boosted gameplay. I didn’t mind setting up colliders since I have the technical understanding to get a detailed collision model with a relatively low performance footprint.
When I proved to be a good designer that could do the assigned filler levels faster than expected I was assigned more advanced level design tasks. The first city sector had to be planned and when I suggested doing a Blueprint of the map I was given the task together with another level design intern. We did the paper planning, research, top down and asset list together and the Blueprint was later used when the sector was built. Later in the project, I was also assigned with blocking up one of the main sectors in the game. This was a nice addition to the many filler levels I had created so far and I believe that the sector will be really fun to play when it is released and I will update this site with pictures when they are available.