top of page

I'm a student currently studying at UOW Malaysia, Glenmarie campus, studying Game Development as a Programmer. 

​

I've always had an interest to programming since high school, and mixing that with my love for video games, now I'm looking to build high quality games for people in the future.

​

I've always wanted to work as a Gameplay Programmer, but recently as a UI programmer as well. But other sectors such as Level Mechanics and VFX have intrigued me as well!

Kooeh: A Timeless Delight

Kooeh_Event_Banner.png

My Work & Contributions

Screenshot 2024-11-25 013941.png

Restaurant Customization System

  • Tile map based implementation​

    • Changed how restaurant objects are placed from freehand placement to isometric tile map based​​

    • You can select objects from a scene collection to place them neatly in the tile map grid (Editor)

​

​

​

​

​

​​

​​

​

​

​

​

​

​​​

  • Build, move, delete, rotate functions

    • In-game, you can build objects by selecting them from a catalogue​






       

    • Selected objects will provide a highlighted preview to show how many tiles the object will take, and whether or not in can be placed in that location

    • Objects can also be extended to cover more than one tile











       

    • Objects already placed can also be moved to a different location or orientation

    • Objects can be deleted from the tile map

    • Objects can be horizontally rotated

​

​

​

​

​

​

​

​

​

​

​​

​

​​​​​​​​​

  • Multi-layered customization

    • 2 layers of objects can be customized, with the 2nd layer being the "Tabletop" layer​

    • Objects on this layer can only be placed on top of tables that have to be placed first

​

​

​

​

​

​

​

​

​

​​

​​​

  • Restrictions

    • Some restrictions can be applied to the types of objects, to dictate a viable restaurant layout​

    • Minimum and maximum restrictions make sure that the player has enough of one object, or doesn't put too much of one object

    • A restriction list that updates as you customize, showing what you still need to create a viable layout

​

​

​

​

​

​

​

​

​

​

​

​​​​​

​

  • Save/Load for customized layout

    • All objects are stored inside Dictionaries which are then saved along with the Save/Load system of the game

    • Objects in the Dictionaries can be accessed via their positions on the tile map, so that customized layouts can be loaded in to the restaurant​​

 

Navigation Map

  • Fixed up the navigation map in the restaurant to work with the new tile map system

  • The navigation map cuts out shapes based on objects inside the restaurant

 

​

​

​

​

​

​

​

​

​

 

​

​​​​

​

Worked on Environmental Objects and Functions

  • Reworked Order Counter to work with a new ordering and serving system

  • Reworked Display Counters to work even if multiple are present

  • Implemented a Signboard object to handle scene transitions

  • Dynamic Seating System that creates "seats" when chairs and tables are put next to each other

​

​

​

​

​

 

​

​

​

​​

​

​

Reinstate Player Movement

  • Reinstated player movement, from the original point-and-click style of gameplay

  • Simple player movement with options to edit movement speed

  • Animation updates based on player movement (Idle, Walking, Flipped)

​

​

​

​

​

​

 

​

​

​

​​​

​

Object Interaction System

  • ​Raycast container attached to the player to serve as an interaction body

  • Objects that touch the raycasts are highlighted, and can be interacted with

  • The interaction system also has certain functions to restrict objects from being interacted with, used to guide players in tutorial sections

​

​

​

​

​

​

​

​

​

​

​

​​​​​​​​​​​​​​

​​​​​​​​​​​

Tile map view in the editor to place objects from a collection

Screenshot 2024-11-25 013739.png
Screenshot 2024-11-25 013733.png
Screenshot 2024-11-25 013748.png
Screenshot 2024-11-25 013818.png
Screenshot 2024-11-25 013813.png
Screenshot 2024-11-25 014005.png
Screenshot 2024-11-25 013245.png
Screenshot 2024-11-25 013650.png
Screenshot 2024-11-25 013611.png
Screenshot 2024-11-25 013655.png

Select objects to build, or select other customization functions

Green tiles show that an object can be placed

Red tiles indicate invalid placement (Order Counter),

or placed objects that already occupy tiles (Cooking Stove)

Order Counter rotated (Takes up 4 tiles due to queue length)

Display Counter can't be placed on its own, and has to be placed on a table

Restriction list updates in real time as player is customizing

Screenshot 2024-11-25 021627.png

Navigation mesh cuts out objects that have navigation collision

Chairs are assigned to a table (arrows), when placed next to a table

Tutorial that teaches the player how to move

When player's interaction hitbox (arrows) contacts an interactable object,

it gets highlighted and can now be clicked on

©2021 by Sam Lee. Proudly created with Wix.com

bottom of page