Karunia Ramadhan

Karunia Ramadhan

Game Developer & Programmer, Freelancer

Contact Me


Fail fast and not over-engineering, I believe in programming by iteration and that nothing is perfect for the first time. You can expect not-so-long design at pre-production, features that will be incremented over time, and a bit of hack jobs when dealing with unexpected deadline.

Working on games since 2011, I've developed over 30 games from mobile games to game jams, and now focusing to Virtual Reality and PC/Console games. I'm proficient in technical design, architecture, and game programming while dabbling in storytelling and production in my spare time.

Currently I'm active on an indie game jam group called Circus Horse doing lead programming and other various roles. I'm also freelancing as a Game Programmer while remastering the low-level knowledge so I can have a better foundation and develop more complex games for a long time.

Loves reading, video games, and new technology.


project dronevr

Flying Board VR (Unity)

October 2017 - January 2018

Driving a drone as a hoverboard in VR. Created for HTC Vive & Steam VR. Use a custom Arduino to Motor for the external "drone" simulation.

  • Drone control implementation using Vive controller
  • Grabbing flag gameplay mechanic using Vive tracker
  • Gameplay and flow implementation using UniRX and Zenject
  • Final IK (VRIK) and Leap Motion integration
  • Assets integration and UX implementation

project susup

Ejen Ali - Operasi Susup (Unity)

November 2017

Co-op party games where one player play an agent (Android device) and one other player play as the handler guiding the agent (physical map). Entry for SEA KL Level Up 2017 Game Jam.

  • Game design
  • Traps, alarms, doors, and switch implementation
  • Basic guard walking through a path
  • Game flow from start until the end
  • Sound integration

project highlight

Highlight (Unity)

October 2017

Runner up of Jammingtons 3 Jam. Experimental narrative about a soccer player's life.

  • Everything except art assets.


project crimson

Crimson 451 Demo (Unity)

August 2017 - September 2017

  • Implementing & polishing additional mechanics for locomotion and combat
  • Security, hacking, and drone mechanics implementation
  • Integrating various shader for visual improvement
  • Integrating combat and hacker mechanics in the level design
  • VN integration using Fungus


project freefallvr

Freefall VR (Unity)

April 2017 - June 2017

"Falling from a cliff" simulation in VR. Created for HTC Vive & Steam VR.

  • Gameplay and flow implementation
  • Scene calibration logic and UI interaction using VRTK
  • Scenes navigation, assets integration, and UX implementation
  • Mini-game simple hidden object implementation

project chatter

Chatter (Unity)

May 2017

Slice of life family chat group simulation with choices. Submission for Gr8ArtGames jam.

  • Game design
  • Writing
  • Gameplay and overall programming
  • Dialogue system integration using Yarn
  • UX implementation


project paleblue

Pale Blue (Unity)

Jun 2015 - March 2017

2D anime-style action side-scroller.

  • Technical coordinator
  • General Utility AI Framework based on Dave Mark's GDC 1 GDC 2
  • Enemy design and implementation including Spine workflow.
  • Boss design and implementation


project caveblind

Cave Blind (Unity)

Jan 2017

Jam entry for GGJ 2017. Slow action game where you can only hear the sounds.

  • Game design
  • Player and battle implementation
  • 3D sound placements
  • Main menu implementation

Global Game Jam

project fallen

Fallen (Unity)

Dec 2016

Entry for Ludum Dare 36, Fallen is an interactive experience about being a floppy disk who are fallen behind the times.

  • Game design
  • File management logic and UI implementation using reactive
  • Dumb file system AI for enemies
  • Various game mechanic logic and UI implementation for environment and enemies (ex: alert, cancel, eject, wifi)
  • Story implementation

Ludum Dare

project 24a.trugolfvr

TruGolf VR (Unity)

Sep 2016 – Oct 2016

A mobile VR golf game. Using S6 and Gear VR for the medium and custom controller (using Arduino) for input.

  • Golf game flow implementation from beginning to end
  • Translating custom controller force input to game-friendly number
  • Obstacle + score implementation
  • Promotional ads implementation

project altaminute

Alta Minute (Construct 2)

Jul 2016 – Aug 2016

An auto battle game for Samsung Gear S2, Alta Minute. One of the 20 winners of Dicoding Tizen Wearable Challenge.

  • Game design
  • Overall game implementation
  • Input handling using bezel

project mazeshroomvr

Maze Shroom VR (Unity)

Jun 2016 – Jul 2016

