top of page
Game Download
S.M.G.V.B.S.S.H.F
The project, titled S.M.G.V.B.S.S.H.F., was a group endeavor where I took on the role of lead developer and coder. We utilized tools such as Unity, Blender, 3ds Max, and Photoshop to create an engaging first-person shooter experience. The primary focus was on implementing key objectives, including a wave-based AI system and a seamless combat experience. Throughout development, I worked on overcoming challenges related to the wave-based system, ensuring that AI enemies spawned in a balanced, strategic manner to provide players with a challenging and immersive combat experience.
Role
Lead Developer/coder
team size
4 person
development time
4 week
Game Engine
Unity
Genre
rogue-like
Technologies used
Unity
C#
GIT
Photoshop
Trello
Theme/Story
The player awakens in a desolate, ruined city, armed only with a gun at their side. As the last survivor, they soon realize they are not alone; they are being hunted by relentless killer robots. To escape the city, the player must navigate through its treacherous landscapes, battling these robotic foes and uncovering the secrets of their surroundings. With each encounter, the player fights to survive and find a way out of the city, determined to overcome the odds stacked against them.
Role and Responsibilities
As the lead developer for the project, I spearheaded the design and implementation of essential gameplay systems using C#, ensuring the team stayed aligned with the project goals. My responsibilities included leading the group, setting achievable milestones, and actively contributing as one of the primary coders. I played a key role in developing systems that formed the foundation of the game, enabling player interaction and dynamic gameplay.
For example, I implemented the player movement system that provided smooth and responsive controls, ensuring the player could navigate the environment intuitively​. I also developed the gun system, which included features like shooting mechanics, ammunition management, and impact physics, allowing players to engage enemies effectively​. Additionally, I created the wave spawning system, responsible for dynamically generating enemy waves and managing transitions between them, which added a layer of challenge and progression to the game​.
Throughout the project, I collaborated closely with my team to troubleshoot issues, optimize performance, and ensure the game delivered an engaging and cohesive experience. This included integrating animations, refining system interactions, and rigorously testing features to address bugs and enhance the overall gameplay. My role required a balance of technical expertise and leadership to ensure the successful execution of the project.
design Process
In developing S.M.G.V.B.S.S.H.F., the team followed a five-step design process, which was thoroughly elaborated on throughout this university assignment. Each phase played a crucial role in shaping the game's mechanics, systems, and overall player experience, ensuring that the final product was well-structured and cohesive, with a strong focus on both gameplay and technical execution.
1
DESGIN DOCUMENT
prototyping
rought blockout/coding
2
3
refinement of code and level design
4
passover and feedback
5
Design Document
The first step in our design process was creating the Game Design Document (GDD), where the group organized all the initial ideas for S.M.G.V.B.S.S.H.F. and planned out the key features to be included. In this document, we outlined the core gameplay mechanics, establishing a clear vision for how the game would function and what players could expect in terms of experience and interaction. This foundational step served as a blueprint, guiding the subsequent phases of development and ensuring alignment on the game's objectives and design direction.
Core Game Pillars
-
replay-ability
-
wave based ai spawner
-
seamless combat
Gameplay Breakdown
The core gameplay loop of S.M.G.V.B.S.S.H.F. involves the player navigating small environments while fending off waves of enemies. Armed with a gun, the player must strategically fight back and eliminate the incoming threats, all while managing their surroundings to survive the relentless onslaught of enemies attempting to overwhelm and kill them. This loop emphasizes action, survival, and tactical decision-making.
Explore the city
getting ready for the next wave
fighting enemy's
Code Example
WaveSpawner Script Overview
The WaveSpawner script is a dynamic wave-based enemy spawning system for Unity games. It manages the spawning of enemies in waves, including timing, spawn points, and checking for wave completion. This script is ideal for survival or horde-style game modes where players face progressively challenging waves of enemies.
Key Features
-
Wave Management
-
Dynamic Spawn Control
-
Wave Countdown Timer
-
Wave Progression
-
Enemy Detection
Key Features
1. Wave Management
-
Defines waves using a nested Wave class, where each wave specifies:
-
A name for identification.
-
An enemy prefab to spawn.
-
The number of enemies in the wave.
-
The rate of spawning within the wave.
-
2. Dynamic Spawn Control
-
Enemies are spawned at random spawn points from a predefined array (spawnPoints).
-
The spawn process is handled by a coroutine to allow precise control over the spawn rate.
3. Wave Countdown Timer
-
Uses a countdown (waveCountdown) to determine when the next wave starts.
-
The timer resets after each wave is completed, allowing for a configurable delay between waves.
4. Wave Progression
-
The script progresses through a sequence of waves, looping back to the first wave after all waves are completed.
5. Enemy Detection
-
Continuously checks if any enemies are alive using EnemyIsAlive.
-
A wave is considered complete when no enemies are present in the scene.
Final Thoughts
With the completion of S.M.G.V.B.S.S.H.F., a group project where I served as lead developer and coder, we successfully created an engaging first-person shooter experience using tools such as Unity, Blender, 3ds Max, and Photoshop. The final game features a robust wave-based AI system and seamless combat mechanics. A key challenge I tackled was ensuring AI enemies spawned in a balanced, strategic manner, offering players a dynamic and immersive combat experience. The project effectively delivers on its core objectives, providing intense action and a well-designed, engaging gameplay experience.
bottom of page