Whoops! This page is intended for portfolio highlights! These work with section breaks automatically through the buttons on the main site. Please go back and do that!

Jungle Jim (2025)

Overview

Jungle Jim is an action-adventure 3D Platformer where players build their own unique movement styles! I am the primary developer responsible for most of the game spanning from programming to asset creation. The game began as a personal project of mine, which then took off towards the end of my university studies as I began to collaborate with others for my capstone. Below on the Artstation page you can find the credits for everybody involved on the project.

Contributions


Design

Game Design

The primary gameplay loop is essential to creating an engaging experience, especially for action games. Jungle Jim is a platformer. The primary loop consists of assessing the gameplay space, and then executing movement based on the player's assessment. There may be enemies, obstacles, or timing that challenges the player and creates friction when accomplishing their goals. I wanted the game to be a pretty quick pace, always giving the player something fun to immediately move onto doing next.    Levels mostly consist of only the primary platforming loop. The secondary loop breaks up the pacing and gives players a chance to take a step back and reassess their build. The player can decide what to spend their obtained collectables on in the hub world. This can allow players to try new cosmetics and movement kits, it or can unlock new challenges for players to attempt.    My central gameplay pillars are Freedom of Movement, Joy of Exploration, and Expression of Skill. I wanted this game to allow players to move in a style that is their own. The game allows for multiple solutions to platforming challenges. Players will use movement options and player builds that they enjoy, and can complete challenges in their own stylish way. Skill is rewarded with faster times and ability to collect tough collectables. The game will feature a ghost-recording system with leaderboards for world record level completion. Players can download replay ghosts to race against!Throughout development, I have continued to iterate on the design and conduct playtesting sessions. I have written numerous devlogs detailing my thought processes for the games design. I go way more in depth in these devlogs, so please give them a look!

Level Design

I was responsible for designing and blocking out most of the levels for the game. For the levels, I wanted them to be mostly linear. I was inspired by the linear level design of Mario Galaxy and Astro Bot. However, character movement in those games is very linear, which is not what I want. I was interested in creating a game that has linear level progression with non-linear movement, allow players to complete the linear challenges of the level in their own way. This created many challenges in created gameplay spaces for me to find solutions for. The main reason was that I also wanted levels to feel like a real part of the game world. With the amount of volition the player had in their movement, it was difficult to find a balance between geometrical abstraction and environmental cohesion.I wanted each level to provide something new for the player. I was inspired by Kishōtenketsu, a traditional Japanese narrative structure, recently known for its use in Super Mario 3D World. It is a four step process of Introduction -> Development -> Twist -> Resolution. Each level introduces a new mechanic or feature for the player to play with, and uses this method throughout the entire level to create interesting gameplay. The tutorial level does this with breakable rocks, which surprise the player in more ways than one would expect throughout the level. They combine larger structures, can store magic power to provide propelling force, and are utilized in a few puzzles testing the players knowledge of aerial hitboxes.For each of my levels, I conducted numerous playtesting sessions for every level iteration and would resolve any common issues or hiccups that were occurring.


Character, Camera, Control

Sophisticated Camera System

Out of all kinds of games, I believe that 3D platformers have some of the strongest needs for a responsible camera system. The player is constantly swiveling the camera while performing complex character movements in 3D space. If implemented incorrectly, it could be hugely detrimental. Within 3D platforming audiences, I believe it is fair to say that a players first impression of the quality of a game lies in the camera system.I studied Mario Odyssey intimately to assist in creating my camera system. One of the largest takeaways from that study was to create a camera system that did not always do collision traces for camera distance. The camera is very far away from the player, so angles such as cliffs become a huge problem if camera is constantly snapping back and forth between large distances. Instead, my camera system will only snap if the camera itself is close enough to walls. Additionally, when the camera zooms back out to max distance, I interpolate this process so there is no jarring instant snap.I implemented several features such as this to improve the players view into the game world. You can read about my camera system in the devlog below!

Movement Mechanics

