/LerpNSlerp

Assignment For Games Engines 1 2023/24

Primary LanguageGDScript

Metaverse Vanguard

Name: Jamie Heffernan, Aleksey Makarevich, Finn Maguire

Student Number: C20483462, C20402732, C20492576

Class Group: Lerpin N Slerpin

Video:

YouTube

Description of the project

Growing up, each member of our group had a profound love of retro videogames such as Space Invaders, Galaga, and Centepede. We drew heavy inspiration from these space style shooters to help create Metaverse Vanguard, a 3D space shooter set in the distant future and above the planet Deehmtee where the player will take on the role of the defender of the metaverse where they will pilot the D-Wing starfighter to protect the metaverse and all metaversians from the threat of the oncoming invaders. The player controls their ship and uses the latest galactic blasters with the help of mysterious space powerups to battle the oncoming invaders in a tense mission where all it at stake

Instructions for use

  • Connect a VR Headset for a Virtual Reality Experience
  • Press F5 at any time to change camera perspective when in PC Mode
  • Use Arrow Keys to Control your Ship
  • Press Space to Fire
  • Collect powerups to help you along the way
  • Avoid letting invaders past you

How it works

The player controls a ship flying above the surface of the planet Deehmtee, facing the threat of alien invaders. The invaders are slowly heading towards the player oscelating from side to side. You the player must fend off these invaders using the weapons on your ship whilst collecting power-ups to resore health and increase the effectiveness of your weapons. The game ends when the player's health reaches zero by letting too many invaders slip past. Are you up for the task?

List of classes/assets in the project

Class/asset Source
Invader.gd Collaborative Effort
Bullet.gd Collaborative Effort
bullet.tscn Collaborative Effort
Enemy.gd Collaborative Effort
enemy.tscn Collaborative Effort
EnemySpawner.gd Collaborative Effort
enemy_spawner.tscn Collaborative Effort
ExplosionParticle.tscn Collaborative Effort
GameOver.gd Collaborative Effort
GameOver.tscn Collaborative Effort
Global.gd Collaborative Effort
Health.gd Collaborative Effort
main.gd Collaborative Effort
main.tscn Collaborative Effort
menu.gd Collaborative Effort
menu.tscn Collaborative Effort
Message.gd Collaborative Effort
player.gd Collaborative Effort
player.tscn Collaborative Effort
power_up.gd Collaborative Effort
power_up.tscn Collaborative Effort
power_up_health.tscn Collaborative Effort
power_up_rapid_fire.tscn Collaborative Effort
PowerUpSpawner.gd Collaborative Effort
power_up_spawner.tscn Collaborative Effort
ProgressBar.tscn Collaborative Effort
Score.gd Collaborative Effort
SpaceParticles.tscn Collaborative Effort
star_particle.tscn Collaborative Effort
ThirdPersonCamera.gd Collaborative Effort

List of Images used in the project

Image Use Case Source
br.png BackGround AI Generated
GameOver.png Game Over Screen AI Generated
SpaceImage.png Alternative Background AI Generated
TitleScreen.png Title Screen Image AI Generated
ShipModel Control Panel mapping https://images-assets.nasa.gov/image/KSC-99pp0441/KSC-99pp0441~orig.jpg

List of Models used in the project

Models Use Case Source
ShipModel.gltf Model used for the space ship Self-Made
Invader.gltf Model for the Alien From [https://free3d.com/3d-model/space-invader-26504.html]
InvaderAlt.gltf Potentional for animated Alien Modified from [https://free3d.com/3d-model/space-invader-26504.html]
PowerUpHealth.gltf Model for the Health Power Up Self-Made
PowerUpRapidFire.gltf Model for the Rapid Fire Power Up Self-Made

References

  • Space Invaders - Inspiration for game mechanics.
  • Galaga - Inspiration for enemy designs.
  • Centipede - Inspiration for power-up system.
  • StarFox - Inspiration for game perspective and style

What I am most proud of in the assignment

Aleksey: "Making all the models that are used in the project, apart from the space invader, however it is still modified to fit our thematic and textured to suit." What I learned "This project allowed mt to learn the basics of games design and go through the process of creating models to be used. Learning how to use blender would help me with my final year project, as it is to create 3D models."

Jamie: I am most proud of the mechanics of the Starship and Enemy movement as I feel they have a modern yet also retro feel and control to them. Not too clunky but not too floaty either. Learning the intricacies of game development, how different scenes and nodes interact with one another and the complexities that come along with creating a game that runs efficiently and is fun to play

Finn Working on game logic with trying to tie it all together with the nessary scenes and different node types was where most of the enjoyment came for me personally. Another thing I enjoyed working on was the two particle effect scenes, which provided a lot of detail to the overall game. They were simple to code but most of the work on them came from manipulating the particle nodes within the scene through the Godot inspector. The different processing techniques gave a satisfying effect to the end particles. It gave me good experience with game engine features that I didnt necessarily understand before.