Jump to content
Rev

Super Mario Bros on Intellivision

Recommended Posts

3 hours ago, skywaffle said:

Shadow of the beast I think it quite a ways out of the realm of what's possible on the Intellivision.   Fake parallax effects can certainly be done, but getting around those gigantic sprites is a whole other story.   The Master System surprisingly had a pretty faithful looking port for an 8-bit version on older hardware.   As far as Amiga games go, I was tempted to try mocking up Flashback.  Cutscenes aside, the core gameplay seems like a good fit for the Intellivision.

I was teasing you 🙂 But really, if YOU say something is “impossible” then it definitely is... Otherwise I’m sure you would pull it off!

 

Really inspiring work, dude. You make me want to continue to play with programming on the Inty.

Share this post


Link to post
Share on other sites
20 minutes ago, cmadruga said:

I was teasing you 🙂 But really, if YOU say something is “impossible” then it definitely is... Otherwise I’m sure you would pull it off!

 

Really inspiring work, dude. You make me want to continue to play with programming on the Inty.

Thank you for the compliment.  It's something that always starts as a "I wonder if this game could work" or "I wonder how this game would look"

I am just a hobbyist with no real programming experience.  What draws me to the Intellivision is just how easy a project can be started in IntyBASIC.  I honestly wish that the same would be done for other consoles (Master System, PC Engine, NES) just so I could get into those as easily. 

 

Even so, I always love to see what could have been when it comes to older consoles and computers.  As far as outrageous games like Shadow of the Beast, you really never know.  With the right art direction, even a game like that with big sprites could likely be done competently with small sprites.    The Neo Geo Pocket is a great example of a console that does just that with most of its library.

 

  • Like 2

Share this post


Link to post
Share on other sites

Thank you for the explanation skywaffle.  I'm not very familiar with Inty dev or limitations, but I still find it interesting.  I'm not surprised your game is already around 30k at thus point given what the video reveals.  Is there an Inty limit on ROM size? Or is it like the Atari's where you can bank switch as much as you need to? 

 

Comparing this Mario demo against the typical games BITD,  I was so surprised it could pull off such a faithful rendition. 

Share this post


Link to post
Share on other sites
8 minutes ago, Cafeman said:

Thank you for the explanation skywaffle.  I'm not very familiar with Inty dev or limitations, but I still find it interesting.  I'm not surprised your game is already around 30k at thus point given what the video reveals.  Is there an Inty limit on ROM size? Or is it like the Atari's where you can bank switch as much as you need to? 

 

Comparing this Mario demo against the typical games BITD,  I was so surprised it could pull off such a faithful rendition. 

On everything I have worked on, standard memory addressing ranges allows for games to be up to 84kb.   There are methods to go beyond that, but it appears to be a bit more complicated to work with.  When I first began working on Super Mario Bros, each stage being ripped from BMP images (each column being 24 bytes), and separate enemy tables, It was about 3kb per level.   With 32 stages total, plus all the warp pipe rooms, and then various enemy types, music, etc.  There would have been no way to easily do it without attempting some level compression.   Right now it appears many stages are roughly 700 bytes as it is.

 

My level compression is still pretty wasteful, but seeing that I am writing out every object, enemy, and strip of tiles as individual data statements containing the object type (individual block, special block, strip of blocks, or enemy type), object definition, X position, and Y position.  All of these values are 8 bits each, and being decoded from 2 16 bit values..   I am trying to keep it simple enough that I can make sense of it all.   Down the road I may play with converting what I have to something more compact, since things like y position (0-11) don't need to take up 8 entire bits.

  • Like 5

Share this post


Link to post
Share on other sites
39 minutes ago, skywaffle said:

On everything I have worked on, standard memory addressing ranges allows for games to be up to 84kb.   There are methods to go beyond that, but it appears to be a bit more complicated to work with.  When I first began working on Super Mario Bros, each stage being ripped from BMP images (each column being 24 bytes), and separate enemy tables, It was about 3kb per level.   With 32 stages total, plus all the warp pipe rooms, and then various enemy types, music, etc.  There would have been no way to easily do it without attempting some level compression.   Right now it appears many stages are roughly 700 bytes as it is.

