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

image.png

Unity

image.png

C#

image.png

GIT

image.png

Photoshop

image.png

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

  1. Wave Management

  2. Dynamic Spawn Control

  3. Wave Countdown Timer

  4. Wave Progression

  5. 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