際際滷

際際滷Share a Scribd company logo
I Develop Videogames
Team YinYang
{Jorge Palacios, Christian Chomiak}
presents
Hey, there
Want to make a
game?
Originally from 2013, updated in 2016
We gather together to...
Agenda
 Introduction to game development.
 Challenges in the industry.
 Differences between academy & the real
world.
 Brief introduction to Unity.
 Suggestions & conclusions
Introduction to game development
What is a video game?
(Intentionally left blank)
Introduction to game development
What is game development?
Also known as gamedev.
The practice of developing entertainment
software (videogames).
Game developer != Gamer
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
Introduction to game development
(Other) Areas & Disciplines
Narrative
Sound
Playtesting
QA
Regulatory law regarding video games &
bellic toys.
oFILANTROPIA Foundation.
Job market
Associations
Events
oGameJams
Introduction to game development
Case Study: Venezuela
Caracas GameJam 2013
Introduction to game development
What do you need to know?
Skills & Knowledge
BASIC DESIRABLE
Math
(Trigonometry, Algebra)
Physics
Communication Prototyping
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?
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?
Insecurities
(and how to beat them)
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"
Insecurities (and how to beat them)
Im a programmer, not an artist
 Royalty-free resources
(Creative Commons)
 Freelance artists
 Asset Store (Unity)
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
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++
Insecurities (and how to beat them)
<Insert your excuse here>
Insecurities (and how to beat them)
<More excuses here>
The real world
 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
 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
The indie boom
Indie Game: The Movie
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
Development
Tools
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/
Development
Unity3D
Development - Unity3D
Platforms
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
Development - Unity3D
User Interface
(Intentionally left blank)
(Live demonstration)
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.
Development - Unity3D
Asset Store
Development - Unity3D
Unity+Git
Why use Version Control
Systems?
What is Git?
How to use Unity+Git?
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!)
Development - Unity3D
Version Control Systems
github
bitbucket
google code
source forge
assembla
And theres more!...
Development - Unity3D
What is Git?
A version control system (duh).
Designed by Linus Torvalds.
Why is it better than Mercurial or SVN?
Development - Unity3D
How to Git?
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/
Suggestions & conclusions
Hey, listen!
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.
Conclusions &
More suggestions
Keep yourself
oOrganised.
 Use project management tools.
oUpdated.
 Computer science is a ever-growing field of
study.
oCurious.
 Challenge your capabilities.
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.
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.
An announcement by yours truly
www.pctroll.me
@pctroll
Bonusdisc.com
@cchomiakm
Any questions?
Thanks!
This is a chocobo

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++
  • 18. Insecurities (and how to beat them) <Insert your excuse here>
  • 19. Insecurities (and how to beat them) <More excuses here>
  • 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
  • 31. Development - Unity3D User Interface (Intentionally left blank) (Live demonstration)
  • 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.
  • 34. Development - Unity3D Unity+Git Why use Version Control Systems? What is Git? How to use Unity+Git?
  • 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
  • 47. Thanks! This is a chocobo