PACMAN KATA
Progressive F# Tutorials NYC
2013
Brandewinder & 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 t...
SESSION
OVERVIEW
• Test Driven Pacman
• Wrapping/Scoring
• Cross Platform
• .Net/Mono/JS
• Game development 101
• Input/AI...
TEST DRIVEN PACMAN
Progressive F# Tutorials NYC
2013
Brandewinder & Trelford
PACMAN WRAPS AROUND
open NUnit.Framework
[<Test>]
let ``pacman should wrap from right to left`` () =
// ...
[<Test>]
let `...
PACMAN EATS STUFF
Scenario: Pacman eats dots
When pacman eats a pac-dot
Then he scores 10
Scenario: Pacman eats power pell...
CROSS PLATFORM F#
Progressive F# Tutorials NYC
2013
Brandewinder & Trelford
CROSS PLATFORM F#
.Net
• Windows
• Windows Store
• Windows Phone
Mono
• Mac
• Linux
• iOS
• Android
• Ouya
• Playstation V...
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/...
GAME PROGRAMMING
101
Progressive F# Tutorials NYC
2013
Brandewinder & Trelford
GAME LOOP
User
Input
Logic
Collision
Detection
Score
Render
GAME TASKS
Progressive F# Tutorials NYC
2013
Brandewinder & Trelford
TOO MUCH INPUT
Event Sample
EVERY WHICH WAY
forward
turn
forward
WHATEVER NEXT
Progressive F# Tutorials NYC
2013
Brandewinder & 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
Upcoming SlideShare
Loading in …5
×

Pacman Kata - Progressive F# Tutorials NYC 2013

3,851 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,851
On SlideShare
0
From Embeds
0
Number of Embeds
2,339
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pacman Kata - Progressive F# Tutorials NYC 2013

  1. 1. PACMAN KATA Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  2. 2. 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
  3. 3. 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
  4. 4. TEST DRIVEN PACMAN Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  5. 5. PACMAN WRAPS AROUND open NUnit.Framework [<Test>] let ``pacman should wrap from right to left`` () = // ... [<Test>] let ``pacman should wrap from left to right`` () = // ...
  6. 6. 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 |
  7. 7. CROSS PLATFORM F# Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  8. 8. 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
  9. 9. APPS Path to Go | XBLA Pissed off Owls| iOS Pool | WebGL
  10. 10. FRAMEWORKS FOR GAMES • .Net • WPF/Silverlight/WinRTXAML • .Net/Mono • XNA/MonoGameXNA • F# to JS Compilation • WebSharper/FunScriptHTML5
  11. 11. GAME PROGRAMMING 101 Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  12. 12. GAME LOOP User Input Logic Collision Detection Score Render
  13. 13. GAME TASKS Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  14. 14. TOO MUCH INPUT Event Sample
  15. 15. EVERY WHICH WAY forward turn forward
  16. 16. WHATEVER NEXT Progressive F# Tutorials NYC 2013 Brandewinder & Trelford
  17. 17. MAKE GAMES Steps: 1. Enter game jams or join 1 game a month 2. Publish your indie game 3. Make $$$ 4. Go to 1

×