When developing the characters movement, I paid particularly close attention to game feel. I studied many 3D platformers such as Mario Odyssey to understand what made those games feel so good to control. I also developed several additional movement states for environmental interaction such as ledge traversal, climbing, swing bars, and diving boards.I had many findings that influenced my implementation for the game. I often used the input data of the joystick for detecting flicks and spins, as well as for getting the players input direction in world space for things such as shuffling on ledges.I also implemented quality of life features such as input buffering and coyote time to lower the skill floor to correct and preserve the players intentions for their character.The game is suggested for controller, but it is also able to be played with the keyboard. Because of this, I created separate execution logic in areas depending on the control method in order to improve game feel for both mediums. For instance, doing "flick" movements on keyboard for diagonal directions (such as AW to SD) have a wider angle of acceptance and a longer window.


Game Art

Character Modeling and Animation

I was also responsible for modeling, texturing, and animating all characters in the game. The protagonist, "Jim", has over 100 animations that I had created and implemented into the game using a variety of techniques such as Blend Spaces, Control Rigs, and Blendshapes. The result turned out great!It was a lot of fun figuring out how to create animations that informed the player about the current state of their character. For instance, when performing a "Flip Kick", Jim is unable to grab the wall for a brief moment afterwards by design. To show this in the animation, I had Jim enter a cannonball shape until he was ready to grab the wall.I learned that animation is incredibly important for readability of gameplay and translation of mechanics for players to understand. I still need to create the animations for the enemy characters, and I am looking forward to bringing this knowledge into that process!

Level Art

     I was responsible for the environment art for the levels. Instead of using textures and models from asset packs, nearly every texture and model was created myself. Through this process, I learned about using vertex painting and instanced meshes in my workflow to increase the quality while decreasing the time expense. Another tough lesson I learned was just how long it takes to actually fill in a level!     Over time, my substance skills grew along with my tech art knowledge. Art requiring complex shaders were not a problem.     I wanted the world to feel bright and cartoony. Levels have a post processing effect that bumps up the saturation globally, which helps achieve this. I also wanted to avoid having flat colors. I was inspired by games like Mario Odyssey and Super Monkey Ball that still use normal maps and some realism in the textures, though I don't think I was able to capture that vision at the quality I was looking for. The characters look great compared to the rest of the world. I think if I could do it again, I would seek for more concept art help for the game world itself.


Misc.

Project Management / Leading

This project was my first time assembling and leading a team for game development. I created a discord server and online drive to organize discussions and development. This worked very well as everyone was able to quickly find what they needed or reach out to the right people. Though it wasn't all so easy, there were many challenges I faced. Since this was a student-led project, every collaborator was not set to a strict timeline and would help at their own pace. This made it difficult to properly manage the overall time of the project, and often left me with pieces to put together. This also increased the frequency I needed to follow up on progress, which would often cause a bit of strain. In the end though, I think everything has turned out well!

Cinematics

     This game has a storyline and plot, but it isn't terribly important to the game. However, I did want to create cinematics to play a larger role in presenting the games story and offering an element of humor.     I was inspired by the humor of Paper Mario and Pokemon. The characters in the world understand the importance of the plot, but their lines themselves very much subvert the seriousness. I wanted there to be an innocence to the humor, such that any age can appreciate it.     To make cutscene implementation as quick as possible, I created a modular and scalable cutscene system to be used throughout the entire game. I created an "order" system that allowed for cutscenes to be created entirely in the details panel and level sequences. This system allows interactable dialogue to play throughout cutscenes and dictate their pacing.

Gallery

Collection of images, videos, and behind-the-scenes content for my contributions in the project.

Rising Tides '25 Trailer Jam Submission - made it to top 15%!

Finished level "Creepy Crypt". Features dark level mechanics and a ghost that chases the player in darkness.


Blockout of the level "Lilypad Labyrinth" as of 1/18/2025.

Playthrough of the tutorial level "Riverside Ruins" as of progress at 06/03/2026.


Timer Challenge testing players knowledge of horizontal movement options.

Subarea testing players knowledge of vertical movement options.


Timer Challenge testing players knowledge of attack hitboxes. A bit of a puzzle.

Timer Challenge surprising players and forcing them to adapt with either combat or platforming.


Trapeze Mechanics

Swing Bar Mechanics


Ledge Traversal and Climbing Mechanics

Diving Board Mechanic


Screenshot of characters

Screenshot showcasing all of the character models I modeled and rigged.

Riverside Ruins Graph

Finding balance between level abstraction and environmental cohesion.


Headshot of Jacob Jones.

Game Loop Diagram. Click image to see full size!

Riverside Ruins Graph

Riverside Ruins level design. Click to see presentation with a video going through the level.


Maya Arnold render of the Run Fast animation.

