Tobias Carlsson

Programmer, PlaygroundSquad 2017

I'm very passionate about making games, working together as a team to create your own worlds and experiences. I love to learn new things and I highly value teaching and learning with others.

Projects at PlaygroundSquad

So far during my time at PlaygroundSquad I've worked on these projects.

DIVIDED (Project 2)

A co-op puzzle platformer made for the PlayStation 4.

During this project, I took on the role of lead programmer. I strived towards making sure all the programmers were on the same page, had work to do, and helped them if they got stuck. I discussed a lot with the artists and designers about what they want in the game and accepted or rejected features depending on their complexity and time investment. Other than management, some of the work I did was:

  • All graphics and shader related programming. (Vertex animation, geometry shader, fog, other effects) including porting it to PS4.
  • Particle and Effect systems with an editing pipeline. Particle systems could have several emitters attached to them, which allowed me to create more complex effects. Effects are just particle systems with an optional lifetime and optional sound attached to them. I later implemented a shockwave system which affected particles in the scene, giving more life to the game.
  • Level editing pipeline for both designers and artists. Designers could box out the collision of the world and place out runes and movable boxes. The artists were able to load one model representing the graphics of the world and place ambient effects.
  • Multithreaded Entity Component system based entirely on JSON files which get converted into binaries using flatbuffers.
  • Level loading and management along with level a statemachine which allowed for cutscenes inside the game.
  • Implemented the main mechanic. (Crossing the splitscreen divide)
  • Implemented the rune combining system. In the game your goal is to combine two runes at a time in the center of the screen, one in each screen. The runes would then activate and once all runes were activated, the level was completed.
  • All the particle effects and textures for particles.
  • A ton of smaller features, bugfixes and performance improvements.

Primetime Bathing (Project 1)

A chaotic free for all brawler where you control old men in bumper car bathtubs while throwing rubber ducks at eachother.

In this project I acted as lead programmer to my teammates, but since the group was really small I didn't have to focus on management as much. I mainly focused on discussing new features with designers and artists, denying or approving them depending on time investment. I made sure our programmers had something to do as soon as they finished and focused on helping them if they were stuck.

Some of the things I implemented were:

  • Entity Component system.
  • Physics.
  • Player movement.
  • Charge mechanic.
  • Duck throwing.
  • Health, damage and death functionality.
  • Particle system.
  • JSON and flatbuffers implementation wherever possible, so that designers and artists could tweak values.
  • Camera movement.

Other Projects

Side projects I've worked on before and during my time at PSQ.

Gill and Gull's Skyhigh Adventure (Post Project 2)

After our second project was completed, I joined the team who were working on G&G since they were going to keep working on the game and port it to PS4. I took responsibility of porting all the graphics related programming to PS4, which included a student made PBR system, shadowmapping and post processing.

Dodgeball Game

Game project I worked on as a hobby before my time at PSQ. It was made using Unity. Never ended up deciding on a name. Notable features include online multiplayer, custom 2D lighting system, custom shaders.

Spirit Serenade (Ludum Dare Game Jam 2016)

Unity game project I worked on together with a team. The game was made over the course of a weekend for the Ludum Dare game jam. The theme was along the lines of "Two buttons / Defend the core". During the game jam the other programmers didn't have much time on their hands so I was responsible for most of the programming. I also helped out with making some sounds, most animations and some particle effects for the game.