Dungeon crawler Cardboard VR game, Maze Shroom VR. Also one of the winner of Dicoding Lenovo VR Challenge 2.

  • Battle gameplay design and implementation
  • Battle action are implemented using animation and event message passing
  • Battle attributes and UI using reactive (UniRX)

Google Play

project noor

Noor (Unity)

Feb 2016

Noor is an entry for Game Jolt GDC jam 2016. It's a small isometric adventure about a kid going through a dark world with a light. Designed the level and story, the isometric system, and the overall story telling implementation.

  • Level design, level polishing
  • Story writing
  • Isometric camera and object implementation
  • Story telling implementation (triggers, progress, and UI)

Game Jolt

project acomedicritual

A Comedic Ritual (Unity)

Jan 2016

Global Game Jam 2016 entry, A Comedic Ritual. Turn based J(oke)-RPG battle system where you duel using jokes, puns, or insults.

  • Overall game design
  • Turn based question-answer using keyboard input implementation
  • UI implementation
  • Polishing: UI and procedural objects (Procedural Toolkit) that moves according to the music beat (Beat Detection)
  • Everything aside from character art and music

Global Game Jam

project daybyday

Day by Day (Unity)

Dec 2015

Entry for Ludum Dare 34, Day by Day. A story about a dog's daily life while waiting for its master to come home.

  • Endless circular background system implementation
  • Background content designer, also handled post-processing and effects for each game season
  • Overall game flow and scenes management
  • Designed and QC the storytelling

Game Jolt

project ohmyviking

Oh My Viking (Unreal Engine 4)

Oct 2015

Local multiplayer brawler game using hook and axe.

  • Character movement and grappling hook blueprint implementation
  • Game arena logic blueprint
  • Local multiplayer setup
  • Sound implementation
  • UI implementation

Epic Mega Jam Submission

project anxiety2

Anxiety: Lost Night (Unity)

Aug 2015 – Sep 2015

Sequel and experimental game using 2D 360 textures, Anxiety Lost Night. First created as an entry to Ludum Dare 33.

  • 360 model and texture implementation
  • Story flow implementation (opening, in-game, and ending)
  • Sound implementation
  • Overall background content designer and post-processing

Game Jolt

project anxiety

Anxiety (Unity)

Jun 2015 – Jul 2015