Maya Arnold render of the Slide Jump animation.


UI Reel(UMG, Niagara UI, Sequencer)

Very early tech reel created for my universities GDC sponsorship application.


Headshot of Jacob Jones.

Jim's model topology.

Headshot of Jacob Jones.

Evolution of Jim's model created entirely in Maya with hard surface modeling.

Headshot of Jacob Jones.

Lickguana model, created with Z Brush, Maya, and Substance Painter.

Headshot of Jacob Jones.

Evolution of Jim's model created entirely in Maya with hard surface modeling.

Headshot of Jacob Jones.

Body UDIM.

Headshot of Jacob Jones.

Cosmetics UDIM.

Riverside Ruins (2026)

Super Jungle Jim

Overview

“Riverside Ruins” is the first level in Super Jungle Jim and serves as an introduction to the game's primary gameplay. The player runs, jumps, and swings through the jungle to discover ruins from a past civilization. The entrance to these ruins is guarded by the talking wall “Ugg” who directs the player to retrieve a relic from deep within the jungle riverbanks to access the treasure within the ruins.

Super Jungle Jim has a large quantity of mechanics, so it was important to carefully consider the players’ moment-to-moment experience to ensure correct order, emphasis, and categorization of mechanics for the player.

Video Playthrough (WIP)

Attention!

This level is currently still being developed. Regardless, I wanted to write and show the current progress as I have become very proud of this level. Keep in mind that this page will grow over time and certain parts of the level may not have visuals displayed yet.


Area 1 - Input Foundations

First, players are introduced to the core functionality of all of the face buttons of the controller. Bottom Face Button is for jumping, Right Face Button is for interaction, Left Face Button is for attacking. The first section of the level is built around these three mechanics. The player is required to use all three to complete the area. It is very important for player to get accustomed to these inputs, as any contextual inputs in the game use this mapping as its basis. For instance, the attack button can throw objects and the interact button drops them. This follows the mapping thematically when seperating as hard action and soft actions.

As this is the first area of the game, I did not want players dying here. Enemies were off the table. Since there are no enemies, I had the idea to use breakable boulders to teach attacking instead. Since they are static, players can practice timing their punches while moving forwards, and they add a level of interactability to the level. These boulders also have another function- I use them to set up player expectations. I followed Kiu Tenetsu’s 4-Step Approach within just this first area for the boulders.

Boulders are introduced in a safe environment, where players can break many of them at a time. During this moment, they may discover that they drop items. Next, the boulders are developed in the player's mind. The player notices they are placed in conspicuous locations, and they associate breaking these conspicuously placed boulders with getting a reward. Afterwards, a twist is introduced. The breakable rocks are conjoined together to form large breakable walls. This provides a moment of discovery where the player knows exactly what to do, and it feels satisfying to discover and accomplish. The fourth step from Tenetsu’s approach is a final challenge, but due to the nature of the rocks that doesn't quite match. Instead, additional twists will appear later in the level. I’m a huge fan of the boulders, because it allowed me to create a fun “sub-game” where players can look for conspicuously placed boulders throughout the rest of the level.

Headshot of Jacob Jones.

Area 2 - Horizontal and Vertical Options

The second area of the level is separated into two halves: horizontality and verticality. When it comes to moving in Super Jungle Jim, understanding your horizontal and vertical options is extremely important for making decisions. Because of this, I wanted to allocate more gameplay time to just these concepts. I wanted them introduced alongside each other so that that player is able to draw parallels immediately- moves learned in one half will not necessarily help them in the other half, they must master both halves to move deeper into the level. Players must collect a key from each half to open the door forwards, and each key is only obtainable by using either verticality or horizontality.

Additionally, I wanted players to commit these concepts to memory. In other words, I wanted to create memorable gameplay moments based around these concepts within this area of the level. I not only added unique set pieces to each half, but I also introduced new optional gameplay challenges to be discovered. The horizontal half introduces timer challenges, and the vertical half introduces subareas. These challenges require the skills from their associated half in order to complete. I believe these challenges will work wonderfully for creating memorable moments for the player.


Area 3 - Independence and Misc. Movements

In the next area, I wanted to give the player more independence in exploration. Because of this, the level opens up quite a bit here when it comes to exploration. There is also still much to teach the player. I sorted the remaining movements by priority and included the highest priority moves into the critical path. Lower priority movements were sprinkled around the level and act as educational gates for rewards.

The flip kick was the most important move to teach here, so it is front and center. The rocks from the previous area return and are used to teach the flip kick. The rocks also expand further - with magic! Magical rocks can launch the player when they attack them. Since they float in the air, this requires either a flip kick or a dive kick. I implemented these partly because I wanted to give the player some kind of "wow!" factor to keep things interesting. Tutorial levels tend to get pretty boring after awhile, and it felt like a good time to implement a twist to the rocks from before. Once the player reaches the magic rocks, the tutorial is pretty much over. From this point onwards, I want to give them reassurance that the rest of the game will be something to look forward to.


Area 4 - Final Challenge

In the next area, I wanted to give the player more independence in exploration. Because of this, the level opens up quite a bit here when it comes to exploration. There is also still much to teach the player. I sorted the remaining movements by priority and included the highest priority moves into the critical path. Lower priority movements were sprinkled around the level and act as educational gates for rewards.

When Ugg reveals the path forwards, it becomes a stark contrast to the rest of the level. The ruins are in full effect and the objective is clearly visible. At this point, I want players to realize that this will be the final challenge of the tutorial, and it will test them on what they have learned within the past 15 minutes.

Gallery

Collection of images, videos, and behind-the-scenes content for my contributions in the project.

Headshot of Jacob Jones.

Early look at Area 3

Riverside Ruins Graph

Early look at Area 2's Horizontal area.

Headshot of Jacob Jones.

Early look at Area 1

Riverside Ruins Graph

Early look at Area 2's Vertical area.

Battery Game (2026)

Overview

2D Physics Platformer built around creating a feeling of finesse within players. Players use rotation and the forces of electromagnetism to traverse the game world and save the planet. Programmed entirely by myself. Team consisted of myself and a 2D Artist. Game was developed in 3 months fulltime.

Contributions


Technical

Technical Design

I was responsible for all of the programming and gameplay design for the game. This game was unique in that the character moves through rotation. This presented challenges that I otherwise would have not gotten the chance to overcome. Creating a controllable character based on rotating rigidbodies was difficult to make accessible for new players, but I am pretty satisfied with the results. Finding a blend between electromagnetism forces and player control was a good test of both my vector math and design skills.

Technical Art

Created shader code and render features to improve the gameplay clarity and achieve artistic goals. I put a great amount of care into the optimization for these features so that the game can continue to run on low-end systems. I had to program generation for 2D signed distance fields, which was an undertaking I learned a lot from.


Design

Game Design

I was responsible for figuring out the initial concepts and product viabilities for the game. The results informed the design decisions for the rest of the game as to appeal to the games core audiences. The project had numerous constraints that we had to work within and it was a fun challenge to create a game without breaking them.

Level Design

I was responsible for the level design of the game. This was actually extremely difficult for this game concept, as the pacing of player movement varies greatly between neutral and magnetized states. There were a lot of caveats and edge cases that could arise, and I had to mitigate them with different solutions as development continued onwards. In the end, our level ended up being exactly what we needed it to be!

Gallery

Collection of images, videos, and behind-the-scenes content for my contributions in the project.

**Product and this page are still a work in progress! **

Nythe (2026)

Overview

Overview here about responsibilitoes

Attention!

This level is currently still being developed. Regardless, I wanted to write and show the current progress as I have become very proud of this level. Keep in mind that this page will grow over time and certain parts of the level may not have visuals displayed yet.


Area 1 - Input Foundations

First, players are introduced to the core functionality of all of the face buttons of the controller. Bottom Face Button is for jumping, Right Face Button is for interaction, Left Face Button is for attacking. The first section of the level is built around these three mechanics. The player is required to use all three to complete the area. It is very important for player to get accustomed to these inputs, as any contextual inputs in the game use this mapping as its basis. For instance, the attack button can throw objects and the interact button drops them. This follows the mapping thematically when seperating as hard action and soft actions.

Headshot of Jacob Jones.

Gallery

Collection of images, videos, and behind-the-scenes content for my contributions in the project.

Headshot of Jacob Jones.

Early look at Area 3

Riverside Ruins Graph
Riverside Ruins Graph

Early look at Area 2's Horizontal area.

Headshot of Jacob Jones.

Jacob Jones

Game Designer

You can message me through my email using the form below. Or if you rather, you can directly email me at my address.