Skip to content

Brain Blast : A 2D top-down arcade zombie shooter, built using SFML. A university project.

License

Notifications You must be signed in to change notification settings

phuwit/KMITL-ProgrammingFundamentals-GameDev

Repository files navigation

Brain Blast!

A 2D top-down arcade zombie shooter

no further information provided. incompetence is my greatest superpower.

license

licensed under AGPL-3.0-or-later. see LICENSE for more info.

or see choosealicense.com for a tl;dr.

ci status

CI

download build here! for bestest build. to run executables from CI artifacts, download the artifact, extract it, and run the executable from bin/.

how do I run it

download the right package for your OS. extract the zip and enter bin/ folder. then run the executable.

but, but, buuuuuut which one should i downloadddddd?~?!?!?!??!?!?

any would be fine, static would be foolproof*, probably. on linux, gcc would be universal*, probably.

compiling instruction

use cmake! if you are unsure, checkout github actions workflow ci.yml for more info. cmake template from CMake SFML Project Template by SFML Contributors under Public Domain or MIT

this commands works on my machine(tm)

cd KMITL-ProgrammingFundamentals-GameDev
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G Ninja -S KMITL-ProgrammingFundamentals-GameDev/ -B KMITL-ProgrammingFundamentals-GameDev/build
cmake --build build/ --target all -- -j 4

then, for distribution, run cmake --install build --config Release to copy libraries.

replace Debug from -DCMAKE_BUILD_TYPE=Debug with following options

  • Release for release build
    • also append
      • -DBUILD_SHARED_LIBS=FALSE to build static executable
      • -DBUILD_SHARED_LIBS=TRUE to build dynamic executable
  • RelWithDebInfo for release build with debug info
  • MinSizeRel for release build optimized for minimal size

attributions

many projects/ assets are used in this one. please see attribution.md for more info.

todo

  • player sprite
  • import movement code
  • import gun code
  • background generation
  • make a map
  • import zombies code
  • vary zombies movement
  • import zombies horde spawning code
  • handle score
  • handle scene change
  • hud
  • level progression
  • handle menu screen
  • handle paused screen
  • handle gameover screen
  • handle levelup screen
  • handle leaderboard
  • implement pickups
  • animation
  • rework spawn timing
  • zombie dead animation?

master Plan as a Garnt chart

Task Week
16-07-2023 23-07-2023 30-07-2023 06-08-2023 13-08-2023 20-08-2023 27-08-2023 03-09-2023 10-09-2023 17-09-2023 24-09-2023 01-10-2023 08-10-2023
3 4 5 6 7 8 9 10 11 12 13 14 15
Writing Proposal /
Learning SFML and C++ / / /
Implementing Player/ Control scheme / /
Implementing Play Area/ Maps / /
Implementing Guns / / /
Implementing Zombies / / / /
Implementing Zombies spawning/ balancing / / /
Implementing Zombies drops/ scoring / / /
Implementing Power-ups / /

atan(rad) converted to deg visualization

angle_visualization.png

About

Brain Blast : A 2D top-down arcade zombie shooter, built using SFML. A university project.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published