Anxiety is an entry for Bacongamejam 09 (#11) and the first of maxiandthegang jam team released games. Also released on Gamejolt and winner of Best Game Art IN.GAME 2015.

  • Character implementation (movement, interaction)
  • Dialogue popup implementation
  • Story module and content implementation (opening, in-game, and ending)
  • Background post-processing

Game Jolt

project 15a.infinitewars

Infinite Wars (Unity)

Jun 2014 – May 2015

Infinite Wars is an asynchronous online mobile RPG for Smartfren's android devices and more.

  • Game design
  • Technical design
  • Overall high level game architecture implementation
  • World base system using area and portals that connecting the area
  • Character implementation (movement, battle)
  • Spine workflow for different character gender, armour, and weapon according to game jobs
  • Monster implementation (linear movement, battle)
  • Goal-Oriented Action Planning (GOAP) AI implementation for monsters

Google Play

project disco

Disco of Thrones (Unity)

Apr 2015

Ludum Dare 32 entry and #136 overall. Four player brawler using when the disco beat to attack.

  • Simple beat framework implementation to match with the music to be used for whatever the game needs
  • Menu UI and scene flow
  • Polishing: post-processing, misc UI

Ludum Dare

project impossibledrama

Impossible Drama Show (Unity)

Feb 2015

Entry for Intel Real Sense competition about a boy who proposes to a girl. It's a collection of mini games using Real Sense technology (hand gesture detection, head gestures and facial expression) as the interaction. Features crazy stories and wacky games.

  • Real Sense input abstraction to gameplay input
  • Overall gameplay (all mini-game) implementation
  • Story telling flow and VN using INheritage modules
  • Story content implementation (opening, in-game, ending)
  • Menu UI and scene flow

Game Video

project scrollolo

The God Must Be SCROLLOLO (Unity)

Jan 2015

Entry for Global Game Jam 2015, The God Must Be SCROLLOLO. It's about a prophet that is being sent by the drunk god to create a scroll to guide the world itself.

  • Endless changing background and content implementation
  • Gameplay flow (moving - mini game - moving) implementation
  • Yes/No and battle mini game implementation
  • Story telling flow and VN using INheritage modules
  • Story content implementation (opening, in-game, ending)
  • Menu UI and scene flow

Global Game Jam

project bellydancy

Belly Dancy (Unity)

Jun 2014 – Sep 2014

Developed a rhythm game for a client, Belly Dancy.

  • Basic rhythm recorder for creating in-game rhythm according to different songs
  • Beat engine for saving and playing the recorded beat in-game
  • Gameplay implementation (rhythm game with 3 songs, last song looping) with classic and challenge (one failure = die) mode
  • Dancing character implementation
  • UI implementation (menu and in-game)
  • Video player implementation
  • Game Center and Google Play leaderboard implementation
  • Cross platform publishing for Android and iOS

Google Play

project palebluemockup

Pale Blue Gameplay Mockup (Unity)

Apr 2014 – May 2014

Pale Blue Gameplay Mockup is a less-than-demo of Pale Blue that was released on the Kickstarter campaign.

  • Refactor
  • Stage design and implementation
  • Objective system and implementation
  • Storytelling module and UI implementation
  • Scene flow


Eden: It's a New World (Unity)

Mar 2014

A minimal time simulation game about Mukya that beginning to lives on Planet Gyabo. Lesser version of The Sims. Actually a test bed for a paper about retention analytics.

project gamethegame

Game: The Game (Unity)

Jan 2014

Entry for Global Game Jam 2014. Meta game about how it feels being a Game Engine.

  • Collision on gameplay implementation
  • UI implementation
  • Log module (for game feedback) and content implementation
  • Result module and content implementation

Global Game Jam

project inheritage

INheritage: Boundary of Existence (Unity)

Dec 2012 – May 2013

SHMUP with a reimagined mix of Indonesian ghost culture with a popular fantasy style.

  • Designed and refactor for single scene architecture
  • Generic Visual Novel (VN) system implementation (moving pictures, background, dialogues, choices)
  • Scrolling background system with event for changing its attributes (ex: going up/down, slower/faster)
  • Background content implementation
  • Game progress implementation
  • Achievement module implementation

project soccergirl

Soccer Girl Adventure (Cocos2d-x)

Feb 2012 – Mar 2013

Runner game with a female protagonist and a story. Soccer Girl Adventure is the one game that was created with many headaches and ported to lots of platforms such as iOS, Android, Windows 8, Blackberry 10.

  • Runner gameplay with swipe input
  • Character and enemy implementation
  • Simple VN module using JSON
  • General porting

Trailer Video

project littleranch

Little Ranch (Cocos2d-x)

May 2012

In Little Ranch, the player will need to match what animal they see on the board to what the birds brings.

  • Tap "choose a similiar picture" gameplay implementation
  • Overall game design and implementation
  • Everything else other than art and music

project pigrider

Pig Rider (J2ME)

Apr 2012 – May 2012

Third winner of Jogja Game Expo / (Indonesia) Mobile Game Developer War 3. Pig Rider is a drag racing game by using Pigs as the vehicle and have a race objective opposed to endless runner.

  • Drag racing gameplay implementation
  • FSM AI implementation for the opponent
  • Achievement module implementation
  • Upgrade module implementation
  • UI implementation
  • Everything aside from art and music

project backyard

Backyard Madness (J2ME)

Jan 2012 – Feb 2012

Backyard Madness is a four-way tap shooter about a grandma protecting her backyard from monsters, using cane and shotguns. It made to 8th place for (Indonesia) Mobile Game Developer War 2.

  • Tap shooter using touch and button input gameplay implementation
  • Wave based level design and content implementation
  • UI implementation
  • Everything aside from art and music

project ratorama

Rat-O-Rama (XNA)

Nov 2011

Rat-O-Rama is the first "Tinker" game, created on 3 days Windows Phone 7 jam. It's a simple tap-to-shoot game about a rat that goes back through time to prevent a war with the mouse.

  • Tap shooter gameplay implementation
  • Character implementation (attributes, ammo)
  • Items (health = heal, grenade = kill all enemies) implementation
  • UI implementation
  • Everything aside from art and music

Throw Your Android - Garuda (Libgdx)

Feb 2011 – May 2011

The game use accelerometer to detect how far you "throw" the phone and use the calculated force to throw the Garuda accross the stage.

  • "Throwing" gameplay using accelerometer input implementation
  • Everything aside from art and music

Other Projects

Attributes Open Source

Active attribute (ex: Health) implementation for Unity3D, inspired by SoulsBourne. Implemented using UniRx.