By 84kB do you mean 42K as the intellivision addresses 16-bit roms.  That 42k would approach the limit for direct addressing.  With bank-switching you could have a cartridge in the hundreds of k-words.

Share this post


Link to post
Share on other sites
10 minutes ago, mr_me said:

By 84kB do you mean 42K as the intellivision addresses 16-bit roms.  That 42k would approach the limit for direct addressing.  With bank-switching you could have a cartridge in the hundreds of k-words.

Yes, it always seems that people comparing the Intellivision to another console are unfamiliar with kilo-decles.   I've only ever stuck with the standard addressing in any of my programs.  I have looked into bank switching, but it seemed like more trouble than it was worth.  I don't believe there was an easy way to span the data after one label across various "pages" , however with the standard addressing you could.  I very well could be mistaken though.

Share this post


Link to post
Share on other sites

I didn't think it would be fast enough to do sound, music, scroll, collision etc. etc. 

I am impressed with both your skill and INTYBasic!

 

I thought I already was... But this takes it to a new level.  Or should I say, warps to a new world!

 

  • Like 3

Share this post


Link to post
Share on other sites

Hey Matt,

Another great work with anothers I see in your YT channel. ;)

IntyBasic is an amazing Sdk ! I see that with my work on Papi Intv .. Every steps is a challenge to solve ! :D

This Hardware is really in advance and particular in many way. I really like the collision engine in Hardware very simple with Intybasic.

It's really a pleasure to dev with.

Keep up the good work dude !!

Cheers,

Vetea

 

  • Like 3

Share this post


Link to post
Share on other sites

Everything certainly has an impact on performance.  The framerate as it is doesn't stay at a consistent 60fps, but it stays close enough.   Some things, like Mario's fireballs are multiplexed, and one one fireball is animated and checks for collision per frame.  The same thing for Mario's collision with the environment is done; only one portion is checked on even frames, and another is checked on odd frames.  The performance from IntyBASIC is impressive though.

  • Like 1

Share this post


Link to post
Share on other sites

Amazing work! Congrats. Good luck with the rest of the project. Happy to hear that you thought about the warp zones 😉 Cheers and good luck. 

Edited by Oscar G.
  • Like 1

Share this post


Link to post
Share on other sites

skywaffle:  I don't usually do this, once I see a vid I move on to the next big thing but could not help myself, still in awe so I took another look at your SMB vid, and I still can't believe my eyes.  Well done!  I looked at your other vids, all impressive.  Good luck with your projects!

Edited by Loafer
  • Like 3

Share this post


Link to post
Share on other sites
On 1/10/2020 at 12:48 PM, skywaffle said:

The NES game was very clever in design.   My object code currently uses 4 bytes per object in comparison to 2 bytes per object on the NES.  The NES also can draw objects with width, I believe up to one screen wide, off screen.  In my engine, each "object" is only 1 gram wide, so it becomes wasteful with repeating strips of blocks.  It is not nearly as compact as the NES game, and currently weighs 30kb as is, with 5 stages, and two songs, and lots missing.   I may be able to condense things more, however I don't want to impact performance too much from decoding values.   I also am trying to keep level design somewhat easy to achieve without a real level editor.

 It's really impressive. I was stunned when I first saw it, and immediately started looking for a ROM. I'm looking forward to the finished game.

Share this post


Link to post
Share on other sites
On 1/10/2020 at 8:56 AM, skywaffle said:

Shadow of the beast I think it quite a ways out of the realm of what's possible on the Intellivision.   Fake parallax effects can certainly be done, but getting around those gigantic sprites is a whole other story.   The Master System surprisingly had a pretty faithful looking port for an 8-bit version on older hardware.   As far as Amiga games go, I was tempted to try mocking up Flashback.  Cutscenes aside, the core gameplay seems like a good fit for the Intellivision.

Ahem...

 

http://www.indieretronews.com/2020/04/shadow-of-atari-early-attempt-to-demake.html

 

Come on Matthew, you know you want to do it... ;-)

 

Share this post


Link to post
Share on other sites

LOL, well then.   The graphics aside, the gameplay of Shadow of the Beast certainly could be done.   There is nothing terribly complex about the game's mechanics.  I just always think of the crazy graphics and oversized characters, which is a major part of the charm of the original; even the Lynx version looks spectacular.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...