Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 First And Last Mario Level
Index -> Programming, Turing -> Turing Submissions
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Is My Game:
(No ending time set)
Execelent?
33%
 33%  [ 3 ]
Good?
66%
 66%  [ 6 ]
Decent?
0%
 0%  [ 0 ]
Waste Of Time?
0%
 0%  [ 0 ]
Terrible?
0%
 0%  [ 0 ]
Total Votes : 9

Author Message
uberwalla




PostPosted: Wed Nov 29, 2006 8:28 am   Post subject: First And Last Mario Level

Decided i would post it to get some feedback Very Happy

tell me what you guys think Cool

Arrow keys to move
Shift to jump
Sponsor
Sponsor
Sponsor
sponsor
jamonathin




PostPosted: Wed Nov 29, 2006 11:59 pm   Post subject: (No subject)

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 Razz.

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).



asd.zip
 Description:

Download
 Filename:  asd.zip
 Filesize:  162.5 KB
 Downloaded:  222 Time(s)

[Gandalf]




PostPosted: Thu Nov 30, 2006 12:18 am   Post subject: (No subject)

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. Surprised
uberwalla




PostPosted: Thu Nov 30, 2006 8:34 am   Post subject: (No subject)

well im still kinda new to turing not really though i found this was the only way to draw the map lol. Sad and as for movement on my comp its pretty smooth but i understand what ur saying Razz 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 Confused
about 2000 lines Sad

i decided to post it lol Razz take a look plz leave some comments i know it is not the greatest it could be Shocked

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 Razz
CodeMonkey2000




PostPosted: Thu Nov 30, 2006 8:25 pm   Post subject: (No subject)

wow you could have cut down on code quite a lot. one area that really bothered me was
code:

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

code:

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




PostPosted: Thu Nov 30, 2006 8:34 pm   Post subject: (No subject)

alright thx for feedback Very Happy ill use array for sure Razz

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




PostPosted: Thu Nov 30, 2006 8:47 pm   Post subject: (No subject)

aww i see what u mean. i put pic.free at the wrong stop.
youll have to put
code:
    Pic.Free (Mario.sprite)

after
code:

    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




PostPosted: Thu Nov 30, 2006 8:53 pm   Post subject: (No subject)

omfg thats hilarious

Quote:

Oh No... Muma Mia!!!

thats funny Razz
Sponsor
Sponsor
Sponsor
sponsor
CodeMonkey2000




PostPosted: Thu Nov 30, 2006 11:40 pm   Post subject: (No subject)

another are u could cut down on code is the music processes
code:
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:
code:

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




PostPosted: Thu Nov 30, 2006 11:47 pm   Post subject: (No subject)

Pretty good game. Good work.
uberwalla




PostPosted: Fri Dec 01, 2006 4:04 pm   Post subject: (No subject)

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




PostPosted: Fri Dec 01, 2006 5:44 pm   Post subject: (No subject)

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 ().
code:
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.
code:
%goomba jump sequence
Goomba (x).y += Goomba (x).vy
Goomba (x).vy -= 1
if Goomba (x).y <= Goomba (x).floor then
    Goomba (x).vy := 0
    Goomba (x).y := Goomba (x).floor
end if


Also, I do not recommend using "x" as a counter variable. It can get confused with coordinates. Instead use "i" or "count".
uberwalla




PostPosted: Fri Dec 01, 2006 6:28 pm   Post subject: (No subject)

alright thx for the feedback Very Happy ill fix er up
CodeMonkey2000




PostPosted: Fri Dec 01, 2006 8:35 pm   Post subject: (No subject)

yea i shoudl put the jupsequnce along with some of the other stuff in a procedure. would it be a good idea if i put mario along with goomba in one big array, that way i can use the same procedure for both?oh u need pic.free, or else turing will keep creating more space, and eventually crash. only other thing to do is use an array. but is that really more efficient? i thought it would be the same Confused
ericfourfour




PostPosted: Sat Dec 02, 2006 2:35 am   Post subject: (No subject)

Pic.New and Pic.FileNew both allocate memory and place a picture's data in the memory. Pic.Free deallocates the memory that a picture was occupying. These operations will slow your program down (compare your cpu speed to your memory speed).

Try to make it so your not allocating any (or as little as possible) memory during game play. Allocate all of the memory before game play and deallocate memory after game play. If this means putting it into an array then do so.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 17 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: