Platform Game Generator                                                                   PGG - Platform Game Generator
Home Manual Demo Download Screenshots Bugs Samples Links  

Mario Game Source (mario.pgg)



  ####################################
  # A small 'mario world'  simulated #
  # SNES version for PGG 2.1         #
  ####################################

define start-
  debugging(no)
  walkspeed(1.5)
  gravity(1.9)
  stopslowdown(0.9)
  screensize(500,223)
  keys(4,6,8,2)
  walkinwall(yes)
  timelimit(400)
  jumppower(3.9)
  lives(5)
  turnwhilejump(yes)
  newlifepause(800)
  flashtime(70)
  startposition(20,120)
end

define player-
  playerwalkanispeed(1.0)
  playerleft1(marioleft1.gif)
  playerleft2(marioleft2.gif)
  playerleft3(marioleft2.gif)
  playerright1(marioright1.gif)
  playerright2(marioright2.gif)
  playerright3(marioright2.gif)
  playerjump(jumpleft.gif,jumpright.gif)
  playerduck(marioduckleft.gif,marioduckright.gif)
end

define sound-
  music(smwovr1.mid)
  loose(die.wav)
  jump(jump.wav)
  itemcollect(coin.wav)
end


define score-
  inital(0)
  item(100)
end

define ending-
end

define items-
  newitem(1,coin1.gif,coin2.gif,coin3.gif,2)
end

define objects-
  newobject(1,qublock1.gif,qublock2.gif,qublock1.gif,1)
  newobject(2,tree.gif,tree.gif,tree.gif,0)
  newobject(3,apple1.gif,apple2.gif,apple3.gif,0.6)
  newobject(4,tree2.gif,tree2.gif,tree2.gif,0)
  newobject(5,pipe.gif,pipe.gif,pipe.gif,0)
end

define enemies-
  newenemy(1,enemy1a.gif,enemy1b.gif,enemy1a.gif,1)
  newenemy(2,bigbullet.gif,bigbullet.gif,bigbullet.gif,0)
  newenemy(3,enemy2a.gif,enemy2b.gif,enemy2a.gif,1)
  newenemy(4,enemy3a.gif,enemy3b.gif,enemy3a.gif,2)
  newenemy(5,enemy4a.gif,enemy4b.gif,enemy4a.gif,1)
end

define levels-
  graphics(screen1.gif,screen2.gif,screen3.gif,screen4.gif,screen5.gif,screen6.gif)

  placeitem(1,1,5,113,113,107,2)
  placeitem(1,1,5,113,113,127,2)
  placeitem(1,1,5,113,113,147,2)
  placeitem(1,1,5,113,113,167,2)
  placeitem(1,1,5,113,113,187,2)
  placeobject(1,3,4,177,177,160,2)

  placeenemy(1,1,6,455,304,129,0.2)
  placeenemy(1,1,4,550,-10,177,0.2)
  placeenemy(1,1,4,600,-10,177,0.2)
  placeenemy(1,1,4,750,-10,177,0.2)
  placeenemy(1,1,4,830,-10,177,0.2)

  block(1,0,0,3,192)
  block(1,0,192,500,192)
  platform(1,304,505,144)

  ################################

  placeobject(2,1,4,185,185,128,0)
  block(2,185,128,200,140)
  placeobject(2,1,4,217,217,128,0)
  block(2,217,128,232,140)
  placeobject(2,1,4,425,425,144,0)
  block(2,425,144,456,157)
  placeobject(2,1,4,442,442,144,0)
  placeobject(2,2,4,233,233,176,0)

  block(2,0,192,500,192)
  platform(2,-5,135,144)
  platform(2,282,392,128)

  ################################

  block(3,0,192,500,192)
  block(3,32,144,47,157)

  placeitem(3,1,4,243,243,129,2)
  placeitem(3,1,4,308,308,129,2)
  placeitem(3,1,4,259,259,112,2)
  placeitem(3,1,4,291,291,112,2)
  placeobject(3,3,4,67,67,141,2)
  placeitem(3,1,2,-6400,90000,274,2)
  placeitem(3,1,2,-7400,90000,274,2)
  placeobject(3,3,4,161,161,159,2)
  placeobject(3,3,4,401,401,159,2)
  placeobject(3,4,4,237,237,175,2)
  placeenemy(3,3,4,600,-300,165,1)
  placeenemy(3,3,4,650,-300,165,1)
  placeenemy(3,3,4,700,-300,165,1)
  placeenemy(3,4,3,-700,600,165,2)

  ################################

  block(4,0,192,500,192)
  block(4,379,175,500,192)
  block(4,459,159,500,192)
  placeitem(4,1,4,200,200,135,2)
  placeobject(4,3,4,74,74,143,2)
  placeobject(4,3,4,301,301,159,2)
  placeobject(4,2,4,395,395,160,0)
  placeenemy(4,1,6,445,380,160,0.1)

  ################################

  block(5,0,160,40,223)
  block(5,22,144,60,223)
  block(5,69,128,290,221)
  block(5,0,192,500,221)

  placeitem(5,1,4,327,327,46,2)
  placeitem(5,1,4,311,311,46,2)
  placeitem(5,1,4,295,295,63,2)
  placeenemy(5,2,4,1100,-300,60,2)

  ################################

  block(6,0,192,500,192)
  block(6,21,144,61,192)
  block(6,53,128,84,192)
  block(6,165,144,212,156)
  platform(6,308,387,144)
  platform(6,436,505,144)
  platform(6,340,467,96)

  placeobject(6,1,4,165,165,144,2)
  placeobject(6,1,4,182,182,144,2)
  placeobject(6,1,4,198,198,144,2)
  placeobject(6,3,4,229,229,159,2)
  placeobject(6,5,4,53,53,127,2)
  placeenemy(6,5,5,150,80,61,0.2)
  placeitem(6,1,4,359,359,27,0)
  placeitem(6,1,4,342,342,27,0)
  placeitem(6,1,4,325,325,27,0)
  placeitem(6,1,4,308,308,27,0)
  placeitem(6,1,4,291,291,27,0)
  placeitem(6,1,4,274,274,27,0)
  block(6,495,0,500,192)

end

# This is to specify how the level screens are connected to each other.
# - left/right relation
# | up/down relation

define relations-
  startscreen(1)
  relation(1<->2,-)
  relation(2<->3,-)
  relation(3<->4,-)
  relation(4<->5,-)
  relation(5<->6,-)
end