Giddem was our third semester project in both Unity and Game Design courses. It became the largest project I've worked on so far. Working on Giddem has taught me a lot: coding, teamwork, multitasking and project management.
Shaked Levy: Map design & music composition
Yam-Chay Eluz: World-building & plot
Ilay Shlomo: Producer, designer, programmer; also responsible for shaders and post-processing effects.
We are three students who decided to collaborate on this big project and make it our final project for this course.
Importantly, we chose not to use AI tools such as ChatGPT, Midjourney, or any others. We wanted this game to be fully our own and to learn from every step, which is something that is harder to do when using AI tools.
Giddem started with a bang- we first thought of the main mechanic of the game, then connected it to the gameplay with the plot. Although rich and sounds fun on paper, our intended scope was way too big for one semester, so we had to cut it down to manageable pieces.
With this in mind, I took one step at a time. Creating the gameplay first, and then the feel that it's supposed to have.
Through many iterations, we ended up with what we currently have: a nice sandbox-like game that presents the core mechanics of the game: Movement, combat, and abilities, such as dashing, grappling and telekinesis.
This was my first project that underwent a full QA process, both from our course mentor and the rest of the students in class. Meaning we've worked in cycles of receiving feedbacks and bugs, fixing or changing what was needed, and re-uploading a better version for everyone to try to crack.
The QA process helped me better understand the production pipeline, with harsh feedback from our mentor who knows this industry from first hand.
My goal for this project was to learn as many coding architectures as I could in this small time and implement the most relevant one into the game. I ended up using an FSM controller for the characters, both player and NPCs, along with inheritance-based architecture regarding all interactable objects in the game. For the combat, I used polymorphism, with each "attackable" object having its own form of taking damage.
In addition to the project, I set another personal goal: to learn how to use DOTween. I used it in the UI of the main menu, and still to this day continue to get better at it.
Working as a team: In this project, we didn't quite declare roles at the start, which made our workflow complicated. We resolved this by actually calling responsibilities- one was responsible for the visuals, the other on the code, etc.
Unclear deadlines: At first, we did not decide on any deadline, everyone just worked in their own pace. This caused some issues with the team, as some felt that they work more than others unfairly.
3D physics with a 2D camera: The isometric camera POV inherently functions as a 2D camera because of its lack of perspective, which has caused some issues that we didn't even think about in the planning phase, such as hitboxes and feedback to certain actions. These needed to be adjusted enough to feel natural and responsive, yet not too easy to reach.
Creating custom shaders and post-processing effects from scratch: My interest in shaders began way before this project, but for Giddem, I decided to not use any tutorials/guides, but to rely on my own knowledge of these subjects to achieve what I have. All the rendering techniques, post-processing effects and shaders were created from my own memory and understanding of the logic under the hood.