Noa Johansson

Gameplay & Systems Programmer



Personal Projects

Nautilus cover
1 4 Weeks Unity

Resource Management

Systems

A Unity project where I made some systems for a "resource management / harvesting" game. I tried to make it very flexible and modular. Where the concept of an item is fairly abstract and you have a lot of customizability of your inventory.

(function () { document.querySelectorAll('.card').forEach(card => { const v = card.querySelector('video.video'); if (!v) return; const play = () => v.play().catch(() => { }); const stop = () => { v.pause(); v.currentTime = 0; }; card.addEventListener('mouseenter', play); card.addEventListener('mouseleave', stop); card.addEventListener('focusin', play); card.addEventListener('focusout', stop); }); })();
Nautilus cover
1 4 Weeks Unity

Build Your Gun

Tools / Systems

What if you had a tool or plugin that could make almost any gun imaginable. Then, a game with a lot of varied guns would not be a big problem. That is what my first personal project Build Your Gun is all about.

(function () { document.querySelectorAll('.card').forEach(card => { const v = card.querySelector('video.video'); if (!v) return; const play = () => v.play().catch(() => { }); const stop = () => { v.pause(); v.currentTime = 0; }; card.addEventListener('mouseenter', play); card.addEventListener('mouseleave', stop); card.addEventListener('focusin', play); card.addEventListener('focusout', stop); }); })();

Game Projects

Nautilus cover
12 9 Weeks Unity PC

Nautilus

Game Project

An underwater expedition, where you are the one controlling a submarine and exploring various deep sea environments. The main focus is laid upon the atomosphere and visual storytelling rather than traditional mechanics. Light, sound, and movement guide the experience, creating a sense of isolation and unease. There are no enemies to fight, only the unknown waiting for you to dive deeper.

(function () { document.querySelectorAll('.card').forEach(card => { const v = card.querySelector('video.video'); if (!v) return; const play = () => v.play().catch(() => { }); const stop = () => { v.pause(); v.currentTime = 0; }; card.addEventListener('mouseenter', play); card.addEventListener('mouseleave', stop); card.addEventListener('focusin', play); card.addEventListener('focusout', stop); }); })();
OpponentsInCrime cover
16 9 Weeks Unreal Engine PCPS5

Opponents In Crime

Game Project

An online multiplayer party game, where the main goal is to be the best thief and steal as much artwork as you possibly can. The twist is that your friends are now your enemies and will do their best to sabotage you. So hurry and sabotage them before they get a chance to! This chaotic, light-hearted game is promised to make you laugh out of malice, but watch out so you’re not the one being laughed at. Will you be the best art thief or will you let your opponents win?

(function () { document.querySelectorAll('.card').forEach(card => { const v = card.querySelector('video.video'); if (!v) return; const play = () => v.play().catch(() => { }); const stop = () => { v.pause(); v.currentTime = 0; }; card.addEventListener('mouseenter', play); card.addEventListener('mouseleave', stop); card.addEventListener('focusin', play); card.addEventListener('focusout', stop); }); })();
SlipUpNSlide cover
12 6 Weeks Tengine PCPS5

Slip Up N Slide

Game Project

A split screen multiplayer racing game that can only be described with one word. Chaos! The goal is to be the first to cross the finish-line by racing down a slippery track as a penguin. However, to be the fastest, you might have to use the chaotic physics provided in the game and think outside the track to win!

(function () { document.querySelectorAll('.card').forEach(card => { const v = card.querySelector('video.video'); if (!v) return; const play = () => v.play().catch(() => { }); const stop = () => { v.pause(); v.currentTime = 0; }; card.addEventListener('mouseenter', play); card.addEventListener('mouseleave', stop); card.addEventListener('focusin', play); card.addEventListener('focusout', stop); }); })();


function scrollToTop() { window.scrollTo({ top: 0, behavior: "smooth" }); } const button = document.getElementById("topButton"); window.addEventListener("scroll", function () { if (window.scrollY > 1) { button.style.display = "block"; } else { button.style.display = "none"; } });

Noa Johansson

Hello, I'm Noa

I'm a game programmer student at PlaygroundSquad. And as long as I can remember I have been interested in how games are made. Even a six year old me would answer the question "what do you want to be when you grow up" with "I want to make games". I had for a long time no idea how they were made, just that there was something special about it. Eventually I started finding patterns, invisible walls, mirrors that had identical flipped rooms behind them that just looked like a mirror, hollow houses without collisions from the inside and so much more. And by the years my fascination just grew stronger and stronger. Strangely enough it took a while before I tried out making games. But when I did I realized that even though making art and designing the game mechanics was really fun, the technical implementation was the part I fell in love with.

Free time

Outside of my interest in games, I'm a big music nerd. I love to discover new genres, and find hidden gems among the sea that is today's music landscape! It's nice to go back and discover some old classics, listen through a 60s rock band no-one has heard of. And why not dive into today's experimental electronics scene. There's a lot to find out there if you just keep on searching :)I'm also really interested in psychology and would probably be studying to be a therapist by now, if I didn't pursue the career path of a game developer.And as you can see, I love cats :D