Skip to content

Commit b7de9c5

Browse files
author
Hurshal Patel
committed
add game design notes
1 parent 1eaa70f commit b7de9c5

File tree

2 files changed

+150
-0
lines changed

2 files changed

+150
-0
lines changed

_data/subjects.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
name: Interactivity with JavaScript
77
- slug: canvas
88
name: Canvas and Drawing
9+
- slug: gamedesign
10+
name: Game Design
911
- slug: phaser
1012
name: Game Development with Phaser
1113
- slug: api

subjects/gamedesign/index.md

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
---
2+
---
3+
Fundamental Game Components
4+
===========================
5+
6+
From **Challenges for Game Designers by Brenda Brathwaite and Ian Schreiber**, there are several fundamental components in game design:
7+
8+
* **game state** - the collection of relevant information that may change during game play (health, points, items, lives, etc).
9+
* **players/avatars** - all games must have someone playing them. In some cases, the player represents themself (poker, Tetris, etc), and in others, there is an _avatar_ which represents the player in the game (first person shooters, Mario Kart, etc).
10+
* **mechanics** - rules which act upon the game state and players, and describe all ways to change the game state.
11+
* setup mechanics describe how the game starts
12+
* victory conditions describe how to win the game
13+
* progression of play mechanics determine if the game is turn-based (words with friends), or realtime (Mario Kart)
14+
* player action mechanics or "verbs" describe what a player can do and how it affects the game state
15+
* game view mechanics describe what information each player knows at any given time
16+
* **dynamics** - pattern of play which comes from the mechanics. Some examples are _territorial acquisition_ (Starcraft, Risk, Go), and _race to the end_ (Mario Kart, Chutes and Ladders)
17+
* **goals** - provide rewards to motivate the player to do something. The ultimate goal is victory, but there may be others like defeating an enemy, finding items, or getting a high score.
18+
* **theme** - the story and world around which the game takes place. Some games like Tetris have no theme, and others like Halo have so much backstory that there are books written about it.
19+
20+
Choose one of your favorite games and determine as many of the above components as possible. Pick a couple key components that you think make the game so compelling. Is it because of the story that the game tells? Is it the victory conditions (or lack thereof)?
21+
22+
Brainstorming tips from IDEO
23+
============================
24+
25+
**1. Defer judgment.**
26+
Creative spaces don't judge. They let the ideas flow, so that people can build on eachother and foster great ideas. You never know where a good idea is going to come from, the key is make everyone feel like they can say the idea on their mind and allow others to build on it.
27+
28+
**2. Encourage wild ideas.**
29+
Wild ideas can often give rise to creative leaps. In thinking about ideas that are wacky or out there we tend to think about what we really want without the constraints of technology or materials. We can then take those magical possibilities and perhaps invent new technologies to deliver them. We say embrace the most out-of-the-box notions and build build build...
30+
31+
**3. Build on the ideas of others.**
32+
Being positive and building on the ideas of others take some skill. In conversation, we try to use "and" instead of "but"...
33+
34+
**4. Stay focused on the topic.**
35+
We try to keep the discussion on target, otherwise you can diverge beyond the scope of what we're trying to design for.
36+
37+
**5. One conversation at a time.**
38+
When different conversations are going on within a team, no one can focus.
39+
40+
**6. Be visual.**
41+
In live brainstorms we use coloured markers to write on Post-its that are put on a wall. Nothing gets an idea across faster than drawing it. Doesn’t matter how terrible of a sketcher you are! It's all about the idea behind your sketch. You could also try your hand at sketching it out or mocking it up on the computer. We love visual ideas as the images make them memorable. Does someone elses idea excite you? Maybe make them an image to go with their idea.
42+
43+
**7. Go for quantity.**
44+
Aim for as many new ideas as possible. In a good session, up to 100 ideas are generated in 60 minutes. Crank the ideas out quickly. Try setting a goal for the number of ideas you’ll get to in a certain amount of time to provide some stoke.
45+
46+
Game Deliverables
47+
=================
48+
49+
1. Game Document
50+
* Game Design
51+
* core loop - your game should have a clear core loop that engages the user
52+
* game components - elaborate on the following components of your game. who/what/where/when/why
53+
* game state
54+
* player/avatar
55+
* mechanics
56+
* goal
57+
* theme
58+
* Artwork and assets
59+
* some sort of sketch for your players/enemies/items
60+
* a storyboard which explains what each screen will look like and how you will interact with it
61+
* Game Development
62+
* basic architecture - outline the basic structure for your game. You should have enough detail to answer questions like:
63+
* How do you represent enemies/players/items?
64+
* How do you keep track of the game state?
65+
* What kinds of things will you have to do to get user input (taps/swipes/accelerometer)?
66+
* Production
67+
* Timeline - how are you going to take on this monumental task? Break the development of the game into small, actionable steps. Keep in mind that group members can work on different tasks in parallel, so someone can be working on the art while someone else is working on the gameplay or fixing bugs.
68+
* List out action items and time estimates for:
69+
* Artwork and assets - what images, sounds, maps, etc will you need? What is the most basic version of these which you can use to test your first full game? You can use placeholders until the final versions of these are ready, so these action items should be very low priority in the beginning of your game.
70+
* Game development - what is the simplest interaction from your core loop that you can code and test? Once that is done, what order will you add extra features, such as power ups, a fancy user interface, more enemies, stats, etc. Keep in mind that most of these tasks are cumulative, so you won't be able to work in parallel on most of this. Some things like swipe detection and getting platforms to work are completely independent and can be done in parallel.
71+
* You can use something like [Trello](https://trello.com/) to keep track of tasks in a group and stay focused. Also, you can use Github's built in issues tracker and wiki to keep track of other details for your game.
72+
73+
Blogging + Documentation Tips
74+
=============================
75+
76+
Documenting your progress and process is a great tool for building your game and eventually your portfolio. Using simple blogging platforms such as [Wordpress](http://www.wordpress.com) or [Tumblr](http://www.tumblr.com) can be an easy way to keep track of your progress and eventually turn it into a portfolio piece.
77+
78+
**1. Know your audience.**
79+
Writing is a form of communication, so figure out who your audience is and what information you want to convey to them. If your audience consists of mainly game developers, your postings might include more technical information as compared to if your audience consists of mainly game enthusiasts, your postings might include more information on the different features and how it compares to other games. Your audience will help determine the tone of your writing as well.
80+
81+
**2. Be concise.**
82+
When people are looking at your posts or portfolio pieces, they do not want to read a novel. Make sure you cover all of the necessary information that your audience would be interested in.
83+
84+
**3. Be specific.**
85+
When you are providing descriptions or examples, be specific in what you say.
86+
87+
* BAD: "And then I made the game interesting."
88+
* GOOD: "And then I added an extra wobbly platform at the end to make it more interesting for the player."
89+
90+
**4. Have structure to your postings.**
91+
Develop some sort of structure to your posts so that your reader knows what to expect. The structure will organize your writing and also make it easier for people to follow. (E.g.,
92+
93+
* Paragraph 1: Overview of what I did
94+
* Paragraph 2: What I Learned
95+
* Paragraph 3: What I liked/disliked most
96+
* Paragraph 4: Tools I used
97+
* Paragraph 5: Future Tasks
98+
99+
100+
**5. Reflect on what you've done and set goals for future tasks.**
101+
Blogging as you are developing the game is a great way for you to keep track of what you've done and to set goals for what you want to accomplish next. Writing about what worked well and what didn't work can help prevent future mistakes and can also keep you from blindly developing by keeping the big picture in sight. Discuss the rationale behind your decisions.
102+
103+
**6. Take note of what you learned.**
104+
Building on the previous point, you will acquire a lot of knowledge as you build your game. People love hearing about what knowledge and skills you learned and how your learning informs future iterations.
105+
106+
**7. Take pictures/screenshots/videos/screen captures as you go.**
107+
Words are great, but pictures and video can make your blog or portfolio piece come alive. Including some multimedia aspect to your postings (i.e. photos and videos) can break up the text a bit and provide another way for your audience to learn about your work.
108+
109+
**8. Let yourself shine but respect the rules of grammar and spelling.**
110+
Let your personality come through in your writing. In your blog, the reader should feel like s/he is listening to you speak. Your blog is like a representation of yourself, so add a bit of flavor to it in your writing, blog theme, design, etc. Do, however, exclude profanities and try to use correct spelling and grammar, as you never know who might be reading it. Stay classy.
111+
112+
Game and Blog Inspiration
113+
=========================
114+
115+
These game development blogs have a mix of traditional essay-style blog posts, and game progress blog posts, both of which you can use as inspiration for your own blog.
116+
117+
* [Planet GameDev's blog](http://www.planetgamedev.com/) documents the progression of a wilderness survival game.
118+
* [The Witness' blog](http://the-witness.net/news/) shows the progress of the game The Witness, along with some useful posts on programming, art, and game design
119+
* [Gambrinous's blog](http://blog.gambrinous.com/) documents the development and release of the Guild of Dungeoneering along with some posts on game design and production
120+
* [Odonata devblog](http://odonatagame.blogspot.com/) details the development of Odonata, a third-person shooter/RTS game
121+
* [Levity Games blog](http://www.levitygames.com/page/3/) details several games through their development
122+
* [Notch's (Minecraft creator) blog](http://notch.tumblr.com/) has some interesting posts on game design and production.
123+
* [Hobby Gamedev](http://www.hobbygamedev.com/) has some good posts on artwork and game design
124+
* [Wolfire's blog](http://blog.wolfire.com/) documents the progression of the action-adventure game Overgrowth
125+
* [LostGarden's blog](http://www.lostgarden.com/) talks about game design and artwork
126+
* [Gama Sutra's game dev blog](http://www.gamasutra.com/blogs/) has a lot of interesting guest posts that may help you through the game production process
127+
128+
129+
The [Ludum Dare](http://www.ludumdare.com/compo/rules/) is a popular 48 hour game hackathon that takes place a couple times every year. The competition has created some cool games and encourages participants to document their process, so there's a lot of very well written and detailed journals that you can use as inspiration for your game and also for your blog. Try playing some of the games and look through the journal to see what the developers did to make it happen!
130+
* [Ripple Runner](http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=7285) - [journal](http://www.ludumdare.com/compo/category/ld-29/?author_name=ddrkirbyisq)
131+
* [ESCAPE](http://www.ludumdare.com/compo/ludum-dare-21/?uid=4336) - [journal](http://www.ludumdare.com/compo/category/ld-21/?author_name=schonstal)
132+
* [Diamond Hollow](http://www.ludumdare.com/compo/ludum-dare-20/?action=preview&uid=4155) - [journal](http://www.ludumdare.com/compo/category/ld-20/?author_name=arkeus)
133+
* [Hyper Furball](http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=7285) - [journal](http://www.ludumdare.com/compo/category/ld-27/?author_name=ddrkirbyisq)
134+
* [Robot Wants Kitty](http://www.ludumdare.com/compo/ludum-dare-16/?action=preview&uid=11) - [journal](http://www.ludumdare.com/compo/category/ld-16-2009/?author_name=hamumu)
135+
* [The Sun and the Moon](http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=3479) - [journal](http://www.ludumdare.com/compo/category/ld-29/?author_name=managore)
136+
137+
Useful Tools
138+
============
139+
140+
* [Prototyping on Paper](https://popapp.in/)
141+
* [Ludum Dare tools](http://www.ludumdare.com/compo/tools/) - a bunch of tools for creating sprites, tiles, music, 3d models, and various other things
142+
* [OpenGameArt.org](http://opengameart.org/) - lots of free to use artwork
143+
* User [kenney](http://opengameart.org/users/kenney?page=1) has a lot of good platformer artwork
144+
* [DawnBringer 16 color palette](http://www.pixeljoint.com/forum/forum_posts.asp?TID=12795) - a 16 color palette designed for high contrast and brightness
145+
* [Oryx's LOFI spritesheet](http://forums.tigsource.com/index.php?topic=8970.0) - a huge set of sprites used by many popular games
146+
* [Glitch the Game public domain assets](http://www.glitchthegame.com/public-domain-game-art/) - all game assets were released for public usage
147+
* [Tiled map editor](http://www.mapeditor.org/) - used by many platformers and RPGs to design levels
148+
* [Tiled platformer overview (Javascript)](http://codeincomplete.com/posts/2013/6/2/tiny_platformer_revisited/)

0 commit comments

Comments
 (0)