Oasis - Strategy Game Design
Oasis is a survival strategy game. The player needs to grow his/her town and economy to achieve different mission goals. The town is located around an oasis in the middle of the desert. Extreme cold temperature during the night forces the player to use wood to create bonfires so the citizens do not get sick. Opposite to this, during the day, there is extreme heat which lowers production. The player will have different ways to counter those problems. Throughout the gameplay, there will be multiple desert storms that will hinder work and possibly destroy buildings. The player needs to stock up on enough resources to survive these storms. The game consists of different mission goals once achieved the game is won.
In the following I will explain design decisions and provide a technical overview of the project. Oasis was created with the intention of demonstrating proficiency in utilising Unreal Engine's blueprint systems and showcasing a strong understanding of strategy games.
Project Overview
To develop this game demo, I utilised Unreal Engine 5.0.3, employing its Blueprinting system for all functionalities. The UI was designed using Photoshop, while models were sourced from the Unreal Engine Marketplace and further refined to suit my requirements using 3DsMax/Maya.
This game demo represents my final year project for my Bachelor's degree. My aim was to showcase the skills acquired during my studies, focusing on blueprinting and level design, while challenging myself with a new genre—creating a strategy game. This endeavour demanded extensive research and self-motivation, proving more challenging than anticipated. The project spanned three months, encompassing research, playtesting, and bug fixing.
I structured the project into four stages, which proved effective. The initial stage involved research and development, resulting in a first draft. Following this, the Alpha stage focused on refining the UI and conducting small-scale playtests to assess specific mechanics. Subsequently, in the Beta stage, I code-locked the project and conducted extensive playtesting to fine-tune elements and polish UI aspects. Finally, the project concluded with generating reports and conducting postmortems on my game demo.
Research
As I had never created a strategy game before, I had to undertake research for it. Initially, I aimed to create a game with heavier combat elements and numerous entities while ensuring optimal performance. To achieve this, I delved into researching texture animations. However, I discovered that implementing this on the scale I had planned required custom coding, a skill I wasn't familiar with. Consequently, I pivoted my game concept towards one focused more on the economy. This shift necessitated further research into how economies function and the art of balancing them. Additionally, as I had no prior experience in UI design, I conducted research in this area as well.
The outcome was a solid understanding of both UI design principles and the intricate workings of strategy game economies.
Development
The production of my project started on 29th January 2023 and concluded on 2nd May 2023. I utilized Unreal Engine 5.0.3 as the development program for my game. Photoshop was employed to create the user interface (UI). For source control, I used GitHub Desktop.
Playtesting
Playtest Session I
The initial playtest conducted was a guided playtest, carried out at an early stage of development primarily to gather feedback on the user interface (UI) and overall game experience. The playtest involved a group of five individuals. The primary feedback I received revolved around the lack of explanations, despite it being a guided playtest. Participants consistently asked questions about the functions of various buildings and how they should proceed. Consequently, I implemented a tooltip system to provide clearer information and improved the connection between buildings and resources by using consistent icons. Furthermore, one feedback highlighted concerns about a monotonous late game with no compelling incentives to upgrade buildings. This led me to introduce Scholars into the game to address this issue.
Playtest Session II
This playtest took place during the final stages of development. It involved both new and existing testers, conducted as a blind playtest. The test was organized with a group of six individuals. Feedback was collected through a Google Form sheet.
To my surprise, the game was in an almost unplayable state, plagued with bugs and issues that I had not been aware of during my own testing and production phases. The most significant change I made was the removal of the Hospital and the implementation of a tutorial system within the game. Additionally, I made efforts to adjust the available resources to ensure a more balanced gameplay experience. Another modification was the introduction of a delayed spawn for tooltips, as they were constantly obstructing the player's view. The rest of my time was spent fixing other bugs and issues.
Playtest Session III
This playtest was to ensure the game was playable before publishing. It was arranged as an open playtest, allowing everyone to participate, and utilized a Google Form to gather feedback. The playtest confirmed the game's playability and yielded valuable new information awaiting implementation in the game demo.
Missing explanation of upgrades in tutorial
Buggy scholar system
Constant repeat of sandstorm
When declining quest second part of quest still appears
No explanation how to prepare for a sandstorm.
Conclusion
Looking back at this project now, it is clear to me that I underestimated the complexity of creating a strategy game. Unlike any other games I have developed during my three years as a game design student, a strategy game is highly interconnected. Each development stage relies on another stage to function effectively. While I adjusted my working approach to tackle most of these challenges, it also meant that I had much more work than initially anticipated. Overall, I am partially satisfied with certain aspects of the project, but I feel like I did not fully achieve my original goals. Nevertheless, I have gained valuable insights and knowledge from this experience.
If asked what I would do differently, I would still answer "nothing". However, if I were to continue working on this project, I would restart the project to enhance the efficiency of the code. Additionally, I would allocate more time to implement features that I was unable to include initially.
Furthermore, I feel that I did not fully maximize the value of my playtests. The last playtest, which was intended to assist me in balancing resources and game mechanics, turned out to be a disaster. I spent most of my last week fixing bugs rather than the intended balancing of gameplay.
Despite the challenges, I am content with the overall outcome. It was an ambitious project that provided me with a significant learning experience in the realm of strategy games.