Lukas Edström

Gameplay Programmer & Producer

About Me

I'm a gameplay programmer and designer with a focus on systems. Over the past few years, I’ve worked across core gameplay, progression, multiplayer and meta systems - building features that are both fun to play and practical to develop.I enjoy solving tricky problems, designing systems from scratch, and keeping development grounded in what ultimately feels fun.I’ve also taken on production responsibilities when needed, helping the team stay aligned and projects move forward without adding unnecessary overhead.Whether it's building tools, shaping mechanics, untangling bugs or supporting production, I like work that’s thoughtful, fun, hands-on and built to last.

Work Experience

Unannounced Project

Position: Gameplay Programming & Design, Producer

NOTE: As this project is un-announced, you must request the login via either LinkedIn or e-mail.


Diabotical: Rogue

"Diabotical: Rogue is a fast-paced FPS combining arena shooter gameplay with roguelike upgrades. Players pick from unique suits and evolve their loadout mid-match."Position: Gameplay Programming & Design
Engine: GLITCH
Company: The GD Studio
Release: June 4, 2024

School Projects

Solar Uprising

”In a solarpunk future, hastily traverse the city to liberate robots controlled by a rogue AI to restore harmony.”Timeframe: 16 weeks (20h/week)
Engine: In-house engine
Major Contributions: Audio, camera, rotations and tools


Spite: Divine Descent

”Spirits from the dead are rising, only with mystical martial arts will the spirits and their king be banished. So you must descend the mountain to stop them.”Timeframe: 14 weeks (20h/week)
Engine: In-house engine
Major Contributions: AI behaviour, boss-scenarios, audio


Vilse

"Through forest and swamp, monsters and dangers, you must travel to find home to mom and dad... All you have is a stick and your courage."Timeframe: 12 weeks (20h/week)
Engine: TGE (School Engine)
Major Contributions: Player controls, camera, audio


Requiem

"Solve the mystery of the dark beyond by unraveling its secrets"Timeframe: 6 weeks (20h/week)
Engine: Unity
Major Contributions: Player controls, interactables, camera

Diabotical: Rogue (Dec 2023 – Aug 2024)

Designer & Gameplay Programmer


Summary and Personal Reflections:

Prior to development of Diabotical: Rogue, the studio was working on another, un-announced project, over Christmas 2023 we made the decision to change direction to be able get another project out, using the original game released by the studio as a base. And the development of Diabotical: Rogue started.Diabotical: Rogue was a great project that came out of late nights, tight deadlines and a massive team effort. With only about five months of actual gameplay production, it was intense - but incredibly rewarding.It was also one of my first deep dives into multiplayer development, where I had to focus heavily on writing performant, stable and secure code. I learned how to approach systems from a server-client perspective and made sure everything on the gameplay side held up under load.One important thing to be said about the way we did it at GD is all designers are also programmers. That means if you had an idea, you're expected to be able to implement it yourself. The outcome of this is instead of just theorizing an idea, you show it, we test it and if it works - it stays.On the design side, the entire gameplay loop was built by a small team of six, including myself. We wanted to do something fresh while still staying true to Diabotical’s legacy as an arena shooter. We had a lot of discussions around whether we should keep traditional genre mechanics or strip them in favor of accessibility. In the end, we chose our own path. The result is still fast-paced and high skill-ceiling, with a heavy emphasis on movement, but without forcing players to learn arbitrary mechanics just to compete. This is why we could see players like Shroud pick it up and completely dominate from the get-go.The roguelike layer gave players a way to shape their builds based on luck and preference, adding strategic depth while making the game more approachable to new players.


Contributions:

  • Designed and implemented the modular skill system, forming the backbone of all class and ability interactions. Fully data-driven and multiplayer-safe, it enabled gameplay programmers to iterate independently and quickly through text-based definitions and spend less time writing boilerplate.

  • Maintained and extended the game’s parsing architecture for upgrades, skills, and class data, while improving reliability and clarity.

  • Built gameplay mechanics end-to-end: active/passive skills, debuffs, buffs, dots, projectile behaviors, and ability upgrades with augments and rarity logic.

  • Created core roguelike mechanics including card selection, shops and meta-progression. Developed loadout systems, round rewards, unlocks, and synergy scaling.

  • Developed and maintained official game modes - Wipeout and Warmup, and in-development prototypes like Domination — including spawn systems, progression flow, and round logic tailored to each mode.

  • Handled various kinds of multiplayer logic: syncing abilities/passives, class states, and shops across server and client. Built systems robust to handle late joins, disconnects, and reconnections.

  • Created debugging and internal tools to streamline iteration: runtime gameops, formatting helpers, and designer-friendly command systems.

  • Addressed performance and stability issues across gameplay systems, ensuring strong network replication and stable runtime behavior under load.

  • Supported post-launch efforts through continuous patching, bug fixing, and quality-of-life improvements. Resolved high-impact gameplay bugs and collaborated with the rest of the design team to balance systems based on live feedback.


Skill System Overview:

The main goal of the skill system was to create something that puts the designer first, allowing for quick iterations while not compromising stability and optimization. What we ended up with is a simple-to-use, flexible system that we could then use not only for Diabotical: Rogue, but all other projects and prototypes made at the studio. Defining a new skill takes around a minute and implementing custom logic is seamless with the use of hooks.

Defining, Parsing & Calculating

Each skill is defined in a raw text-based script using a C++-like format for syntax highlighting. Every definition includes a unique ID, metadata (translation keys, icon, category, etc), and functional values (damage, radius, duration, etc).On load, all scripts are parsed and stored in a map of SkillDefinitions - available to both clients and the server - allowing us to only replicate the relevant IDs during networking. During development, these scripts are stored locally and can be reloaded without recompiling. On release builds, they’re baked into the .exe, while the server always runs the raw script versions.The system is lightweight, version-control friendly, and fast to iterate on.

Upgrading, Adding & Replication

Skills are requested from the server and replicated across clients. Each instance is stored as a SkillState on both the client and server, which holds a computed version of the base SkillDefinition. These base definitions are never modified at runtime.When an augment is applied, the computed skill is recalculated with all relevant value changes - ensuring consistency across all clients.Late joins and reconnections are fully supported. The server resends relevant client state, ensuring full synchronization regardless of timing.

Using the skill & hooks

For the custom logic of each skill, we use a callback system that allows each skill’s behavior to live in a single .cpp file. In the example, we’ve only included a simple on_activation (button press), but the system supports hooks for most in-game events - like damage taken, player jump, and projectile hit. This keeps the system modular and easy to extend.The example on the left shows the full lifecycle: callback registration, client-side activation, and server-to-client replication.


Showcase Dump

Below is a showcase of a few videos and GIFs showcasing most of the components that I've either directly implemented on or been a part of designing. However, as the gameplay design/programming team was so tightly knit - all of us more or less helped on most things in some way or form.

All Class Highlights

Early version of the Overload ability

First prototype of Ball Roll

Early prototype of Implosive Pull

First version of interactable shops

First version of classes

Early prototype of a movement ability

Early version of Leap ability