-
Notifications
You must be signed in to change notification settings - Fork 0
Brainstorming
Korrow edited this page Aug 12, 2016
·
10 revisions
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.
- 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)
- 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
- Core language
- 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)
- Platform Library
- 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?
- Top down (Keegan's Preference) (Ryan's Preference)
- 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
- Perspective
- 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.
- How is the world built?
- Things that would be fun to do
- Fancy AI (behavior trees or similar)