Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

I Develop Videogames


Published on

Introduction to the world of game development.

Published in: Self Improvement
  • Be the first to comment

  • Be the first to like this

I Develop Videogames

  1. 1. I Develop Videogames Team YinYang {Jorge Palacios, Christian Chomiak} presents Hey, there Want to make a game? Originally from 2013, updated in 2016
  2. 2. We gather together to...
  3. 3. Agenda ● Introduction to game development. ● Challenges in the industry. ● Differences between academy & the “real world”. ● Brief introduction to Unity. ● Suggestions & conclusions
  4. 4. Introduction to game development What is a video game? (Intentionally left blank)
  5. 5. Introduction to game development What is game development? ●Also known as gamedev. ●The practice of developing entertainment software (videogames). ●Game developer != Gamer
  6. 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. 7. Introduction to game development (Other) Areas & Disciplines ●Narrative ●Sound ●Playtesting ●QA
  8. 8. ●Regulatory law regarding video games & bellic toys. oFILANTROPIA Foundation. ●Job market ●Associations ●Events oGameJams Introduction to game development Case Study: Venezuela
  9. 9. Caracas GameJam 2013
  10. 10. Introduction to game development What do you need to know? Skills & Knowledge BASIC DESIRABLE Math (Trigonometry, Algebra) Physics Communication Prototyping
  11. 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. 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?
  13. 13. Insecurities (and how to beat them)
  14. 14. ●Learn. ●Endless resources available in the shape of books and tutorials on the Internet. Insecurities (and how to beat them) “I don’t know how to code"
  15. 15. Insecurities (and how to beat them) “I’m a programmer, not an artist” • Royalty-free resources (Creative Commons) • Freelance artists • Asset Store (Unity)
  16. 16. Insecurities (and how to beat them) “I’m a student (I don’t 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. 17. Insecurities (and how to beat them) “I’ve 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. 18. Insecurities (and how to beat them) <Insert your excuse here>
  19. 19. Insecurities (and how to beat them) <More excuses here>
  20. 20. The “real world”
  21. 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. 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
  23. 23. The indie boom
  24. 24. Indie Game: The Movie
  25. 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 shouldn’t 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
  26. 26. Development Tools
  27. 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:
  28. 28. Development Unity3D
  29. 29. Development - Unity3D Platforms
  30. 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. 31. Development - Unity3D User Interface (Intentionally left blank) (Live demonstration)
  32. 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.
  33. 33. Development - Unity3D Asset Store
  34. 34. Development - Unity3D Unity+Git Why use Version Control Systems? What is Git? How to use Unity+Git?
  35. 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. 36. Development - Unity3D Version Control Systems ●github ●bitbucket ●google code ●source forge ●assembla And there’s more!...
  37. 37. Development - Unity3D What is Git? A version control system (duh). Designed by Linus Torvalds. Why is it better than Mercurial or SVN?
  38. 38. Development - Unity3D How to Git?
  39. 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:
  40. 40. Suggestions & conclusions Hey, listen!
  41. 41. Conclusions & Suggestions ●Blog oShare your experiences. oKeep a record of you’ve 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 people’s mistakes. oA safe haven for friendly competition and collaboration.
  42. 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. 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. 44. And there’s more! Remember that... …there’s people who is or has been in your same situation. …software development is an iterative process. …don’t expect to finish tomorrow what you didn’t start today.
  45. 45. An announcement by yours truly @pctroll @cchomiakm
  46. 46. Any questions?
  47. 47. Thanks! This is a chocobo