[MARIO] Mario
Moderator: MaxCoderz Staff
- Madskillz
- Calc Wizard
- Posts: 745
- Joined: Fri 17 Dec, 2004 10:22 pm
- Location: Wandering around in the Jungle...
- Contact:
oh man! Awesome, so far! I cant believe you did this and kept it so secret man! Amazing, sorry to say Sam, Bill, Duck has made the better looking mario here! Everything so beautiful...and kept secret so well!
The Revolution is here...
Which Mario sprites do you not like? Small mario or big mario? I've done my very best to make these as mario'ish as i could. Actually i especially like the big mario.
If you can draw anything better, try. I would consider using them.
Right now its 4.2k code, 4k data and 4k buffers. The amount of data and code will of course grow, but there is room for optimization.
If you can draw anything better, try. I would consider using them.
Right now its 4.2k code, 4k data and 4k buffers. The amount of data and code will of course grow, but there is room for optimization.
- VahnRPG
- Extreme Poster
- Posts: 331
- Joined: Mon 20 Dec, 2004 10:44 pm
- Location: Earth...currently...
- Contact:
Damn, that makes me itch for some old-school Mario action...
Think I'll bust out the VBA and fire up some some Mario 3...
http://www.superkidinc.com XD been a while since I whored out my comic
Think I'll bust out the VBA and fire up some some Mario 3...
http://www.superkidinc.com XD been a while since I whored out my comic
I'd rather be a nobody remembered by someone than a somebody remembered by noone.
'Boku' can't save the world - Blaze Rennaul
--'Boku' doesn't have to... - Klyne Ryuuno
Blue World - Coming soon
'Boku' can't save the world - Blaze Rennaul
--'Boku' doesn't have to... - Klyne Ryuuno
Blue World - Coming soon
- VahnRPG
- Extreme Poster
- Posts: 331
- Joined: Mon 20 Dec, 2004 10:44 pm
- Location: Earth...currently...
- Contact:
^_-
Sure, why not, lol
Sure, why not, lol
I'd rather be a nobody remembered by someone than a somebody remembered by noone.
'Boku' can't save the world - Blaze Rennaul
--'Boku' doesn't have to... - Klyne Ryuuno
Blue World - Coming soon
'Boku' can't save the world - Blaze Rennaul
--'Boku' doesn't have to... - Klyne Ryuuno
Blue World - Coming soon
-
- Calc Master
- Posts: 1064
- Joined: Fri 17 Dec, 2004 3:22 pm
- Location: Probably playing DDR
- Contact:
I don't like the small Mario. The big one is OK.Duck wrote:Which Mario sprites do you not like? Small mario or big mario? I've done my very best to make these as mario'ish as i could. Actually i especially like the big mario.
If you can draw anything better, try. I would consider using them.
Right now its 4.2k code, 4k data and 4k buffers. The amount of data and code will of course grow, but there is room for optimization.
- dysfunction
- Calc Master
- Posts: 1454
- Joined: Wed 22 Dec, 2004 3:07 am
- Location: Through the Aura
I prefer those sprites to Sam's, the smaller size and vertical scrolling allows for more action to be shown on screen at once. In general I think it looks truer to Mario. Awesome work, exactly what we expect from a master like Duck!
"You're very clever, young man, but it's turtles all the way down!"
-
- New Member
- Posts: 36
- Joined: Thu 30 Dec, 2004 5:43 pm
- Location: Roanoke, Virginia
- Contact:
beautiful. i've often thought about redoing mario; the current mario just doesnt feel as true as it could. anyway, i was just wondering, what improvements do you hope to make over sam's version of mario. i've noticed 8 way scrolling as well as improved graphics, how much more is your mario going to bring to the table?
Try your hand at turn based war strategy on your TI-83/Ti-83+ with Catch 22. Download now:
http://www.ticalc.org/archives/files/fi ... 35508.html
Project Cartel Details:
http://calcwebzine.com/index.php?option ... mid=0&id=8
http://www.ticalc.org/archives/files/fi ... 35508.html
Project Cartel Details:
http://calcwebzine.com/index.php?option ... mid=0&id=8
The engine is in some ways already possible of more. First of all, the object engine is advanced for a TI game. All objects (including Mario) are of the same type, so general object functions can be applied to
any object you want. This is good because functions that are shared by many types of objects only have to be written once. The information of all the objects are stored in the dataObjects table. Clearing all objects is done by simply clearing the dataObjects table. Because of the generality of this, the engine looks very tidy. Have a look the loop smallMain, which implements the main functionality of the game:
For example, the speed of objects is not restricted to 1 or 2 pixels, but from 1/32th to maximum of 4 pixels. So the movement of things is much smoother, like Mario. To be honoust It was a pain to implement good object<>tile collisions with multi-pixel movement, but thats done. The engine 'knows' from which side an object hits a tile, so it can take proper action to that event. For example, some tiles can passed from the left, right or bottom, but not from the top. Given the tile and passage direction, the engine calls the specialized code for that tile. At the current state of the engine, its quite easy to add new functionalities for new tiles. I avoided hardcoding too much so it quite easy to code new functionalities for a collision of a certain type of object with a certain tile from a certain direction. If some functionality of an object may be used by other objects, it is put into a general function that can be applied to any object.
Almost all these functions have IX as their input. For example the x-position of the object can then easily be accessed by doing
Its a bit hard to explain, and i decide not to, but this way of handling objects implies that its easier to create new types. To create a new type I dont have to recode all the normal functions but only have to functions that are unique to that object. For me, this worked out very well. The code looks easy on the eye and its easy to pick up after not working on it for some time. Its so different from that bloody Corbin code.
AVI screenshot:
http://www.maxcoderz.net/mario/mario1.avi
any object you want. This is good because functions that are shared by many types of objects only have to be written once. The information of all the objects are stored in the dataObjects table. Clearing all objects is done by simply clearing the dataObjects table. Because of the generality of this, the engine looks very tidy. Have a look the loop smallMain, which implements the main functionality of the game:
Code: Select all
;==========================================================
; smallmain
;----------------------------------------------------------
; OUTPUT: zero flag set if quit application
;==========================================================
smallmain:
ld (smallmain_SP),SP
smallmain_loop:
call getInput ;get player input
call playerUpdPos ;update player speed
call objectsDecideAll ;decides where to go (AI)
call objectsUpdateAll ;does decision (updates speeds)
call objectsMoveAndCheckAll ;moves objects and checks collision with tiles
call objectsCollisionAll ;checks inter-object collisions
call smallmainDrawFrame ;draws the tiles and objects
call gsGetk
cp gEnter
jr z,smallmainQuit
jr smallmain_loop
;----------------------------------------------------------
; smallmainQuit
;----------------------------------------------------------
smallmainQuit:
ld SP,(smallmain_SP)
and 0
ret
For example, the speed of objects is not restricted to 1 or 2 pixels, but from 1/32th to maximum of 4 pixels. So the movement of things is much smoother, like Mario. To be honoust It was a pain to implement good object<>tile collisions with multi-pixel movement, but thats done. The engine 'knows' from which side an object hits a tile, so it can take proper action to that event. For example, some tiles can passed from the left, right or bottom, but not from the top. Given the tile and passage direction, the engine calls the specialized code for that tile. At the current state of the engine, its quite easy to add new functionalities for new tiles. I avoided hardcoding too much so it quite easy to code new functionalities for a collision of a certain type of object with a certain tile from a certain direction. If some functionality of an object may be used by other objects, it is put into a general function that can be applied to any object.
Almost all these functions have IX as their input. For example the x-position of the object can then easily be accessed by doing
Code: Select all
ld l,(ix+x0)
ld h,(ix+x1)
AVI screenshot:
http://www.maxcoderz.net/mario/mario1.avi
Last edited by Duck on Sun 16 Jan, 2005 6:08 pm, edited 1 time in total.