In my last semester in Entertainment Technology Center, I took the course Game Design Fundamentals from Stone Librande. It was a great class where we learned theories and methods of developing different parts of a game such as the balance system, the reward system, levels and so on through practice of analyzing existing games and designing/redesigning small part of the systems of boardgame. The final assignment is to design a boardgame which can be introduced and finished in 15 to 20 minutes from scratch individually. Milestones of the assignment were split throughout the semester so that we can build the game step by step based on what we currently learned from the course. This article is going to talk about how I made Lord of Dominion, a 2-player strategy boardgame, as my final project. However, there are limitations due to the requirements and the fact that it is a boardgame, which prevents me from implementing some more complicated features. Therefore, recently, I’m converting and polishing it into a Unity version in my spare time.
The Entertainment Technology Center (ETC) of CMU has a very unique curriculum policy, where the first semester is filled with 4 compulsory courses and the rest of 3 is filled with a project and an elective course respectively. Hence, when it came to the first “free elective semester”, I spent a lot of time deciding which course should I take. I decided to go for Computer Graphics at last, mainly because of the following reasons:
- CG has been one of the basic branches of video game since the first game was created, and is becoming more and more important for the whole entertainment industry. It brings a huge revolution of the visual experience and still has a great potential for delving;
- CG is closely linked to Virtual Reality and Augmented Reality, which are popularly viewed as the future of games;
- Many alumni of ETC highly recommended this course, saying that it explains the profound simply and is useful in their career;
So I took it. It gave me an extremely impressive semester – not only because of its intensity, but also what it left to me. I didn’t stay awake the whole night before the due day as many alumni did, but I did “suffer” a lot. There was even a time when I was super frustrated and wanted to drop off. Thankfully, I didn’t do so. Instead, I found myself learned a lot from the struggling. Hence, I would like to write a brief review of the course (mostly depends on my level) as a reference for any ETC students who will consider to take this course in the future.
The last assignment of CMU CG course is a self-selected project (detail).
What I chose is Option F, SPH Fluid Simulation, cooperated with Sarvesh Subramanian. I implemented the SPH model, while he took charge of the Marching Cube algorithm and OpenGL part.
This post includes a tutorial of how to setup OpenGL project on Windows by Visual Studio 2015.
Particle-Based Fluid Simulation for Interactive Applications by Matthias Müller, David Charypar and Markus Gross
Fluid Simulation For Computer Graphics: A Tutorial in Grid Based and Particle Based Methods, Colin Braley and Adrian Sandu
After struggling of trying to compile the original codes on Windows, I decided to transfer to Ubuntu. Since I had no experience on CG programming (I took the CG course in my undergraduate but it required no coding workload), I found a tutorial online to follow. After following the step of “Building on Linux”, when I start running “cmake ..”, the terminal threw out several errors:
This semester, we are required to choose a current project from the second-year students to follow. After browsing all websites of current projects, I decided to choose the project Emotionshop as my shadow project. I made my decision for several reasons: first, the team comes out with individual prototypes every week (there are 5 students in their teams, which means 5 prototypes every week). Second, they study the relationship between emotions and game mechanics while I am super interested in game development as well as user experience. Therefore, I follow this project in the hope of gaining useful inspiration for future game development.
400 Years is a cross-boundary game published by Armor Game. Players play as a Colossus. Roused up for some reasons, the Colossus gets into his journey to stop a calamity. In the game, players can press SPACE to let the time fly. However, for some reason, there are only 400 years left for him.
Recently I gained a really great graph today in the fundamentals class.
The best moment in the whole trip.