Skip to content

Brainstorming

Korrow edited this page Aug 12, 2016 · 10 revisions

Overview

This is really just a list of things that we should think about if we want to do a game engine project. I also wanted to play around with reStructuredText.

Game ideas

  • Beard growing based character progression
    • Unlock new beard-based powers - scratchiness, swinging over chasms, flight
    • Sweet title - Beard Boy and the Curse of the Gander (TM)

Down to business!

  • Language?
    • Core language
      • C?
      • C++? (Keegan's preference)(Ryans's preference)
      • Python?
      • Go?
      • Others?
    • Scripting language for gameplay mechanics (I.E. Lua)?
      • This would be really cool, but is probably overkill
  • How do we build code? * Impacted by chosen language
    • CMake? (Keegan's Preference) (Ryan's Onboard, but likes the idea of SCons)
    • SCons?
    • Make?
    • Autotools
  • Supported platforms
    • Impacts choice of language, choice of libraries, build system, compilers
    • Choose one for initial development (Keegan votes Linux) (Ryan would like to try OSX in parallel)
    • Potential platforms (Keegan wants them all! eventually)
      • Linux
      • Mac
      • Wind0wz
  • Continuous integration
    • Impacted by chosen platforms
    • Travis (Keegan's Preference) (Ryan's Preference)
    • Appveyor (we will be a good idea in the future since it's for Windows)
    • Roll your own (could be fun, but feels like Yak Shaving)
    • Other cloud hosted CI services?
  • Library selection
    • Platform Library
      • Impacted by supported platforms and languages
      • SDL2 (Can also do rendering) (Ryan like the idea of this)
      • GLFW (Opens an OpenGL context)
      • PyGame (built on top of SDL2)
      • Other options?
    • Rendering
      • SDL2 rendering (simple API but not terribly capable)
      • OpenGL (Uncharted territory, but lots of options!)
    • File format libraries
      • jsoncpp
      • python json library
      • yaml?
      • toml? (RC: I like the format of this one)
      • Others
    • Architecture libraries
    • Entity component system
      • entityx (C++) <- Keegan has used this one a little bit
      • anax (C++)
      • esper (Python)
      • ecs (Python)
      • ebs (Python)
    • Unit tests
      • Yes please
      • Gtest/Gmock (C++)
      • pytest (Python)
  • What sort of game is this anyway?
    • Perspective
      • Top down (Keegan's Preference) (Ryan's Preference)
        • How many different directions can a character face?
      • Isometric
        • How many different directions can a character face?
    • Side scroller
    • Graphics
      • Terrible programmer art (Keegan is 100% fine with this)
      • ASCII
      • ???
    • How does time pass?
      • Real time (Keegan's Preference) (Ryan's Preference)
    • What does our update loop look like?
      • Multithreaded (Not if Keegan has his way!)
      • Turn based
  • Levels/World
    • How is the world built?
      • By hand (The way that Mom used to make 'em)
      • Procedural
    • What do levels look like?
      • Open outdoor area
      • Dungeons
      • etc.
  • Things that would be fun to do
    • Fancy AI (behavior trees or similar)
Clone this wiki locally