Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Ready, steady, cross platform games - ProgNet 2015

6 643 vues

Publié le

"In this session we'll explore modern cross platform game development, focusing on simple game design concepts for maximizing fun and classic games programming techniques for maximizing frame rates. We'll use Xamarin Studio to target iOS and Android off the same code base and the power of F# to allows us to put together a game in less than 4 hours."

Publié dans : Logiciels
  • Soyez le premier à commenter

Ready, steady, cross platform games - ProgNet 2015

  1. 1. READY, STEADY, CROSS PLATFORM GAMES ON YOUR PHONE Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  2. 2. DON’T GAME CODERS USE C++? YES • Engines • Graphics • Sound • Physics NO • Scripts • AI • Interaction • Tools
  3. 3. DO THEY REGRET IT? Veteran Games Programmer John Carmack extolling the virtues of functional programming at QuakeCon
  4. 4. THE F IN F# STANDS FOR FUN! Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  5. 5. 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
  6. 6. F# FOR PROFIT Functional-first programming for: • Time to Market • Efficiency • Correctness • Complexity
  7. 7. F# TESTIMONIALS order of magnitude increase in productivity, GameSys performance is 10× better than the C++ that it replaces, Insurance Co. 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
  8. 8. MOBILE? Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  9. 9. 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
  10. 10. CROSS PLATFORM GAME ENGINES Designer-orientated • Unity (C#, F#, JavaScript, Boo) • PhoneGap (JavaScript, F#, …) • Marmalade • … Code-orientated • XNA/MonoGame (C#, F#) • PyGame (Python) • Love (Lua) • DirectX (C++)
  11. 11. F# FOR GAMES
  12. 12. EXAMPLE APPS Path to Go | XBLA Pissed off Owls| iOS Pool | WebGL
  13. 13. FRAMEWORKS FOR GAMES •.Net •WPF/Silverlight/WinRTXAML •.Net/Mono •XNA/MonoGameXNA •F# to JS Compilation •WebSharper/FunScriptHTML5
  14. 14. XNA IS DEAD Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  15. 15. LONG LIVE MONOGAME • Develop in Visual Studio (PC) or Xamarin Studio (Mac & PC) • Cross Platform • iOS • Android • Windows • Mac OSX • Linux • Playstation Mobile • Ouya
  16. 16. CROSS PLATFORM F# .Net •Windows •Windows Store •Windows Phone Mono •Mac •Linux •iOS •Android •Ouya •Playstation Vita JS •Chrome/IE •iOS •Android •Blackberry •Windows Phone •Windows Store
  17. 17. BUT WAIT…
  18. 18. PROTOTYPE 10 WRITE Prototype 20 PLAY Prototype 30 IF fun THEN GOTO 20 40 GOTO 10
  19. 19. THE GAME LOOP User Input Logic Collision Detection Score Render
  20. 20. TASKS
  21. 21. TASK 1: BRAIN TRAINING
  22. 22. TASK 2: FLAPPY BIRD
  23. 23. RESOURCES
  24. 24. CHOOSE YOUR OWN ADVENTURE
  25. 25. TOOLING MonoGame Paint.Net / Gimp MusicMaker Jam Bxfr.Net (Sound effects) Google
  26. 26. F# KOANS //--------------------------------------------------------------- // About Let // // The let keyword is one of the most fundamental parts of F#. // You'll use it in almost every line of F# code you write, so // let's get to know it well! (no pun intended) //--------------------------------------------------------------- [<Koan(Sort = 2)>] module ``about let`` = [<Koan>] let LetBindsANameToAValue() = let x = 50 AssertEquality x __
  27. 27. TRYFSHARP.ORG
  28. 28. BUY THE BOOK
  29. 29. Steps: 1. Enter game jams 2. Join 1 game a month 3. Publish your indie game 4. Make $$$ 5. Go to 1

×