Building a game in a day

Post on 06-May-2015

3,920 views 1 download

Tags:

description

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.

transcript

BUILDING A GAME IN A DAYPhillip Trelford, F#unctional Londoners, 2013

DON’T GAMES PROGRAMMERS USE C++?

YES

Engines Graphics Sound Physics

NO

Scripts AI Interaction Tools

DO THEY REGRET IT?

Veteran Games Programmer John Carmack extolling the virtues of functional programming at QuakeCon

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 on VS 2012

Download VS2010 (Express etc.)

Install XNA

Hack XML config file

Install Xbox Live (Windows 8)

LONG LIVE MONOGAME

Develop in Visual Studio (PC) or Xamarin Studio (Mac & PC)

Cross Platform iOS Android Windows Mac OSX 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

Thomas Trelford

Phillip Trelford

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