Original Post

As many of you may know, the MarioVB “engine”/demo that is available on the projects page does not work with newer version of VBDE, which is absolutely a shame as the newer engine fixes several critical bugs that made the old MarioVB demo untenable. Does anyone have an updated version of the project that perhaps works on the newer releases of VBDE? I’ve tried downloading it and converting it to the newer versions myself but it seems that the IDE has changed dramatically to the point of requiring an entire rewrite.

6 Replies

It’s not that much an issue with VBDE but the problem rather is that the Mario VB demo was built 8 years ago in a now massively outdated version of the VUEngine (still called “VBJaEngine” at that time). Also, back then, VBDE did not yet exist, so even compiling Mario VB with the correct engine version (3.0.1) would be quite difficult.

There’s absolutely no chance that the Mario VB source can be updated to compile with the latest engine – way too much has changed in the past 8 years. The way to go would be to rebuild Mario VB by taking the VUEngine Platformer Demo, replacing the graphics, and updating the mechanics a bit to feel more like a Mario game. If you want to try that, I could try to find all the graphics of the old Mario VB demo and post them here.

Fun fact: we started to build the Platformer Demo on the foundation of the old Mario VB code. We changed the graphics and name because we wanted a demo project that does not contain any copyrighted material and could thus be released under the MIT license alongside the engine. So… one could argue that the VUEngine Platformer Demo is sort of the latest version of Mario VB. 🙂

That’s really cool, I’d love to see the platformer completed. Would donations help?


Donations are always welcome, thanks for the offer! However, Jorge and I are currently working on several other projects and it’s unlikely that we’ll be able to extend the Platformer Demo into a full game. Well, unless there’s a lot more people interested, I guess… Building a full game requires a massive amount of work and a larger sum of money is needed to justify that investment of time and labor. I’d say at least $1,000 per month over the course of 1-2 years for our small team of 2 people.

Are you looking for a volunteer programmer for any odd work? I have several years experience in assembly & low-level. Made a few demos for the N64 & NES.

Shokwav wrote:
Are you looking for a volunteer programmer for any odd work? I have several years experience in assembly & low-level. Made a few demos for the N64 & NES.

That’d be amazing, thanks for the offer! There’s quite a few critical parts in the engine, some deep nested loops, which could benefit from being rewritten in assembler. The job would require to look into some of these loops, decide if they can be better optimized than what the compiler is doing, and do the porting if the answer is “yes”.

Here’s a list:
1) Affine transformation function (VUEngine/source/base/libgccvb/Affine.c)
2) CharSet write (VUEngine/source/graphics/2d/Textures/Char/CharSet.c)
3) BgmapTexture write (VUEngine/source/graphics/2d/Textures/Bgmap/BgmapTexture.c)
4) Sprites render (VUEngine/source/graphics/2d/Sprites/Bgmap/BgmapSprite.c, VUEngine/source/graphics/2d/Sprites/Bgmap/MBgmapSprite.c, VUEngine/source/graphics/2d/Sprites/Object/ObjectSprite.c – That last one is particularly ugly)
5) Container’s applyEnvirtonmentTo* methods (VUEngine/source/stage/entities/Container.c)

It would be cool if you could check whether the for loops that have a single __VIRTUAL_CALL inside them could be further optimized.

Latest source: https://bitbucket.org/jorgeche/vuengine/src

Out of interest, since I closely followed the N64 homebrew scene for many years, which demos did you make for N64?

I’ll take a look at it! From my experience, virtual calls can almost always be eliminated on small-scale stuff like this. As for the N64, you won’t have ever heard of me in the “scene” because I wasn’t even aware there was a homebrew scene for it; I could never really find an active one myself. I’ve attached some demo sources (w/ playable ROM) I’ve been working on where I’m trying to get the N64 logo to spin, though I’m having a bit of trouble in the lighting department :p



Write a reply

You must be logged in to reply to this topic.