top of page

ETHAN CONSTANT
University of Central Florida
About Anchor

Infinite Runner Personal Project
April 2021 - February 2022
Unity Engine
Project Overview
Jaywalkers is a networked PC Infinite Runner game where players must run across a 4 lane highway while dodging obstacles as well as collecting energy drinks to avoid running out of endurance. With an open-world element, players are also capable of exploring a small part of the city to solve puzzles and complete side objects for rewards.
What I've Done
-
Coded audio, animation, object physics interactions, player controls, user interface, and gameplay loop.
-
Utilized object pooling to develop an optimized endless course with diverse obstacles, objectives, powerups, and purchasable upgrades.
-
Programmed a save / load data system as well as an online leaderboard utilizing Google Firebase to keep track of player progression and encourage competition.
-
Improved immersion by implementing post-processing effects and creating cutscenes with the Unity Timeline and Cinemachine tools.
Encountered Challenges
-
Overview: I embarked on the 10-month journey to create Jaywalkers so that I could practice C#, Unity game engine systems, and networking.
-
Challenge: During the development of Jaywalkers, one challenge I encountered was project optimization. In the past I thought optimization was something to be cautious about only when making a mobile or AAA sized game until my super computer could no longer efficiently process the lowpoly world for more than 15 FPS. I learned the hard way that game performance is something to always keep an eye on from the beginning to the end of any and every project.
-
Solutions: To make the game run smoothly I learned how to use the Unity profiler tool and discovered performance heavy elements such as physics rigidbodies and lighting/rendering/post-processing. I addressed these performance issues by reducing rigidbody count with object-pooling, and reducing render draw calls by baking lighting and removing excess effects. I also discovered the technique of using mesh LOD's (Level of Detail) I plan to utilize in future projects which helps reduce the number of GPU operations that Unity requires to render distant meshes.
bottom of page