We're using cookies to ensure you get the best experience on our website. More info
Understood
@jorgecheRegistered March 15, 2006Active 2 weeks, 4 days ago
207 Replies made

Thanks, I will make the last submit tonight and will make sure to include the whole splash sequence.

jorgeche

Hi, here is the latest build which is now running a lot better on the real machine (due to changing all math from float to fixed point, thanks guys) and it haven’t crashed on it too.

jorgeche

Attachments:

Hey cool!, will include it in my demo ASAP.

jorgeche

Hey cool to see other entries.

jorgeche

Hi dasi, well I really don’t remember how I did get rid of the error, it haven’t happened me since then (2 years ago), but I would suggest you to remove the parts of the code you think could be causing the problem until you find it, then you could post that code and maybe I could be of more help.

But as David said it could be a very large function call or/and a very big amount of auto variables (local variables -> stack memory).

jorgeche

Ok, I understand, I was just worried because of the bit sign, but as you say, it is clear as using integers.

About the int vs byte, I must revisit the memory alignment stuff, I will check where I can group bytes and will use just int were not.

Thanks again for your help DogP.

BTW I’m half way changing everything from float to fixed point, it would be great to see the FPS boosted by the change… fingers crossed.

jorgeche

Another question, what happens with the number sign when going back and forth fixed point format from an int? with floats there is no problem since it always divides or multiplies, but since the conversion to int is done with shifts…. must I take car of sign?

About using everywhere int instead of u8, etc… I need to save as much memory as possible, because of it, I can’t waste space for example for a flag an use an int to hold it when I can use a bit field in a u8, I will not make that concession, so the question is: is it worth to operate over those values (u8, u16, etc) as ints at the expense of making the code a lot less readable and making it less type safe?

jorgeche

Yes, well I mean, It is cool and all to make a Mario game and emulation the layout and enemies from it… but it would be better to add some twists to the formula to make the demo worth a note as not only a clone, but hey, any feedback is welcome!, otherwise I wouldn’t post my work and keep it solely for myself.

BTW after the competition I would love to see the code you re doing for the ¿7 mode? graphics, are you going to release the code?

jorgeche

Ok guys thanks a lot for your replies, I will begin changing as much of my maths as I can to fixed point math. I will try to have it ready for the competition deadline… Hope to see your programs soon!.

jorgeche

Yup, I knew about that, but going back and forth fixed format to floats involves multiplications and divisions which I don’t want, and doing fixed multiplication is really costly:

FIX7_9_MULT(a,b) (fix7_9)1*((s32)(b)))>>9)

if you compare it with a multiplication between ints:

a * b; // here you dont have the shift

so I would just scale everything by 100 (seems enough) and just do int operations, and when I really need the float, for setting the scale in affine mode for example, only at that point I divide my int by the scale, 98 / 100.0f… I think it is faster (but more cumbersome to program) than using fixed point formats.

jorgeche

Maybe I’m late to the feature request but here is hope.

I would love to have the chance to decide if I want the map importer to do or not char optimizations, let me elaborate, for the animations in my engine (for example Mario) I use exactly 20 chars for each animation frame, and only one bgmap definition, so on each change of frame I write the char memory not bgmap, so the bgmap still points to the same chars in char memory. This way, I need to generate 20 chars for each animation, and each char must be in the same position. They way it works right now, after importing the image, I must manually copy each char from the bgmap to a new charset to have them properly ordered.

If there is a plugin which does not optimization, but just map each 8×8 pixel matrix to a char it would be great!.

jorgeche

Heh, cool… I kinda agree about the plants coming out while you’re on them (keeps you moving), but the biggest problem I had was how the second flower wouldn’t come out of the pipe until you jumped… and by then it’s too late :-P. I had to fake it out by going closer to it in the background, then go to the foreground and jump as it was going down. And then dying after landing on an (almost?) non-existant flower was kinda annoying too ;-). But yeah… it’s looking good!

DogP

Thanks. Well if you look closer, there are two little blocks, one in the furthest layer and one in the middle one (the same as the pipe with the plant)… maybe you can jump from one block to the closer and that way avoid the plant ;-)…

And now that you point those issues (and that I’m currently working in the industry where you must program to satisfy the customer’s tastes, tell me about soccer moms) I think I’m going to make the game as hard and exactly as puzzling as I (a programmer) think it must be, regardless of the general opinion. We are doing this stuff for the fun and the challenge isn’t it? and no one is going to pay us for, so I think we deserve the right to design our games the way we want, and the people downloading them can complain all what they want, but since they are not paying, we don’t lose any customer |-D., what do you think?

By the way… did you check the topic I created in the Development forum? I could use some advice from you.

jorgeche

I will release mine… maybe not the whole source of the mario demo, but the whole engine code will definitively be released.

jorgeche

DogP wrote:
I just played through the level… it looks really good, the only thing that got annoying was the plant coming out of the pipe. It would come up while I was on it, I would jump when I thought it was down, but it’d still get me… maybe 1 pixel was still up, and it wouldn’t come up until I’d jump, and then it’d come up on me (the second one was especially annoying). Other than that, it’s really cool!

DogP

Hehehe… it is my own take on the plants… I really didn’t like the way they worked in the official games (stop coming out when mario is close to the pipe) so I change it the way I want them to work… anyway I can make the bounding box for collision detection to be maybe 4 pixels after the top of its head to not being killed by it when it’s starting to coming out.

Thanks for the feedback!.

jorgeche

akumie wrote:
Ok so I just tried the demo on the flashboy and the game stoped when I had walked like 2 meters after entering the screen threw the bridge
Also the 1st enemy before entering the bridge was sometimes gone and once I managed to enter the bridge and pass the 1st pipe, but as soon as I touched the ground efter that pipe the game stoped again

Yes I know… it is a little buggy on hardware and it runs to slow to my taste, but someday it will run flawless hopefully.

jorgeche

I wouldn’t mind if the deadline is pushed back even by a month… it will give enough time to optimize my demo :-P., add goombas, flying koopas… and portal pipes! 🙂

jorgeche

Hi, this is the last update previous to the definitive entry for the competition. It still needs a lot of optimizations to run properly on hardware, but in the emulator it runs great.

It now has a continuous scrolling background, and a whole (but really short) level.

Hope to see other people’s work soon.

jorgeche

Attachments:

I second the idea of having a proper section for the repository… hopefully there is more people into the graphic/sound stuff than it is people into programming :-(.

jorgeche

If you know about sound formats jojobean, and would like to create sounds for the mario demo I’m programming it would be great…. but you will need to know how to convert from what ever format you work, to the VB sound format, because I really don’t understand it.

jorgeche

Thanks, glad to hear you’re liking it… hope to have a full level for the end of the competition.

jorgeche

  1. ((s32)(a []