Date post: | 06-May-2015 |
Category: |
Technology |
Upload: | phillip-trelford |
View: | 2,606 times |
Download: | 1 times |
PACMAN KATAProgressive F# Tutorials NYC 2013Brandewinder & Trelford
PACMAN KATA
Pacman finds himself in a grid filled with monsters.
Will he be able to eat all the dots on the board before the monsters eat him?
• pacman is on a grid filled with dots
• pacman has a direction
• pacman moves on each tick
• user can rotate pacman
• pacman eats dots
SESSION OVERVIEW
• Test Driven Pacman• Wrapping/Scoring
• Cross Platform• .Net/Mono/JS
• Game development 101• Input/AI/Rendering
• Tasks• Pacman has a direcation
• Ghosts navigate maze
TEST DRIVEN PACMANProgressive F# Tutorials NYC 2013Brandewinder & Trelford
PACMAN WRAPS AROUND
open NUnit.Framework
[<Test>]
let ``pacman should wrap from right to left`` () =
// ...
[<Test>]
let ``pacman should wrap from left to right`` () =
// ...
PACMAN EATS STUFF
Scenario: Pacman eats dots
When pacman eats a pac-dot
Then he scores 10
Scenario: Pacman eats power pellets
When pacman eats a power pellet
Then he scores 50
Scenario Outline: Pacman eats ghosts
Given the ghosts are vulnerable
When pacman eats <ghost> in succession
Then he scores <points>
Examples:
| ghost | points |
| 1 | 200 |
| 2 | 400 |
| 3 | 800 |
| 4 | 1600 |
CROSS PLATFORM F#Progressive F# Tutorials NYC 2013Brandewinder & Trelford
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
APPS
Path to Go | XBLA Pissed off Owls| iOS Pool | WebGL
FRAMEWORKS FOR GAMES
•.Net•WPF/Silverlight/WinRTXAML
•.Net/Mono•XNA/MonoGameXNA
•F# to JS Compilation•WebSharper/FunScript
HTML5
GAME PROGRAMMING 101
Progressive F# Tutorials NYC 2013Brandewinder & Trelford
GAME LOOP
User Input
Logic
Collision Detectio
n
Score
Render
GAME TASKSProgressive F# Tutorials NYC 2013Brandewinder & Trelford
TOO MUCH INPUT
Event
Sample
EVERY WHICH WAY
forward turn
forward
WHATEVER NEXTProgressive F# Tutorials NYC 2013Brandewinder & Trelford
MAKE GAMES
Steps:
1. Enter game jams or join 1 game a month
2. Publish your indie game
3. Make $$$
4. Go to 1