Building a game in a day
-
Upload
phillip-trelford -
Category
Entertainment & Humor
-
view
3.924 -
download
1
description
Transcript of Building a game in a day
![Page 1: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/1.jpg)
BUILDING A GAME IN A DAYPhillip Trelford, F#unctional Londoners, 2013
![Page 2: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/2.jpg)
DON’T GAMES PROGRAMMERS USE C++?
YES
Engines Graphics Sound Physics
NO
Scripts AI Interaction Tools
![Page 3: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/3.jpg)
DO THEY REGRET IT?
Veteran Games Programmer John Carmack extolling the virtues of functional programming at QuakeCon
![Page 4: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/4.jpg)
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
![Page 5: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/5.jpg)
F# FOR PROFIT
Functional-first programming for:
Time to Market
Efficiency
Correctness
Complexity
![Page 6: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/6.jpg)
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
![Page 7: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/7.jpg)
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
![Page 8: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/8.jpg)
CROSS PLATFORM GAME ENGINES
Designer-orientated
Unity (C#, JavaScript, Boo)
PhoneGap (JavaScript)
Code-orientated
XNA/MonoGame (C#, F#)
PyGame (Python)
Love (Lua)
DirectX (C++)
![Page 9: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/9.jpg)
RETRO GAME (XNA + F#) 2007
![Page 10: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/10.jpg)
XBLA: PATH OF GO (XNA + F#)
![Page 11: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/11.jpg)
XNA IS DEAD
Hacking XNA to run on VS 2012
Download VS2010 (Express etc.)
Install XNA
Hack XML config file
Install Xbox Live (Windows 8)
![Page 12: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/12.jpg)
LONG LIVE MONOGAME
Develop in Visual Studio (PC) or Xamarin Studio (Mac & PC)
Cross Platform iOS Android Windows Mac OSX Linux Playstation Mobile Ouya
![Page 13: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/13.jpg)
GAMES PROGRAMMING 101
Game
Routines(Co)
React
Render
![Page 14: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/14.jpg)
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
![Page 15: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/15.jpg)
FLINT EASTWOOD (F# + SILVERLIGHT)
Dublin GameCraft 2012
6 hours
![Page 16: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/16.jpg)
THE PRISMER
Kenneth Heine Berle
Neil Danson
Quinton Coetzee
Anton Semenov
Malcom Knight
Thomas Trelford
Phillip Trelford
![Page 17: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/17.jpg)
TOOLING
VS2012 + F# + XNA
Paint.Net
Gimp
MusicMaker Jam
Bxfr.Net (Sound effects)
DropBox
![Page 18: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/18.jpg)
11 HOURS LATER
Making games – fun for all the family
![Page 19: Building a game in a day](https://reader035.fdocuments.in/reader035/viewer/2022070313/554911bdb4c90558458beae3/html5/thumbnails/19.jpg)
QUESTIONS?
Twitter:
@ptrelford
Blog:
http://trelford.com/blog
F# Foundation:
http://fsharp.org