This is a talk I gave at the Global Game Jam 2017 in the Cuba location. It has a lot of to the point advice on game development. Some of it is crowd sourced and some of it is personal
Tips & Tricks that every game developer should know
1. TIPS AND TRICKS EVERY GAME
DEVELOPER SHOULD KNOW
20+ YEARS OF CREATIVE CODING
2. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GORM LAI - GAME MAKER
▸ Started with 680x0 Assembly on Amiga
▸ Programmed C++ for over 20 years
▸ Worked on 16 Games
▸ Nearly all platforms
▸ Runs Kotori Studios in the UK
3. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GORM LAI - JAMMER
▸ 2006: Founded the Nordic Game Jam
▸ 2009: Founded the Global Game Jam
▸ Current President of the Global Game Jam
▸ Still jamming
4. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
AGENDA
▸ Key Team Roles
▸ Crowdsourced Advice
▸ Personal Advice
▸ Questions
5. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GENERAL TEAM ROLES
▸ Artist
▸ Game Designer
▸ Sound Designer
▸ Producer
▸ Programmer
6. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTIST TIP # 1
▸ Get the sizes right before you start
making artwork. Start with
deciding the game screen size.
Then decide the hero's size. Then
decide the size of a door and a
monster. Then tell the programmer.
Now you can start making assets.
Source: Thomas Ryder via FB (twitter: @ThomasRyder99)
7. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTIST TIP # 2
▸ Your colour palette is as important
as the quality of your drawing. A
bad palette can ruin a good
drawing, a good palette can make
it epic.
Source: Thomas Ryder via FB (twitter: @ThomasRyder99)
8. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTIST TIP # 3
▸ Every screen in your game should
contain both square and curved
shapes. This makes your game
more interesting to look at.
Source: Thomas Ryder via FB (twitter: @ThomasRyder99)
9. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTIST TIP # 4
▸ Think of art as information.
Everything you draw should either
help the player understand the
gameplay, the game world or the
story.
Source: Thomas Ryder via FB (twitter: @ThomasRyder99)
10. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTIST TIP # 5
▸ For art; get all assets into the game
as fast as possible while not caring
about quality too much. Work out
all the technical kinks and bugs.
▸ Get a model in early as possible.
don't refine until its in game where
you can see it's use properly. Don't
sweat the details. The general
public doesn’t care if a 3mm bevel
looks better than a 2mm zoomed
up close.
Anonymous Source x 2
11. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME DESIGNER TIP # 1
▸ Make it simpler
▸ Repeat
▸ Repeat
▸ ….
▸ Repeat
▸ Now make it
Source: Mike Reddy via FB (twitter: @DoctorMikeReddy)
12. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME DESIGNER TIP # 2
▸ Prototype on paper
▸ Card board / cut outs can be very
useful
▸ Very useful for testing out specific
mechanics
13. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME DESIGNER TIP # 3
▸ Know enough scripting to be
able to prototype.
▸ Learn a little bit of all disciplines;
art, sound, etc
14. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME DESIGNER TIP # 4
▸ “Test your ideas as early as you
can on real people”
▸ Testers are never wrong
▸ Observe, question, never blame
▸ Not everyone will like your
game!
Source: Mike Reddy via FB (twitter: @DoctorMikeReddy)
15. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME DESIGNER TIP # 5
▸ Use your target platform for
running the game when iterating
content and features.
Anonymous Source
16. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SOUND DESIGN TIP # 1
▸ Never play the same sound within
1-2 seconds (unless you want an
arcade / oldschool feel).
Randomize with at least 4
alternatives and repetition is
acceptable - if the random routine
is good enough (e.g. never
alternates between just of the
sounds).
Source: David Filskov via FB (twitter: @dfilskov)
17. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SOUND DESIGN TIP # 2
▸ Finding the right audio is 20% of
the work; implementing it in the
engine is 80%
Source: Anders Højsted via FB (twitter: @andershojsted)
18. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SOUND DESIGN TIP # 3
▸ Designers should fully understand
the objective of the game most
esp. if it's a story-based game.
adaptive music is very important
Source: David Cabbs via FB (twitter: @haarryy16)
19. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SOUND DESIGN TIP # 4
▸ Layering multiple audio files can
net you an entirely new sound
effect. Tedious, but can be
worthwhile
Source: Josh Balane via FB (twitter: @josh_sixtheden)
20. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SOUND DESIGN TIP # 5
▸ They should know how to have a
constructive discussion when the
director says "I want this sound to
be more purple".
Source: Michael Rose via FB (twitter: @mgr88)
21. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TIP # 1
▸ Texture Atlases
▸ Packs sprite into one texture
▸ Look up single frames by UV
coordinates
▸ Saves valuable space
Source: David Filskov via FB (twitter: @dfilskov)
22. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TIP # 2
▸ Waterfall model is not good for
games
▸ If huge design docs are used, they
are mostly used to get everyone on
the same page in the beginning of
development
▸ Iterate
▸ Use agile / scrum / kanban
23. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TIP # 3
▸ Work your core mechanics
▸ If people don't like to play your
ugly prototype then it's not by
throwing beautiful art at it that will
make it better
Source: Fausto Fonseca via FB (twitter: @faustofonseca)
24. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TIP # 4
▸ “It's often a good idea to go for a
walk, or do something completely
unrelated when you're stuck. If you
find yourself getting nowhere, or
making silly mistakes, stop. Get
some rest, mental and physical.
Even the simplest problems are
daunting when you're tired or
burned out.”
Source: Lindsay Grace via FB (twitter: @mindtoggle)
Image: https://www.flickr.com/photos/
vivobarefoot/25103458911
25. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TIP # 5
▸ Games are made by teams of
people of different disciplines.
Engineering, QA, Art, Design,
Project Management.
▸ All of those people are key
Anonymous Source
Original Image: http://thegoldguys.blogspot.com/
26. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PROGRAMMER TIP # 1
▸ You need math, and sometimes
simple physics.
▸ Understand:
▸ Vectors, matrices
▸ Transformation hierarchies
▸ Projections
▸ Optional: Simple integration
▸ Optional: Quaternions
Original Image: https://pixabay.com/en/
chalkboard-math-problem-blackboard-304221/
27. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PROGRAMMER TIP # 2
▸ KISS
▸ Keep It Simple Stupid
▸ Complexity takes time
▸ “you'll basically always
underestimate how long
stuff takes. Keep it
simple.”
▸ Rewrite when needed
Anonymous Source
Image: https://www.flickr.com/photos/hey__paul/7520544090
Source: Johannes Kraemer (twitter:
@johanneskraem3r)
28. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PROGRAMMER TIP # 3
▸ Profile
▸ Find hotspots
▸ 10% of the code will use 90% of the
cpu time
▸ Use profiling tools. The hotspot is
rarely where you think it is
29. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PROGRAMMER TIP # 4
▸ Small, simple & working > large,
complex & broken
▸ "Perfect is the enemy of good”
▸ don't solve problems you don't have
▸ Don’t be afraid to rewrite your code
Source: Eoin Carroll via FB (twitter: @eoincarroll)
Source: Ian Schreiber via FB (twitter: @IanSchreiber)
Source: Richard Baxter via FB (twitter: @raxterbaxter)
30. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PROGRAMMER TIP # 5
▸ Use Version Control
▸ Git
▸ Mercurial
▸ SVN
▸ VNC
Source: Giselle Rosman via FB (twitter: @jazzrozz)
Image: https://git-scm.com/downloads/logos
31. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GENERAL ADVICE
32. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ITERATION
▸ Your first idea rarely works, and
that’s OK.
▸ Play has to be tried out, it can
rarely be thought out.
▸ Iterate until you converge OR you
have to throw out the idea.
33. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SHOW DON’T TELL - TEAM
▸ Fun can be hard to describe in
words.
▸ If your team disagrees a
mechanic will be fun, build a
prototype.
▸ A prototype says more than a
thousand words.
Image: https://www.flickr.com/photos/mikecogh/
5421238406
34. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
SHOW DON’T TELL - USERS
▸ Players don’t read.
▸ UX is important.
▸ Show players how to play the
game, don’t tell them.
▸ Ease players in. Don’t give away
everything at once.
▸ The best tutorial is no tutorial.
35. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
FRAMERATE
▸ 100% 30 fps > 90% 60 fps
▸ Variable frame rates can be felt,
even at high rates. Player
experiences stuttering.
▸ Steady frame rate is king.
36. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
JUICE - BEJEWELLED 3
37. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
JUICE - PEGGLE 2
38. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
JUICE - PEGGLE 2
39. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
JUICE - EASE IN / EASE OUT
▸ Ease In/ Ease Out all animations
▸ Curves:
▸ Cos
▸ S Curve (3*t^2 - 2 * t^3)
▸ Bezier / Hermite
40. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
JUICE - UX & IMMERSION
▸ Action causes a re-action
▸ User input / interaction should
always cause feedback from the
system:
▸ Sound / Animation
▸ Preferably both
41. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
CRAFTSMANSHIP VERSUS ARTISTRY & INNOVATION
42. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
CRAFTSMANSHIP
▸ Beautiful graphics
▸ Well-designed user experience
▸ Steady fast frame rate
▸ All the tips in this presentation
43. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
ARTISTRY & INNOVATION
▸ Unique look and feel
▸ Auteured experience
▸ Unique way of interaction
▸ New mechanics
▸ Unique mix of mechanics
Image: https://www.flickr.com/photos/
ajc1/6008359552
44. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GREAT GAMES HAVE BOTH
45. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
NO SILVER BULLET
▸ Use the right tool for the right job
▸ Be versatile
▸ Industry changes fast. Change with
it.
46. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GAME MAKING TOOLS
▸ Unity
▸ Unreal
▸ Game Maker
▸ Construct
▸ PyGame
▸ C++
47. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
GRAPHICS TOOLS / LIBRARIES
▸ Houdini
▸ Blender
▸ 3D Studio Max
▸ Photoshop
▸ Gimp
▸ Texture Packer
48. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
AUDIO TOOLS / LIBRARIES
▸ Audacity
▸ Wwise / Fmod / OpenAL
▸ Digital Performer
▸ Omnisphere
▸ Kontakt
▸ Wave lab
49. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
PRODUCTION TOOLS
▸ Base Camp
▸ Harvest
▸ Team Viewer
▸ Slack
50. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
OPEN SOURCE LIBRARIES
LibRocket, ZLib, Nothings Public domain projects, Ogg-Vorbis (non-stb),
SDL, Cocos 2D X, FBX SDK, Cricket Audio, Freetype, GLEW, GLM, libpng,
freetype2, ODE, jingle, Newton Game Dynamics, Open Asset Import
Library, SFML, Ant Tweak Bar, Allegro 5, Mono Game, Pugixml, Box 2D,
Geometric Tools, GLFW, Noiselib, Bullet Physics, Gl3w, lib curl, rapidxml,
rapidjson, angelscript, Metal, libGCM, libGDX, Raknet, lwjgl, Opus, Cal3d,
FreeImagePlus, TinyXML, Irrlicht, BGFX, Lua, libjpg, npk, Berkelium,
mysql, Collada, Cryptopp, Gdal, Awesomium…
51. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
STAY HUMBLE
▸ You can always improve
▸ Always someone smarter
▸ Compromise
▸ The bug is more likely to be in your
code than someone elses code
▸ Expect failure and hope for
success
52. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
STAY THE COURSE
▸ Making games is hard
▸ Finding fun can take a long time
▸ Covering all the ways a user can
interact with a game takes time
▸ It takes at least 80% of the time to
make the final 20% of the game
53. TIPS AND TRICKS EVERY GAME DEVELOPER SHOULD KNOW
QUESTIONS
gorm@globalgamejam.org
@gormLai