SlideShare a Scribd company logo
BUILDING A GAME IN A DAY
PhillipTrelford, F#unctional Londoners, 2013
DON’T GAMES PROGRAMMERS USE C++?
YES
 Engines
 Graphics
 Sound
 Physics
NO
 Scripts
 AI
 Interaction
 Tools
DOTHEY REGRET IT?
Veteran Games Programmer
John Carmack extolling the
virtues of functional
programming at QuakeCon
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
F# FOR PROFIT
Functional-first programming for:
 Time to Market
 Efficiency
 Correctness
 Complexity
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
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
CROSS PLATFORM GAME ENGINES
Designer-orientated
 Unity (C#, JavaScript, Boo)
 PhoneGap (JavaScript)
Code-orientated
 XNA/MonoGame (C#, F#)
 PyGame (Python)
 Love (Lua)
 DirectX (C++)
RETRO GAME (XNA + F#) 2007
XBLA: PATH OF GO (XNA + F#)
XNA IS DEAD
Hacking XNA to run onVS 2012
 DownloadVS2010 (Express etc.)
 Install XNA
 Hack XML config file
 Install Xbox Live (Windows 8)
LONG LIVE MONOGAME
 Develop inVisual Studio (PC) or Xamarin Studio (Mac & PC)
 Cross Platform
 iOS
 Android
 Windows
 MacOSX
 Linux
 Playstation Mobile
 Ouya
GAMES PROGRAMMING 101
Game
Routines(Co)
React
Render
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
FLINT EASTWOOD (F# + SILVERLIGHT)
Dublin GameCraft 2012
6 hours
THE PRISMER
Kenneth Heine Berle
Neil Danson
Quinton Coetzee
Anton Semenov
Malcom Knight
ThomasTrelford
PhillipTrelford
TOOLING
VS2012 + F# + XNA
Paint.Net
Gimp
MusicMaker Jam
Bxfr.Net (Sound effects)
DropBox
11 HOURS LATER
Making games – fun for all the
family 
QUESTIONS?
Twitter:
@ptrelford
Blog:
http://trelford.com/blog
F# Foundation:
http://fsharp.org

More Related Content

PPTX
Ready, steady, cross platform games - ProgNet 2015
PPTX
Pacman Kata - Progressive F# Tutorials NYC 2013
PPTX
Flappy - Paris 2015
PDF
Best Final Cut Pro X Products
PPTX
Decolando com Android jetpack
PPTX
Indiana Jones and lost crossplatform
PPT
Intro flappy birds
PDF
Bcs Review 2013 tech in 2014
Ready, steady, cross platform games - ProgNet 2015
Pacman Kata - Progressive F# Tutorials NYC 2013
Flappy - Paris 2015
Best Final Cut Pro X Products
Decolando com Android jetpack
Indiana Jones and lost crossplatform
Intro flappy birds
Bcs Review 2013 tech in 2014

Viewers also liked (20)

PDF
Monogame and xna
PDF
Tips & Tricks that every game developer should know
PPTX
Mobile F#un
PDF
Functional Programming in C# and F#
PDF
Matching Card Game Templates - Historical Places
PPTX
FSharp in Finance - ProgFSharp NYC 2013
PPTX
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
PDF
Instruments matching game
PPT
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
PDF
Games with Win 8 Style by Neneng
PPTX
EastBay.NET - Introduction to MonoTouch
PPTX
Cross-platform Game Dev w/ CocosSharp
PPTX
CocosSharp_XHackNight_07feb
PPTX
Xna and mono game
PPTX
.NET? MonoDroid Does
PDF
Multyplatform and mono part 2 - Matteo Nicolotti
PPTX
Cross platform physics games - NDC 2014
PDF
Madrid .NET Meetup: Microsoft open sources .NET!
PDF
Introduction to CocosSharp
PPTX
Machine learning from disaster
Monogame and xna
Tips & Tricks that every game developer should know
Mobile F#un
Functional Programming in C# and F#
Matching Card Game Templates - Historical Places
FSharp in Finance - ProgFSharp NYC 2013
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Instruments matching game
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Games with Win 8 Style by Neneng
EastBay.NET - Introduction to MonoTouch
Cross-platform Game Dev w/ CocosSharp
CocosSharp_XHackNight_07feb
Xna and mono game
.NET? MonoDroid Does
Multyplatform and mono part 2 - Matteo Nicolotti
Cross platform physics games - NDC 2014
Madrid .NET Meetup: Microsoft open sources .NET!
Introduction to CocosSharp
Machine learning from disaster
Ad

Similar to Building a game in a day (20)

PPTX
Building cross platform games with Xamarin - Birmingham 2015
PDF
Mono for Game Developers - AltDevConf 2012
PPT
Delta Engine @ CeBit 2011
PDF
Creating Casual Games for Windows 8
PPT
Delta Engine Multiplatform Development Presentation 2011-05
PDF
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
PDF
Making A Game Engine Is Easier Than You Think
PPT
Gaming with Open Source Frameworks
PDF
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
PDF
GDD 2011 - How to build kick ass video games for the cloud
PPT
Mdc2010 Casual Game Dev
PDF
Making Native Browser Games in the Modern Age
PPTX
2012, the awakening of the Vietnamese Game Development - Presentation multi p...
KEY
Seattle javascript game development - Overview
PDF
Making Native Browser Games in The Modern Age
PDF
Google kick ass-game_programming_with_gwt
PDF
Introduction to android (and mobile) game development
PDF
Mo' Dimensions Mo' Problems
PPT
So You Want To Be A Game Programmer - CGC2011 Panel Presentation by Karl Schmidt
PPT
Creating A Game Using Microsoft’s Next Generation Technologies
Building cross platform games with Xamarin - Birmingham 2015
Mono for Game Developers - AltDevConf 2012
Delta Engine @ CeBit 2011
Creating Casual Games for Windows 8
Delta Engine Multiplatform Development Presentation 2011-05
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
Making A Game Engine Is Easier Than You Think
Gaming with Open Source Frameworks
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
GDD 2011 - How to build kick ass video games for the cloud
Mdc2010 Casual Game Dev
Making Native Browser Games in the Modern Age
2012, the awakening of the Vietnamese Game Development - Presentation multi p...
Seattle javascript game development - Overview
Making Native Browser Games in The Modern Age
Google kick ass-game_programming_with_gwt
Introduction to android (and mobile) game development
Mo' Dimensions Mo' Problems
So You Want To Be A Game Programmer - CGC2011 Panel Presentation by Karl Schmidt
Creating A Game Using Microsoft’s Next Generation Technologies
Ad

More from Phillip Trelford (20)

PPTX
How to be a rock star developer
PPTX
F# eXchange Keynote 2016
PPTX
FSharp eye for the Haskell guy - London 2015
PPTX
Beyond lists - Copenhagen 2015
PPTX
F# for C# devs - Copenhagen .Net 2015
PPTX
Generative Art - Functional Vilnius 2015
PPTX
24 hours later - FSharp Gotham 2015
PPTX
Beyond Lists - Functional Kats Conf Dublin 2015
PPTX
FSharp On The Desktop - Birmingham FP 2015
PPTX
F# for C# devs - NDC Oslo 2015
PPTX
F# for C# devs - Leeds Sharp 2015
PPTX
Build a compiler in 2hrs - NCrafts Paris 2015
PPTX
24 Hours Later - NCrafts Paris 2015
PPTX
Real World F# - SDD 2015
PPTX
F# for C# devs - SDD 2015
PPTX
Machine learning from disaster - GL.Net 2015
PPTX
F# for Trading - QuantLabs 2014
PPTX
Write Your Own Compiler in 24 Hours
PPTX
FParsec Hands On - F#unctional Londoners 2014
PPTX
F# in your pipe
How to be a rock star developer
F# eXchange Keynote 2016
FSharp eye for the Haskell guy - London 2015
Beyond lists - Copenhagen 2015
F# for C# devs - Copenhagen .Net 2015
Generative Art - Functional Vilnius 2015
24 hours later - FSharp Gotham 2015
Beyond Lists - Functional Kats Conf Dublin 2015
FSharp On The Desktop - Birmingham FP 2015
F# for C# devs - NDC Oslo 2015
F# for C# devs - Leeds Sharp 2015
Build a compiler in 2hrs - NCrafts Paris 2015
24 Hours Later - NCrafts Paris 2015
Real World F# - SDD 2015
F# for C# devs - SDD 2015
Machine learning from disaster - GL.Net 2015
F# for Trading - QuantLabs 2014
Write Your Own Compiler in 24 Hours
FParsec Hands On - F#unctional Londoners 2014
F# in your pipe

Recently uploaded (20)

PPTX
TOEFL ITP Grammar_ Structure & Written Expression.pptx
PDF
High-Quality PDF Backlinking for Better Rankings
PPTX
providenetworksystemadministration.pptxhnnhgcbdjckk
PPTX
the Honda_ASIMO_Presentation_Updated.pptx
DOCX
Elisabeth de Pot, the Witch of Flanders .
DOC
NSCAD毕业证学历认证,温哥华岛大学毕业证国外证书制作申请
PDF
TAIPANQQ SITUS MUDAH MENANG DAN MUDAH MAXWIN SEGERA DAFTAR DI TAIPANQQ DAN RA...
DOCX
Lambutchi Calin Claudiu had a discussion with the Buddha about the restructur...
PDF
Keanu Reeves Beyond the Legendary Hollywood Movie Star.pdf
DOCX
Nina Volyanska Controversy in Fishtank Live_ Unraveling the Mystery Behind th...
PDF
oppenheimer and the story of the atomic bomb
PPTX
Hacking Movie – Best Films on Cybercrime & Digital Intrigue
PDF
Rakshabandhan – Celebrating the Bond of Siblings - by Meenakshi Khakat
PDF
A New Kind of Director for a New Kind of World Why Enzo Zelocchi Matters More...
PPTX
Other Dance Forms - G10 MAPEH Reporting.pptx
PPTX
SPARSH-SVNITs-Annual-Cultural-Fest presentation for orientation
PPTX
PRECISION AGRICULTURE- 1.pptx for agriculture
PDF
MAGNET STORY- Coaster Sequence (Rough Version 2).pdf
PPTX
BULAN K3 NASIONAL PowerPt Templates.pptx
PDF
Apresentação2 analise estrutual.hhjghjpdf
TOEFL ITP Grammar_ Structure & Written Expression.pptx
High-Quality PDF Backlinking for Better Rankings
providenetworksystemadministration.pptxhnnhgcbdjckk
the Honda_ASIMO_Presentation_Updated.pptx
Elisabeth de Pot, the Witch of Flanders .
NSCAD毕业证学历认证,温哥华岛大学毕业证国外证书制作申请
TAIPANQQ SITUS MUDAH MENANG DAN MUDAH MAXWIN SEGERA DAFTAR DI TAIPANQQ DAN RA...
Lambutchi Calin Claudiu had a discussion with the Buddha about the restructur...
Keanu Reeves Beyond the Legendary Hollywood Movie Star.pdf
Nina Volyanska Controversy in Fishtank Live_ Unraveling the Mystery Behind th...
oppenheimer and the story of the atomic bomb
Hacking Movie – Best Films on Cybercrime & Digital Intrigue
Rakshabandhan – Celebrating the Bond of Siblings - by Meenakshi Khakat
A New Kind of Director for a New Kind of World Why Enzo Zelocchi Matters More...
Other Dance Forms - G10 MAPEH Reporting.pptx
SPARSH-SVNITs-Annual-Cultural-Fest presentation for orientation
PRECISION AGRICULTURE- 1.pptx for agriculture
MAGNET STORY- Coaster Sequence (Rough Version 2).pdf
BULAN K3 NASIONAL PowerPt Templates.pptx
Apresentação2 analise estrutual.hhjghjpdf

Building a game in a day

Editor's Notes

  • #4: http://functionaltalks.org/2013/08/26/john-carmack-thoughts-on-haskell/
  • #8: http://www.theguardian.com/technology/appsblog/2013/aug/21/android-games-outselling-sony-nintendo?CMP=twt_gu
  • #13: http://www.monogame.net/
  • #15: See: http://en.wikipedia.org/wiki/Coroutine#Common_usesCode sample:http://fssnip.net/ca
  • #18: http://gamecrafty.herokuapp.com/london-august-2013/the-prismer/