Created
March 26, 2015 21:40
-
-
Save apples/a0a38c0ecd2f72ca5e18 to your computer and use it in GitHub Desktop.
slides.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Title</title> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | |
<style type="text/css"> | |
@import url(https://fonts.googleapis.com/css?family=Droid+Sans:400,700,400italic); | |
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic); | |
body { font-family: 'Helvetica', 'sans-serif' ; } | |
h1, h2, h3 { | |
font-weight: normal; | |
} | |
.remark-slide-content { font-size: 200%; } | |
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; } | |
</style> | |
</head> | |
<body> | |
<textarea id="source"> | |
class: center, middle | |
# How to Dev a Game | |
--- | |
# The Journey | |
0. Ideas and Design | |
1. Engines and Scripting | |
2. Art, Animation, and Audio | |
3. Aesthetics and the Ludonarrative | |
4. Scope and Minimum Viable Product | |
5. Resources | |
--- | |
# Libre | |
> "free, having liberty, at liberty" | |
All software discussed in this presentation is free, as in "free speech". | |
Please visit the Free Software Foundation at [http://www.fsf.org/](http://www.fsf.org/) for more information. | |
--- | |
class: center, middle | |
# 0. Ideas and Design | |
All ideas are terrible, | |
but no idea is *too* terrible. | |
--- | |
## Top-level Genres | |
- Arcade | |
- Action | |
- Adventure | |
- Puzzle | |
- Simulation | |
- Strategy | |
- (many others) | |
--- | |
## Derivative Genres | |
- First-person Shooter | |
- Metroidvania | |
- Roguelike | |
- Roguelite | |
- Sandbox | |
- MMO | |
- Minecraft clone | |
- (way too many others) | |
--- | |
## Wikis and Prototypes | |
- Create a "design wiki" before anything else. | |
- Prototype early. | |
- Change the design based on feedback from the prototype. | |
--- | |
## Keep it Simple! | |
- Simple ideas are easy to prototype. | |
- Complex ideas take longer to prototype. | |
- You need a prototype as soon as possible. | |
--- | |
class: center, middle | |
# MAKE A PROTOTYPE | |
# AS SOON AS POSSIBLE! | |
--- | |
# 1. Engines and Scripting | |
- Pick your tech based on the designs | |
- Use an existing engine if possible | |
- Scripting should be relatively easy | |
--- | |
## Engine vs. Framework vs. Library | |
- Engines do all the heavy lifting for you. | |
- Programmed with scripts. | |
- Frameworks give tools to write an engine. | |
- Programmed natively. | |
- Libraries are just lumps of code. | |
Frameworks and Engines are often collections of Libraries. | |
--- | |
## Engines | |
### Beginner | |
- GDevelop | |
- Construct Classic | |
### Intermediate | |
- PyGame | |
- EaselJS | |
- Oxygine | |
- Duality | |
--- | |
## More Engines | |
### Professional (not libre, but open source) | |
- Unreal Engine | |
- Source | |
- id Tech | |
### Others *(not libre)* | |
- Unity3D | |
- ImpactJS | |
- GameMaker | |
--- | |
## Write your own engine! | |
Pick a framework, write your own, or just hack together some libraries. | |
C++ and Python are the only languages you need. | |
C#, Scheme, and Javascript are also nice. | |
Java considered harmful. | |
Mobile platforms will require specific tech. | |
--- | |
## Complete Frameworks | |
- Allegro | |
- SDL | |
- SFML | |
- Cinder | |
- GamePlay | |
- pyglet | |
- LWJGL | |
--- | |
## Partial Frameworks and Libraries | |
- Bullet | |
- Box2D | |
- GLFW | |
- SoLoud | |
- Boost | |
- POCO | |
- Python | |
- PNG | |
- Ogg Vorbis | |
- FreeType | |
- stb | |
--- | |
# 2. Art, Animation, Audio | |
The stuff that gets blasted into the player's face. | |
--- | |
## 2D vs 3D | |
- Prefer 3D if possible. | |
- 3D is easier to deal with in code. | |
- 2D mechanics do not imply 2D art. | |
- 2D art does not imply pixels. | |
--- | |
## Animation | |
Two options: | |
- Keyframes | |
- Usually better for 2D art. | |
- Skeleton | |
- Usually better for 3D art. | |
--- | |
## Graphics Tools | |
- Inkscape (scalable graphics editor) | |
- GIMP (image manipulation) | |
- Piskel (sprite animation) | |
- Blender (modelling, animation, video) | |
--- | |
## Colorblind Modes | |
- Around 5-10% of people are colorblind. | |
- If your game makes mechanical use of color, consider adding a colorblind mode. | |
--- | |
## Audio Formats | |
- Ogg Vorbis - Strong general-purpose format. | |
- FLAC - Lossless compression. | |
- WAV - No compression. Do not **EVER** use for music. | |
- MP3 - Never use this. Ogg Vorbis is much better. | |
--- | |
## Audio Tools | |
- Audacity - Sound recording and editing. | |
- SFXR (and derivatives like BFXR) - Sound effect generation. | |
- Musagi - Music editor and synthesizer. | |
- MilkyTracker - Music tracker. | |
- LMMS - Music editor. | |
--- | |
## Map Editing Tools | |
- Tiled - Map editor | |
- Tile Studio - Map and tile editor | |
--- | |
# 4. Aesthetics and the Ludonarrative | |
The aesthetics of a game's graphics, music, and mechanics must be complementary. | |
--- | |
## Aesthetics of Gameplay | |
- Character growth reflected in the interface. | |
- Bigger health bars | |
- More items | |
- Character actions tied to scene. | |
- Moving faster -> wide FOV | |
- Steady aiming -> narrow FOV | |
- Large impact (landing from a long fall) | |
- Screen shake | |
- Dust clouds | |
- *thump* | |
- Music changes when in combat. | |
--- | |
## The Ludonarrative | |
- Story told through gameplay | |
- Gameplay driven by story | |
Ludonarrative dissonance | |
- Player actions lie outside the narrative. | |
- Story and gameplay are not working together. | |
- Avoid if possible. | |
- You cannot stop the player from acting like an idiot. | |
--- | |
# 5. Scope and MVP | |
"It's an MMO space combat simulator with voxel terrain destruction and a player-driven economy." | |
--- | |
## Minimizing Scope | |
- You don't need modding support. | |
- You don't need online multiplayer. | |
- You don't need hats. | |
Make the absolute bare minimum game you can. | |
Add to it later. | |
--- | |
# 6. Resources | |
- http://www.gamedev.net/ | |
- http://gamedev.stackexchange.com/ | |
- http://www.reddit.com/r/gamedev/ | |
- http://www.gpwiki.org/ | |
- http://gameprogrammingpatterns.com/ | |
- http://opengameart.org/ | |
--- | |
class: center, middle | |
...questions? | |
</textarea> | |
<script src="https://gnab.github.io/remark/downloads/remark-latest.min.js"> | |
</script> | |
<script> | |
var slideshow = remark.create(); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment