On Sun, Mar 7, 2010 at 2:30 PM, Evan Kroske
<e.kroske@xxxxxxxxx> wrote:
I plan to make my framework much simpler by restricting the game developer's options
I plan to make my framework much simpler by restricting the game developer's options to hide complexity. Here's an idea of the type of code a developer using my framework would write to create a simple platformer with a single level:
from insta.menu import *
from insta.platformer import *
def startMenu():
titleScreen = Screen(600, 400)
titleScreen.setTheme(themes.MEDIEVAL)
titleScreen.setTitle("Porcupine's Tiny Adventure")
titleScreen.setOptions(["Play", "Controls", "Credits"])
titleScreen.getOption("Play").setAction(startGame)
# More code for other menu options
def startGame():
game = Game()
hero = Player()
hero.setSprite("standing.gif")
hero.setRunningSprites(["running1.gif", "running2.gif", "running3.gif"])
hero.setJumpSprite("jumping.gif")
hero.setDeathSprite("gravestone.gif")
hero.setMovementTriggers(constants.ARROW_KEYS)
hero.setJumpTrigger(constants.SPACE_BAR)
goal = Item()
goal.setSprite("bigring.gif")
goal.setBehavior(constants.FLOATING)
goal.setAction(game.nextLevel)
itemGenerator = ItemGenerator([None, goal, hero])
[snip...]
Personally I _HATE_ the setSomething notation you're using. one of the reasons I don't use Java is so I don't have to deal with setters and getters. It's an extra 4 keystrokes per function call! (if you include the "shift" to make the 4th letter uppercase).
also, most of your setters/getters are just gonna be setting variables behind the scenes so it makes more sense to use properties and to use variable syntax. Eg.
hero.running_sprites = ["running1.gif", "running2.gif", "running3.gif"]
doesn't that make a lot more sense?
Also I agree that this doesn't have that much relevance to GSoC as far as I'm concerned, but you should still pursue the project if it is something you want to do!
-Luke
-Luke