Project

General

Profile

Game Design and Game Development Resources » History » Version 34

quintus, 02/07/2022 08:22 AM

1 1 quintus
# Game Design and Game Development Resources
2
3
This page lists useful resources that can explain how to design games in general. It also lists resources for a specific subtopic of game design, the structure of the game's code. Try to divide this page with useful subheadings that group the links.
4
5
## Story Design
6
7 2 quintus
* The master himself on "Fairy Stories" (sic): J.R.R. Tolkien, On Fairy Stories (1939). In: C.S. Lewis (editor), Essays presented to Charles Williams. William B. Eerdmans Pub., Grand Rapids 1947.
8 9 quintus
  * Easier to find reprint: J.R.R. Tolkien, Tree and Leaf. George Allen & Unwin (Publishers) Ltd, London 1964. ISBN: 0 04 820015 8.
9 1 quintus
  * [English Wikipedia summary](https://en.wikipedia.org/wiki/On_Fairy-Stories), [German Wikipedia summary](https://de.wikipedia.org/wiki/On_Fairy-Stories). Reading the original is recommended, but Tolkien's English is very elaborate and for a non-native speaker quite challenging. There's a German translation around somewhere, but Tolkien heavily draws from language specifics, thus the essay cannot really be fully understood in another language than English.
10
11 27 quintus
* Appearently an early good example of applying these principles is System Shock, as [documented here](https://www.filfre.net/2021/03/system-shock/).
12
13 1 quintus
## Code Design
14
15
### Game coding
16
17
* [Robert Nystrom, Game Programming Patterns](http://gameprogrammingpatterns.com/) (web version is free of charge, consider buying the hardcopy)
18
* OpenGL tutorial: https://learnopengl.com/
19 4 quintus
* [HN discussion on enemy pathfinding](https://news.ycombinator.com/item?id=22848106)
20 5 quintus
* [Generating organic patterns with L-systems](https://jsantell.com/l-systems/)
21 6 quintus
* [Small study on small custom game engines](https://gist.github.com/raysan5/909dc6cf33ed40223eb0dfe625c0de74)
22 7 quintus
* [This person wrote a custom C++ game engine from OpenGL scratch in 30 weeks with a team size of 11 persons](https://www.undefinist.com/hydeandseek)
23 8 quintus
* [Background on programmatical colour handling](https://peteroupc.github.io/colorgen.html)
24 14 quintus
* [GameMode](https://jonathancarter.org/2020/08/11/gamemode-in-debian/), sets various OS configuration parameters on Linux while a game is running
25 15 quintus
* [Efficient memory management with handles instead of pointers](https://floooh.github.io/2018/06/17/handles-vs-pointers.html) ([lobste.rs discussion](https://lobste.rs/s/4xcla1/handles_are_better_pointers))
26 23 quintus
* [Ray Tracing in One Weekend](https://raytracing.github.io/)
27 28 quintus
* [Procedural Content Generation](http://pcg.wikidot.com/)
28 29 quintus
* [Random scattering: Creating Realistic Landscapes](https://www.gamasutra.com/view/feature/1648/random_scattering_creating_.php)
29 1 quintus
30
### Coding in general
31
32 3 quintus
* If you need to refresh your C++ knowledge: [learncpp.com](https://www.learncpp.com/)
33 21 quintus
* Stay up to date with latest C++ concepts by following [lobste.rs on C++](https://lobste.rs/t/c++)
34 3 quintus
* How to properly organise C++ header files: [Kieras, C++ Header File Guidelines (2015)](http://www.umich.edu/~eecs381/handouts/CppHeaderFileGuidelines.pdf)
35 18 quintus
* Highly recommended article on API design: [Henning, acmqueue 2007/4, 24: API Design Matters](https://queue.acm.org/detail.cfm?id=1255422) (PDF available)
36 10 quintus
37 31 quintus
### Abstract topics
38
39
* Transformation
40
  * [Transformations in OpenGL](https://open.gl/transformations)
41
  * [Quarternions in Ogre](https://wiki.ogre3d.org/Quaternion+and+Rotation+Primer)
42
  * [Rotation matrices](https://en.wikipedia.org/wiki/Rotation_matrix)
43
  * [Vector math (German)](https://de.wikipedia.org/wiki/Vektor)
44
45 32 quintus
### Ogre specifics
46
47
* Blender's Y axis is [Ogre's default Z axis](https://ogrecave.github.io/ogre/api/latest/tut__first_scene.html#CoordinatesSystems). Consequently, models exported from Blender with [blender2ogre](https://github.com/OGRECave/blender2ogre/) into `.mesh` format appear rotated in Ogre without further adjustments. The upwards-pointing axis in Blender [cannot be changed](https://blender.stackexchange.com/q/471). Early versions of the blender2ogre exporter had a transformation option to auto-rotate a mesh on export from Blender, but the option was dropped around 2007. The [now recommended solution is to rotate Ogre's camera accordingly](https://forums.ogre3d.org/viewtopic.php?t=28302) and simply disregard Ogre's default setup.
48 33 quintus
  * Turns out the option has been reimplemented meanwhile. The exporter now calls it "Swap Ax" and it's right the first point under "General" in the exporter menu.
49 32 quintus
50 10 quintus
## Dungeon design
51
52
* [Dungeon map generator](https://dungeonscrawl.com/)
53 22 quintus
* [Hobbyist creating a modded dungeon for an existing game, quite interesting read](https://blog.tcharles.fr/for-a-better-dungeon/)
54 11 quintus
55 20 quintus
## World design
56
57
* [Lighting tutorial](http://www.itchy-animation.co.uk/tutorials/light01.htm)
58 25 quintus
* [How Barcelona developed, illustrated with maps over time](https://www.geografiainfinita.com/2017/05/la-evolucion-de-barcelona-a-traves-de-los-mapas/) (Spanish)
59 26 quintus
* [Blend Swap -- liberally licensed Blender assets](https://www.blendswap.com/)
60 20 quintus
61 34 quintus
## Graphical ideas
62
63
- [Truchet tiles](https://en.wikipedia.org/wiki/Truchet_tiles): Many interesting floor or wall patterns from very simple tiles
64
65 11 quintus
## Miscellaneous
66
67
- [Monastery Plan of St. Gall](http://www.e-codices.unifr.ch/de/list/one/csg/1092). This plan dates to the 9th century and gives the ideal form of a monastery. [English Wikipedia](https://en.wikipedia.org/wiki/Plan_of_Saint_Gall), [German Wikipedia](https://de.wikipedia.org/wiki/St._Galler_Klosterplan)
68 12 quintus
- [Passauer Kunst](https://de.wikipedia.org/wiki/Passauer_Kunst) (“Art of Passau”) Superstitional believe in the Middle Ages that certain papers from the city of Passau could make you invulnerable.
69 13 quintus
- [British Museum's Historical Travel Guide to Edo](https://blog.britishmuseum.org/historical-city-travel-guide-edo-tokyo-early-19th-century/). The [Tōkaidō](https://de.wikipedia.org/wiki/T%C5%8Dkaid%C5%8D) may serve as inspiration for our fantasy world's most important street.
70 19 quintus
- [Montezuma's headdress](https://en.wikipedia.org/wiki/Montezuma%27s_headdress), a featherwork crown of unknown history from the Aztec empire.
71 24 quintus
- [How to Write Cuneiform](https://blog.britishmuseum.org/how-to-write-cuneiform/) -- might be useful for a script system in the game.
72 30 quintus
- [Mile stones](https://de.wikipedia.org/wiki/Meilenstein), to be placed among the overworld for orientation ([English](https://en.wikipedia.org/wiki/Milestone))