
-----------------------------------
uberwalla
Wed Nov 29, 2006 8:28 am

First And Last Mario Level
-----------------------------------
Decided i would post it to get some feedback :D

tell me what you guys think  8-) 

Arrow keys to move
Shift to jump

-----------------------------------
jamonathin
Wed Nov 29, 2006 11:59 pm


-----------------------------------
Not bad game you have there.  The only thing really to pick at (besides the lag of the SFX which isn't your fault) is the movement of the player.

Its actually sort of odd that theres a new mario game on here because just last weekend I had an hour to kill on my laptop while going to toronto so, I wanted to make a 'mario style' dude jump around.

Here's more of the movement I would of liked to have seen in your game.  It uses gravity a a lil bit of speed boosts when the player run+jumps.  It uses basic whatdotcolor because i was tired of coordinates and was doing for fun, but it's the movement I want you to look at :P.

Good work on your game though.  Hopefully for you (if you wanted to) you could make more levels (maybe throw in the fireball in the tube guy as well :O).

-----------------------------------
[Gandalf]
Thu Nov 30, 2006 12:18 am


-----------------------------------
Quite good, apart from the huge file size because of the way you are drawing the maps...  It could be done a much more CPU friendly way simply using a tile map instead of the huge image.

Apart from that, one suggestion.  Your jumping does not seem to use any real world, or even imitation physics.  Improve this, and the entire feel of the game will feel far more like the original.

*edit*  Took me an hour to post this.  :o

-----------------------------------
uberwalla
Thu Nov 30, 2006 8:34 am


-----------------------------------
well im still kinda new to turing not really though i found this was the only way to draw the map lol. :( and as for movement on my comp its pretty smooth but i understand what ur saying :-P ill try it and maybe at a later date maybe now ill post my code and u can take a look of how bad it is  :? 
about 2000 lines :(

i decided to post it lol :P take a look plz leave some comments i know it is not the greatest it could be  :shock:

edit: for some reason at first i was worried someone might steal the code but then i thought even if commented most of the people who would wouldnt be able to explain the code its so bad  :P

-----------------------------------
CodeMonkey2000
Thu Nov 30, 2006 8:25 pm


-----------------------------------
wow you could have cut down on code quite a lot. one area that really bothered me was
 
marioRunRightPic (1) := Pic.FileNew ("Mario - run1 - right.bmp")
marioRunRightPic (2) := Pic.FileNew ("Mario - run2 - right.bmp")
marioRunRightPic (3) := Pic.FileNew ("Mario - run3 - right.bmp")
marioRunLeftPic (1) := Pic.FileNew ("Mario - run1 - left.bmp")
marioRunLeftPic (2) := Pic.FileNew ("Mario - run2 - left.bmp")
marioRunLeftPic (3) := Pic.FileNew ("Mario - run3 - left.bmp")

you could have just gone


for x:1..3
marioRunRightPic(x):=Pic.FileNew ("Mario - run"+intstr(x)+" - right.bmp")
marioRunLeftPic(x):=Pic.FileNew ("Mario - run"+intstr(x)+" - left.bmp")
end for


also useing records will make it more organized
i dont know how you are jumping, but it doesnt look right.
other than that, great job!
i really love how u did the music

its kinda like the mario game im doing, i was useing blocks, but now im useing sprites, they are similar to urs but i modified it.

heres what i have so far. i think im gonna use colour detection, as that is the easiest.

-----------------------------------
uberwalla
Thu Nov 30, 2006 8:34 pm


-----------------------------------
alright thx for feedback :D ill use array for sure :P

and for ur mario for some reason every time i ran it it was saying pic was freed
and highlighted an elsif statement, dont remember which .

-----------------------------------
CodeMonkey2000
Thu Nov 30, 2006 8:47 pm


-----------------------------------
aww i see what u mean. i put pic.free at the wrong stop.
youll have to put
    Pic.Free (Mario.sprite)
after

    for x : 1 .. 5
        Goomba (x).sprite := Pic.FileNew (Goomba (x).dir)
        Pic.Draw (Goomba (x).sprite, Goomba (x).x, Goomba (x).y, picMerge)
        goombaAI (x)
        Pic.Free (Goomba (x).sprite)
    end for

or else goombaAI (x) will check a image that doesnt exist

-----------------------------------
uberwalla
Thu Nov 30, 2006 8:53 pm


-----------------------------------
omfg thats hilarious


Oh No... Muma Mia!!!

thats funny :P

-----------------------------------
CodeMonkey2000
Thu Nov 30, 2006 11:40 pm


-----------------------------------
another are u could cut down on code is the music processes
process BMusic
    loop
        exit when finished
        Music.PlayFile ("Overworld.mp3")
    end loop
end BMusic

process JumpSound
    Music.PlayFile ("Jump.wav")
end JumpSound

process BlockBreakSound
    Music.PlayFile ("BlockBreak.wav")
end BlockBreakSound

process BlockBumpSound
    Music.PlayFile ("BlockBump.wav")
end BlockBumpSound

process DeathSound
    Music.PlayFile ("Death.mp3")
end DeathSound

process FlagpoleSound
    Music.PlayFile ("Flagpole.wav")
end FlagpoleSound

process KickSound
    Music.PlayFile ("Kick.wav")
end KickSound

process StageClearSound
    Music.PlayFile ("StageClear.mp3")
end StageClearSound

process StompSound
    Music.PlayFile ("Stomp.wav")
end StompSound

process TimeRunningOutSound
    Music.PlayFile ("TimeRunningOut.wav")
end TimeRunningOutSound

process PowerupSound
    Music.PlayFile ("Powerup.wav")
end PowerupSound

process ItemSproutSound
    Music.PlayFile ("ItemSprout.wav")
end ItemSproutSound

process InjurySound
    Music.PlayFile ("Injury.wav")
end InjurySound

process CoinSound
    Music.PlayFile ("Coin.wav")
end CoinSound

process FireworkSound
    Music.PlayFile ("Firework.wav")
end FireworkSound

process FlagTimeSound
    Music.PlayFile ("FlagTime.wav")
end FlagTimeSound

why not just do:

process Sound(MusicFile:string)
    Music.PlayFile (MusicFile)
end Sound
fork sound("the sound u want played.wav/mp3..whatever")

u seem to already know about arguments, they can be useful here too.[/code]

-----------------------------------
Silent Avenger
Thu Nov 30, 2006 11:47 pm


-----------------------------------
Pretty good game. Good work.

-----------------------------------
uberwalla
Fri Dec 01, 2006 4:04 pm


-----------------------------------
alright thx man ill work on them sounds its just i didnt know u could have just one process then do fork sound (blah)

i thought it was just "fork sound"

-----------------------------------
ericfourfour
Fri Dec 01, 2006 5:44 pm


-----------------------------------
First of all. Get rid of the Pic.Frees in the main loop. Instead load all of the pics when the program starts and then free them when it is done. This should definitely increase performance.

Also, don't be afraid to put everything in procedures. Code like this can be put in a procedure called initMario ().
Mario.death := false
Mario.jump := false
Mario.floor := 0
Mario.running := false
Mario.x := 250
Mario.y := 0
Mario.height := 10
Mario.vy := 0
Mario.frame := 5
Mario.dir := "left"

Or this could be put into a procedure called goombaJumpSequence () which would remove the need for a comment.
%goomba jump sequence
Goomba (x).y += Goomba (x).vy
Goomba (x).vy -= 1
if Goomba (x).y 