This document provides an introduction to game development, covering areas like programming, game design, art, and other disciplines. It discusses challenges in the industry, differences between academia and professional game development. It also introduces the Unity game engine, covering platforms, programming, UI, plugins, and the asset store. The document concludes by offering suggestions for aspiring game developers, like maintaining a blog, focusing on one's portfolio, being part of the community, and practicing constantly.
1 of 47
Download to read offline
More Related Content
I Develop Videogames
1. I Develop Videogames
Team YinYang
{Jorge Palacios, Christian Chomiak}
presents
Hey, there
Want to make a
game?
Originally from 2013, updated in 2016
3. Agenda
Introduction to game development.
Challenges in the industry.
Differences between academy & the real
world.
Brief introduction to Unity.
Suggestions & conclusions
4. Introduction to game development
What is a video game?
(Intentionally left blank)
5. Introduction to game development
What is game development?
Also known as gamedev.
The practice of developing entertainment
software (videogames).
Game developer != Gamer
6. Introduction to game development
(Main) Areas & Disciplines
Programming
oAI
oGraphics
oGameplay
Game Design
oMechanics design
oLevel design
Art
oConcept Art
o3D Modelling
Game Designer != Game Programmer
7. Introduction to game development
(Other) Areas & Disciplines
Narrative
Sound
Playtesting
QA
8. Regulatory law regarding video games &
bellic toys.
oFILANTROPIA Foundation.
Job market
Associations
Events
oGameJams
Introduction to game development
Case Study: Venezuela
10. Introduction to game development
What do you need to know?
Skills & Knowledge
BASIC DESIRABLE
Math
(Trigonometry, Algebra)
Physics
Communication Prototyping
11. Skills & knowledge... for Game Designers
Understandment of:
o Physchology.
o Logic.
o Art.
Programming (scripting).
Writing & Proofreading
Communication (advanced).
Introduction to game development
What do you need to know?
12. Skills & knowledge... for Game Programmers
Algorithms (while(more){better;})
Scripting (desirable).
OOP (necessary).
C/C++ (indispensable).
Introduction to game development
What do you need to know?
14. Learn.
Endless resources
available in the shape
of books and tutorials
on the Internet.
Insecurities (and how to beat them)
I dont know how to code"
15. Insecurities (and how to beat them)
Im a programmer, not an artist
Royalty-free resources
(Creative Commons)
Freelance artists
Asset Store (Unity)
16. Insecurities (and how to beat them)
Im a student (I dont have money)
Free and Open Source tools
Free versions of paid tools
Student discounts (and free tools for
non-profitable use)
Professional engines available for
free* (e.g. Unity, Unreal)
* Free under some conditions
17. Insecurities (and how to beat them)
Ive never made a game but I want to make the next
(insert hit game name here)
Take down a notch
Begin with something
simple.
oExperience++
21. Big projects with little to no
room for mistakes and
innovation.
Restricted by the market and
the publishers.
The real world
The reality of AAA game developers
22. Medium to small teams.
Low budget.
o Kickstarter.
Most of the times with not
steady incomes.
The real world
The reality of indie game developers
25. Things you will not likely
learn while studying
Work under a deadline.
o Most of the times, simple
and hardcoded solutions
work better and are
cheaper than fully fledged,
correct solutions.
Collaboration.
o Communities
Forums.
Stack Overflow
o You shouldnt reinvent the
wheel.
The real world
VS the academy
Things you will not likely
learn in the real world
Deep study of algorithms.
State of the art solutions.
"Only the best is good
enough." -LEGO
27. Development
Tools categorised by complexity
Low level Blood, sweat and tears
oC++
oOpenGL / DirectX / Vulcan
Intermediate level Sweat and tears
oFrameworks like XNA, PyGame, Enchant.js, Flixel.
High level - Sweat
oEngines like Unity, Unreal & Source.
Nyancat level Pretty flowers, icecream & ponycorns
oTools like GameMaker & RPGMaker.
List of popular gamedev tools available here: http://makegames.pixelprospector.com/
30. Development - Unity3D
Programming
Scripting
oScripting engine based on Mono (open source
implementation of .NET).
oLanguages
UnityScript (Javascript on steroids)
C#
Boo (Python-like syntaxis)
IDE
oMonoDevelop (default and bundled with Unity)
oVisual Studio support
32. Development - Unity3D
Plug-ins
Usually written in C, C++, Objective-C, etc.
Integration between Unity apps and third-party
software.
For example:
oARToolKit for Unity: augmented reality.
oFingerGestures: detection of touch gestures.
oOpenCV: image processing.
35. Development - Unity3D
Version Control Systems
Tools that manage and keep track of the
changes made in a project.
git
mercurial
subversion
perforce
visual sourcesafe (DON'T YOU DARE!)
36. Development - Unity3D
Version Control Systems
github
bitbucket
google code
source forge
assembla
And theres more!...
37. Development - Unity3D
What is Git?
A version control system (duh).
Designed by Linus Torvalds.
Why is it better than Mercurial or SVN?
39. Define a .gitignore file
Configure the Unity project:
oEdit > Project Settings > Editor
Select Meta files under
Version Control Mode
Development - Unity3D
Unity+Git
More information available at:
http://bonusdisc.com/version-control-and-unity3d/
41. Conclusions &
Suggestions
Blog
oShare your experiences.
oKeep a record of youve learnt.
Work on your portfolio
oA blog can be useful to showcase it.
oTangible proof of your capabilities.
Be part of the community.
oLearn from other peoples mistakes.
oA safe haven for friendly competition and
collaboration.
42. Conclusions &
More suggestions
Keep yourself
oOrganised.
Use project management tools.
oUpdated.
Computer science is a ever-growing field of
study.
oCurious.
Challenge your capabilities.
43. Conclusions &
Even more suggestions
Brainstorm.
oMany solutions > one solution.
Code
oPractice makes the master.
Rest.
o"All work and no play makes Jack a dull boy."
oHave a life.
44. And theres more!
Remember that...
theres people who is or has been in your
same situation.
software development is an iterative
process.
dont expect to finish tomorrow what you
didnt start today.
45. An announcement by yours truly
www.pctroll.me
@pctroll
Bonusdisc.com
@cchomiakm