Skip to content

2D side scrolling space shooter passion project: C++ / SFML

Notifications You must be signed in to change notification settings

DanielWilliamClarke/Annatar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Annatar

  • Fresh repo to build a working version of my old first year programming project

  • Using SFML 2.6.1 as a 2D renderer

  • Developing in Visual Studio Community 2022 CLion

    • Build system = CMake
    • Compiler = Ninja
    • x64

Plan

Game states

  • main menu,
  • gameplay,
  • pause,
  • settings,
  • highscores etc

Next up 2024

  • Modernise code to c++20 (ranges etc)
  • Greater control over weapons (weapon selection? multiple weapons controlled via number keys?)
  • Visualise weapon cooldowns and enabled states
  • Configuration based entities (build entities from json configs)
  • Configuration based levels (enemy waves, level background etc)
  • smarter enemy motion
  • Buffs, Debuffs, and weapon upgrades
  • perhaps play with play rotation
  • Buy Aseprite and build some own sprites

Gameplay

  • Create base entity class so players and enemies may implement / derive
  • Create enemies and enemy movement
  • Player weapons
  • Flesh out player
  • Player enemy interactions
  • Stage background for fun (base space stage in place)
  • Skin player and enemies using previous assets before new ones are made
  • Spatial partitioning for better collision detection performance, WE ARE USING A QUAD TREE
    • Player -> enemy collisions
    • bullet -> bullet collisions?
  • implement debug renderer that can be turned on with key press
  • Buff / Debuff / Power up / Helper system
    • player to collide with power ups and entity object is attached to the player
  • Improve player control scheme
    • Demo mode (AI controlled player)
    • Weapon selection
  • Finite state logic
    • Generic state machine functionality that can be dropped in to simplify logic for movement, weapons etc
  • Better weapons: (now able to add new weapon types easily)
    • beam weapons
    • homing projectiles
    • mines.
    • barriers
    • bolas's
    • EMP's - or other debuff weapons

Visuals

  • Visualise player stats, as in weapon temp, weapon energy, ammo, current weapon etc.
    • Visualise damage
  • Debug visualisation (both current and time series data)
    • total bullets on screen
    • total enemies
    • total memory usage
    • total cpu usage
  • Level design: missions, bosses, enemy squadrons, mission select screen?
  • Better player and enemy graphics
  • Procedural planets / asteroids / other celestial objects - https://deep-fold.itch.io/pixel-planet-generator

Nice to haves / Ideas:

  • Intelligent enemies: track and shoot towards player
    • Bosses, multiple firing patterns, interesting mechanics, weak points? youtube.com/watch?v=V4ctJETN-mg?
    • Enemy waves, Sqaudrons?
  • Buff - Can be encountered mid level, will attach themselves to the player
    • Helpers: have own health, add buffs, ammo can fire autonmously or on player action (dies on timeout, ammo depletion and health loss)
    • Stat buffs - shield regen, health regen, invincibility, damage multiplier
  • Debuff - can be encountered mid level, will attach themselves to the player
    • stat debuffs or damage over time.
  • Highscores?
  • online coop - Boost ASIO, SFML network?

About

2D side scrolling space shooter passion project: C++ / SFML

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published