This is the level design project I made for the Level Design Studio course taught by Robert Yang at NYU Game Center. Behind the Level: This level is intended to be made with a real-world location as a reference. So I chose Alcatraz Island in California because I thought it could be really interesting to walk... Continue Reading →
[Algorithm] Common DP Parameters
Most DP problems can be easily solved when we can find out the most efficient and concise representation of a state. A series of parameters can be used to describe a state but usually, finding such parameters can be hard. Fortunately, it is not really hard to summarize some common types of dp problems and... Continue Reading →
[Algorithm] Some Clever Ideas from CP3
Recently, I started to learn about competitive programmings because I thought it was fun to be able to develop a problem-solving toolkit with which some non-trivial interesting questions can be tackled. As I practiced coding some examples from the book Competitive Programming 3rd, I found some interesting data structures and algorithms that really intrigued me,... Continue Reading →
[Level Design] Control Player’s Pacing via Layout and Environment Design
Introduction: This is a gray box practice project that aims to control the player's pacing by only placing some collectible objects on an environment. The goal is to create some different arrangement of these objects and some environmental hints so that the player can be guided in the way I intended. Through the line of... Continue Reading →
[Algorithm] Implementation of Disjoint Set from Kruskal’s Algorithm of Finding MSB
Recently when I reviewed how minimum spanning tree (MSB) works, I found that two specially designed data structures for Kruskal's algorithm are extremely clever and interesting. Background: When we are using Kruskal's algorithm, we need to constantly check whether two nodes are in the same set. If so, then these two nodes are already connected and... Continue Reading →
[Level Design] Top Deck of an Ancient Ship Wreckage
A grey-box level design for an ancient ship wreckage's top deck where the player can sneak in and out, figure out some trigger events and walk on platforms of multiple altitudes. Overview: Player's View:
[Graffiti] First Experience of Marker Graffiti
This is my first try on graffiti. Simply put all elements that I like into this single painting without too much consideration about graffiti's composition, basic aesthetic rules, etc. But I still kinda like this.
[Game Design] The Chosen One
Overview: This is a four-player tabletop game where one player acts as the god of war, and the other three players can choose between three classes: Strength-based warrior, dexterity-based rogue, and wisdom-based mage. During the Game: When the game begins, the player who chooses the god of war by picking up a card from a shuffled... Continue Reading →
[Unity] Understanding Serialization System in Unity3D
Here are some thoughts I collected after I watched a talk by Richard Fine at Unite Europe 2017. Overview: Serialization is really crucial in Unity as lots of functionalities are based on this. Richard gave a really concise definition of this process: Take data that is organized in a format and lay it out in a... Continue Reading →
[Algorithm] Boyer-Moore’s Majority Vote Algorithm with Extension
Original Problem Statement: Given a non-sorted integer array, find out the majority element whose appearance is more than half of the size of the array. If there is no such element, return null. Boyer-Moore Majority Vote Algorithm: Boyer devised an elegant algorithm that takes O(n) time and O(1) space complexity. Here I will try using my own... Continue Reading →