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.

Building a game in a day

5,207 views

Published on

Presentation to F#unctional Londoners Meetup group on cross platform game development with F# & MonoGame, covering games built in a day at the GameCraft game jams.

  • Be the first to comment

Building a game in a day

  1. 1. BUILDING A GAME IN A DAY PhillipTrelford, F#unctional Londoners, 2013
  2. 2. DON’T GAMES PROGRAMMERS USE C++? YES  Engines  Graphics  Sound  Physics NO  Scripts  AI  Interaction  Tools
  3. 3. DOTHEY REGRET IT? Veteran Games Programmer John Carmack extolling the virtues of functional programming at QuakeCon
  4. 4. QUAKE 3 – F# SCRIPT Will Smith @TIHanTime6h @brandewinder @7sharp9 Finally got something going in #FSharp #Quake3. Messing around with the weapon position. :) pic.twitter.com/zAZ439Kdch
  5. 5. F# FOR PROFIT Functional-first programming for:  Time to Market  Efficiency  Correctness  Complexity
  6. 6. F#TESTIMONIALS order of magnitude increase in productivity, GameSys performance is 10× better than the C++ that it replaces, Aviva Units of measure reduced the chance of errors dramatically, Bing F# is the night vision goggles I need when I go into the dark and attempt to solve previously unsolved problems, Microsoft
  7. 7. PORTABLE IS DEAD, LONG LIVE MOBILE  Android games now out-selling games for Sony and Nintendo handhelds  IDC and App Annie's study suggests that iOS and Android combined now generate four times the revenues of dedicated gaming handhelds - Guardian
  8. 8. CROSS PLATFORM GAME ENGINES Designer-orientated  Unity (C#, JavaScript, Boo)  PhoneGap (JavaScript) Code-orientated  XNA/MonoGame (C#, F#)  PyGame (Python)  Love (Lua)  DirectX (C++)
  9. 9. RETRO GAME (XNA + F#) 2007
  10. 10. XBLA: PATH OF GO (XNA + F#)
  11. 11. XNA IS DEAD Hacking XNA to run onVS 2012  DownloadVS2010 (Express etc.)  Install XNA  Hack XML config file  Install Xbox Live (Windows 8)
  12. 12. LONG LIVE MONOGAME  Develop inVisual Studio (PC) or Xamarin Studio (Mac & PC)  Cross Platform  iOS  Android  Windows  MacOSX  Linux  Playstation Mobile  Ouya
  13. 13. GAMES PROGRAMMING 101 Game Routines(Co) React Render
  14. 14. COROUTINE ZOMBIES Pseudo Code random_pause 10 while not dead wait_until_in_range 50.0 home_in_on_target 10 F# yield! random_pause 10 while true do yield! wait_range 50 yield! home_in 10
  15. 15. FLINT EASTWOOD (F# + SILVERLIGHT) Dublin GameCraft 2012 6 hours
  16. 16. THE PRISMER Kenneth Heine Berle Neil Danson Quinton Coetzee Anton Semenov Malcom Knight ThomasTrelford PhillipTrelford
  17. 17. TOOLING VS2012 + F# + XNA Paint.Net Gimp MusicMaker Jam Bxfr.Net (Sound effects) DropBox
  18. 18. 11 HOURS LATER Making games – fun for all the family 
  19. 19. QUESTIONS? Twitter: @ptrelford Blog: http://trelford.com/blog F# Foundation: http://fsharp.org

×