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.

Flappy - Paris 2015

388 views

Published on

Slides to accompany hands on F# games workshop in Paris

Published in: Software
  • Be the first to comment

  • Be the first to like this

Flappy - Paris 2015

  1. 1. READY, STEADY, CROSS PLATFORM GAMES Phillip Trelford, @ptrelford F# Paris 2015, #fsharp
  2. 2. F#UNCTIONAL LONDONERS • Founded Feb 2010 • 1000+ Members • Meets every 2 weeks • Topics include • Machine Learning • Finance • Games • Web http://meetup.com/fsharplondon
  3. 3. DON’T GAME CODERS USE C++? YES • Engines • Graphics • Sound • Physics NO • Scripts • AI • Interaction • Tools
  4. 4. DO THEY REGRET IT? Veteran Games Programmer John Carmack extolling the virtues of functional programming at QuakeCon
  5. 5. THE F IN F# STANDS FOR FUN! Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  6. 6. 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
  7. 7. MOBILE? Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  8. 8. 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
  9. 9. 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++)
  10. 10. F# FOR GAMES
  11. 11. EXAMPLE APPS Path to Go | XBLA Pissed off Owls| iOS Pool | WebGL
  12. 12. FRAMEWORKS FOR GAMES •.Net •WPF/Silverlight/WinRTXAML •.Net/Mono •XNA/MonoGameXNA •F# to JS Compilation •WebSharper/FunScriptHTML5
  13. 13. XNA IS DEAD Phillip Trelford, @ptrelford Progressive .Net Tutorials 2015, #prognet
  14. 14. LONG LIVE MONOGAME • Develop in Visual Studio (PC) or Xamarin Studio (Mac & PC) • Cross Platform • iOS • Android • Windows • Mac OSX • Linux • Playstation Mobile • Ouya
  15. 15. 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
  16. 16. BUT WAIT…
  17. 17. PROTOTYPE 10 WRITE Prototype 20 PLAY Prototype 30 IF fun THEN GOTO 20 40 GOTO 10
  18. 18. TASK: FLAPPY BIRD
  19. 19. RESOURCES
  20. 20. CHOOSE YOUR OWN ADVENTURE
  21. 21. TOOLING MonoGame Paint.Net / Gimp MusicMaker Jam Bxfr.Net (Sound effects) Google
  22. 22. 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 __
  23. 23. TRYFSHARP.ORG
  24. 24. BUY THE BOOK
  25. 25. Steps: 1. Enter game jams 2. Join 1 game a month 3. Publish your indie game 4. Make $$$ 5. Go to 1

×