The Floor is Lava
The Floor is Lava is an original game prototype. It consists of a complete game loop of a 3D platformer adventure game. I scripted the movement controller and inventory system and integrated GameDev.TV's saving system. The games main feature is a series of boots that allow the player to cross a variety of barriers including lava.
The Floor is Lava
The Floor is Lava is an original game prototype. It consists of a complete game loop of a 3D platformer adventure game. I scripted the movement controller and inventory system and integrated GameDev.TV's saving system. The games main feature is a series of boots that allow the player to cross a variety of barriers including lava.
The Floor is Lava
The Floor is Lava is an original game prototype. It consists of a complete game loop of a 3D platformer adventure game. I scripted the movement controller and inventory system and integrated GameDev.TV's saving system. The games main feature is a series of boots that allow the player to cross a variety of barriers including lava.
The Floor is Lava
The Floor is Lava is an original game prototype. It consists of a complete game loop of a 3D platformer adventure game. I scripted the movement controller and inventory system and integrated GameDev.TV's saving system. The games main feature is a series of boots that allow the player to cross a variety of barriers including lava.
YITZCHAK COHEN
Unity Developer & Software Engineer
Programming
As a programmer I develop games and applications with an eye towards future development. Utilizing professional Object-oriented programming practices allows me to work quickly while maintain coding standards.
During the development process, I constantly check my code to ensure it is:
-
Clean and Readable
-
Scalable
-
Robust
The result is modular, loosely coupled code that can be reused to ensure fast iterative development.
GameDev.tv's 10 Coding Commandments, from the Programming Design Patterns for Unity course.
Clean and Readable
-
Maintain naming conventions allows for consistency and understanding of names.
-
Thoughtful names clearly display the purpose of each variable, function and class.
-
A readable layout allows for quickly understanding the flow of code without long comment explanations.
-
Cohesive classes and functions group functionality so it is easy to find and reuse.
Scalable
-
Use of generic or inherited members allows for consistent functionality and reusable code as the application scale increases.
-
Scriptable objects used for fast development and data storage (i.e. creating a variety of abilities).
-
Event driven input and UI allows for new modules to quickly plug into the core functionality.
Robust
-
Dependency diagrams allow for the building of loosely coupled scripts.
-
C# namespaces provide a check on creating new coupling between modules by requiring using statements.
-
Avoiding circular dependencies allows for updating the code without breaking multiple scripts.