[tpm] TPM SDL Presentation: Post-Mortem Notes

Kartik Thakore thakore.kartik at gmail.com
Fri Sep 25 17:04:36 PDT 2009


Hi Guys,
   Since I didn't have a fancy pants presentation slides like you guys I
guess I have to make the notes now.

How I started Perl:
-Got into to it at work
-Coworker suggested CPAN
-Tried to make a decent game with SDL Perl 2005 version (
http://search.cpan.org/~dgoehrig/SDL_Perl-2.1.3/<http://search.cpan.org/%7Edgoehrig/SDL_Perl-2.1.3/>)

  - Ratings were PASS (1)   FAIL (72)   UNKNOWN (119) (I think the 1 pass
was luck)
- Got ticked off and started fixing it in GitHub
- Got David (old maintainer) to give me access (David also helped me a lot)
- Doing that for the last month and here I am

What SDL is (this is for Richard mostly):
- simple answer www.libsdl.org

Why I think SDL + Perl will be a good gaming platform:
- Perl's philosophy (Simple things easy. Complex things possible).
- SDL is very stable and fast now
- Perl has already proven it can make good games (
http://www.frozen-bubble.org/ )

What I am going to be doing:
- Making SDL Perl not leak like a diaper of a two tonne baby who just at
mexican for a week. (http://rt.cpan.org/Public/Bug/Display.html?id=49084)
- Updating SDL Perl's docs with good tutorials
    - The falling block game (Tetris) I had in the presentation is being
cleaned and turned into a tutorial (http://github.com/kthakore/TetrisPL)
- Update to new SDL API

Future Plans:
- Follow in Perl's philosophy and make (Simple Games Easy. Complex Games
Possible)
- I have registered three name-spaces that will help accomplish this
- SDL::Game - Regular SDL Specific widgets (high scores, grids, ...) ,
extensions and so on (Breuno++ aka garu for this )
- Game::Tool - C/Perl implementations of Game Design Patterns, Algorithms
(A*, Swarm)
- Game::Base - Genre Specific but not SDL Specific base to make a game in
that genre. Game::Action, Game::Shooter (this is very simple but it shows
the idea)
 - Adhering to our philosophy of Simple Games Easy:
  -The version for the modules in these namespaces will
      -Make a simple game: Tetris
      - Get core logic: 2d collision detection, linear game event manager
      - Move it into appropriate name space as modules that work
independently: Game::Tool::Collision, Game::EventManager
      - release v0.01 with new tutorial of Tetris in less then 100 lines of
code.
      - Repeat with Pong, Breakout, SideScroller (Mario) ... so on
  - This way modules released are necessity designed not fantasy designed


Micheal as for your question to start as a game developer its simple.

 Think of a game. ( Or help with the tutorials in SDL Perl :P )
 Think of good data structures for it.
 Hack Hack Hack.
 Then go back and find out why your data structure was wrong.
 Repeat to step 2



Kartik Thakore
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/toronto-pm/attachments/20090925/86b2cd49/attachment.html>


More information about the toronto-pm mailing list