CPCWiki forum

General Category => Games => Topic started by: GinBlog82 on 13:50, 27 October 16

Title: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 13:50, 27 October 16
Hi, recently I went into this thread, searching on Google:

http://www.cpcwiki.eu/forum/games/mario-on-the-cpc-demo/msg110541 (http://www.cpcwiki.eu/forum/games/mario-on-the-cpc-demo/msg110541)

I'm the author of the demo and I developed it about 1 year ago in few days, I didn't know that it could focus all this interest :-) As you understood by the interview on Retromaniac, I'm a software engineer (so really busy) and after the company where I work has been acquired by Amazon.com I didn't have time to continue the project (you know, new job -> new responabilities). After a long period of turbulence, I found some stability and I decided to continue the porting of SMB in my spare time, when it's possible.


As you said, the most interesting part of this demo is the hardware scrolling, that I implemented with the trick of CRTC registers. During my development process, I found (without surprise, to be honest) that CPC 464 is really slow to draw the whole scene with a software scroll, also without drawing the blank parts. I implemented it in Z80 assembly with a result of 7-8 fps, that could be good for a cpc old-style videogame but not Super Mario Bros. The only thing that I can do to reproduce an horizontal scroll similar to the NES one is to draw only a column on the right corner of the screen, and make the magic shifting the screen with the CRTC register, using double buffering to achieve 4 pixels accuracy. The result is what you see on the youtube video.

Talking about graphics, there is a reason why I didn't use Mode 0. Also if this resolution provides more colors and 2 pixels per byte (intead of 4), I didn't want to alter the aspect of the original game or enlarge the scale of the characters like you saw on the Giana Sisters porting (that was mostly despised for this reason), I desired to maintain the same resolution and graphics aspect, also if it means less colors (is this case, only 4). I remember how good was Super Mario Land for Gameboy, and I decided to readapt the graphics to use only 3 colors in gray scale. The background color can have a polychromatic tone to characterize the level (as we can see on famous movies like Sin City, this is very beautiful to watch). I'm happy with the result because it's exactly what I wanted to achieve, I'm not interested in procuding old-cheap looking bad graphics for the sake of similarity. "Scaling the graphics" is different than "stretching the resolution".

Somebody said that this demo is only 1% of the game, but I disagree, at least in terms of producing a playable demo. The map is consistent and meant to be played, I have algorithms to draw the characters, to read the keyboard and I ported 90% of the SMB graphics. I have already scaled the super mario physics using fixed point precision and I can use double buffering to draw characters also when the scene is stationary. The only thing I need is to draw a jumping tile on the screen drawing the animated player instead, and most of the level is playable. But if you mean that one level is only a few percentage of the game, you are right. The worst problem with CPC 464 is the memory and most of them is wasted now by instructions, graphics, maps and internal tables. When I released that interview on retromaniac I was sure that (in some way), I could put all the levels using some magic compression algorithm, but now I can say that it's not possible. Maybe I can crunch a couple of levels with zrle, but i don't guarantee anything. If I can make the first playable world, it will be a miracle :-) And what about the music? Too much limitations, trust me, I program display drivers for living and this work is even more difficult! :-) For now let's produce a playable demo (a matter of weeks, I hope), then we'll see in the future.


Thanks for the attention, regards.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 14:06, 27 October 16
I am really glad to seed that you areworking on it! I was really looking forward to your conversion  :D

Only a couple of things, though:

- Remember that Nintendo is VERY protective with these kind of things, even if we are talking about an Amstrad port. I know some people that had a lot of trouble using their characters or re-making their games. Actually, they were not even happy with Donkey Kong for Amstrad being freely downloadable. I am sure you know this  :)

- Have you consider a 128KB version? the game is demanding and it would really benefit from the extra RAM. A Plus conversion would be amazing too, and very similar to the original one because you could easily use hardware scrolling and move the sprites by hard as well.

Anyway, keep the good work!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 15:17, 27 October 16
Hi @GinBlog82 (http://www.cpcwiki.eu/forum/index.php?action=profile;u=590)

You don't know how happy makes me hear about this SMB port on the CPC.

My girlfriend is a fan of SMB and i'm a fan of the CPC, i WANT to show her... look, here is SMB in my CPC!!

If you say that a demo will be avaliable in few weeks...

well imagine just how happy i'm now  :laugh:

i'm 100% with this project, continue developing it PLEASE.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 15:28, 27 October 16
Quote
- Remember that Nintendo is VERY protective with these kind of things, even if we are talking about an Amstrad port. I know some people that had a lot of trouble using their characters or re-making their games. Actually, they were not even happy with Donkey Kong for Amstrad being freely downloadable. I am sure you know this


Yeah, I know, I'm expecting a mail from the lawyers one of these days :-) The sad thing is that they don't continue the projects, they kill them. If there will be troubles, I'll switch to Giana Sisters ;-)

Quote
- Have you consider a 128KB version? the game is demanding and it would really benefit from the extra RAM. A Plus conversion would be amazing too, and very similar to the original one because you could easily use hardware scrolling and move the sprites by hard as well.


Yeah, I'm considering that, in particular the Plus edition that is able to perform 1 pixel accuracy. It would be really cool.

Quote
i'm 100% with this project, continue developing it PLEASE.

I'm going to try it, thanks for the encouragement.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: arnoldemu on 15:41, 27 October 16
...Somebody said that this demo is only 1% of the game, but I disagree, at least in terms of producing a playable demo. The map is ..
Is there moving enemy characters? Is the level you made fully playable? (including scoring etc)?

making the ai good and playable takes time and I wish you well with your project.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Gryzor on 15:47, 27 October 16
I was never a Mario fan but I'd be crazy if I said I don't want to play this! Welcome, and thanks for the update!!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: seanb on 15:50, 27 October 16
This is fantastic news.
Keep persevering. I have no doubt even just the first world would be very welcomed.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Cholo on 01:27, 28 October 16
Great news.


Oh and as CE mentioned, watch out for Nintendo .. they totally dont care. Its isnt just taking the rights off youtube videos for years, nope, just the last few month they shut down Pokemon Uranium, Metroid 2 remake, Zelda 3D Remake.


And finally last month they shut down 562 fan made games on one big swoop:


[youtube]kf7BHtU9UUY[/youtube]


So make sure to rename everything at least  ;)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 10:55, 28 October 16
Yeah, Nintendo is a bad guy :-) I have the suspect that they don't close the projects unless they are only unpopular youtube videos. Years ago I created this:

[youtube]https://www.youtube.com/watch?v=m1aqOErR-Pg[/youtube]



I was trying to create a Mario 64 clone for PC programmed in C++ and OpenGL 2.1, then I abandoned it because I finished the university and I found a job :-) The engine is part of a project that I'm reprogramming from scratch. If I got the time, I'd really like to continue it, possibly not Mario or Nintendo will go crazy this time! The funny thing is that in all these years, they never noticed this video, probably because it's not popular :-)


Anyway, yesterday I continued the cpc project, finally I was able to merge the 4 pixel accurate scroll along the player movement, the final result is not so bad. To simulate mario movements, I'm using the following indications:

http://s276.photobucket.com/user/jdaster64/media/smb_playerphysics.png.html (http://s276.photobucket.com/user/jdaster64/media/smb_playerphysics.png.html)


the result is pretty good. Now I have to do some optimizations to improve the speed, implement very simple collisions with the map and... that's it! The second video is coming soon.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: EgoTrip on 17:09, 29 October 16
And finally last month they shut down 562 fan made games on one big swoop:

So make sure to rename everything at least  ;)

But as they said, they were shut down because the sites hosting them were generating revenue from them, which is fair enough.

I think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 18:20, 29 October 16
Quote
I think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.


Eh eh, good idea! :-)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: mr_lou on 21:02, 29 October 16
But as they said, they were shut down because the sites hosting them were generating revenue from them, which is fair enough.

I think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.

I don't think that's enough.
Didn't they stop Giana Sisters back then for resembling SMB too much?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 21:05, 29 October 16
The money making is the issue i think
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 23:34, 29 October 16

I think that the better is no upload so much videos and don't put the name super mario bros until the end

when the game is ready to launch 100%, put the SMB where is needed, release it on a lot of pages... they can't stop this.

I believe that SMB exist for MSX and MSX2, don't think that Nintendo care so much in this version... don't believe they care on a CPC version...
Title: Re: Super mario bros on CPC 464, still alive!
Post by: EgoTrip on 00:14, 30 October 16
I don't think that's enough.
Didn't they stop Giana Sisters back then for resembling SMB too much?

Giana Sisters was 1: an abomination, and 2: commercial. Point 2 definitely counted as it was a really poor rip off of SMB, and didn't try to disguise it.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: fano on 10:31, 30 October 16
I think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.
This is absolutely a great idea mate , i love this <3 <3 <3
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 10:42, 30 October 16
This is absolutely a great idea mate , i love this <3 <3 <3

Maybe a switch that change between Super Mario Bros. and Super Roland Bros?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 11:04, 30 October 16
Let Mario to Nintendo.  ;)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ukmarkh on 12:40, 30 October 16
Super Roland is a really great idea lol!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 12:53, 30 October 16
Super Roland is a really great idea lol!

Roland Mario & Arnold Mario?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Dubliner on 22:28, 30 October 16
Didn't they stop Giana Sisters back then for resembling SMB too much?

Actually Nintendo didnĀ“t stop Giana Sisters with lawyers, but telling all big retain stores "if you keep selling this game we will not sell you ours". There was no intellectual property law fight involved, or so i was told recently by people familiar with the matter back in the day.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Lazy Dude on 00:01, 31 October 16
If nobody else is going to mention Rick Dangerous...... I'm sure he could step up if Mario has issues  ;)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 01:52, 31 October 16
I reckon Roland sounds the ideal option !
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ASiC on 12:58, 31 October 16
Yes, Roland sounds great  :)


The result of mode 1 and the selection of the colours is phenomenal! Looks so fresh and polished.


Please don't abandon this project!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Cholo on 01:21, 02 November 16
But as they said, they were shut down because the sites hosting them were generating revenue from them, which is fair enough.

I think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.
Definately be carefull, yes, some of those games was "commercial" but some definately wasnt. Its all about protecting their copyright/licenses thingy as if they dont enforce it they can loose it alltogether. Also some of the games was shut down for as little as sharing a streetname used in a pokemon game. Using Roland is definately a lot safer than using Mario these days.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Xyphoe on 03:19, 02 November 16
Yea change it to Super Roland Bros!

Perfect!!!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 10:29, 02 November 16
Yea change it to Super Roland Bros!
Who is the Roland broser?  :o
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 10:38, 02 November 16
that's what I said! Arnold Mario [emoji14]

Enviado desde mi GT-N7100 mediante Tapatalk

Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 11:37, 02 November 16
This week I continued the project. I removed part of the unused tiles from the tileset, saving 3 KB. I changed the sprites/scroll implementation, removing the back buffer, saving another 16 KB. My technique is to update only the moving pixels on the front buffer to not have the blinking glitch. I added all the characters animation and I was able to move Mario on the screen, for the first time. With the free space, I can add more levels, so the game is becoming a real thing.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ervin on 12:16, 02 November 16
This week I continued the project. I removed part of the unused tiles from the tileset, saving 3 KB. I changed the sprites/scroll implementation, removing the back buffer, saving another 16 KB. My technique is to update only the moving pixels on the front buffer to not have the blinking glitch. I added all the characters animation and I was able to move Mario on the screen, for the first time. With the free space, I can add more levels, so the game is becoming a real thing.

That's great news!
*Really* looking forward to playing this.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 12:45, 02 November 16
that's what I said! Arnold Mario (https://emoji.tapatalk-cdn.com/emoji14.png)
Arnold and Roland sure... Who is Mario?  :-\
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 13:47, 02 November 16
in Super Mario Bros (film) the last name of the brothers is revealed:

Mario Mario
&
Luigi Mario

It was a joke:

Arnold Mario
&
Roland Mario
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 14:52, 02 November 16
You are right. It was confirmed by Miyamoto and it is logical.  ;D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 15:31, 02 November 16
You are right. It was confirmed by Miyamoto and it is logical.  ;D

Well the right joke in Roland world will be

Roland Roland
&
Arnold Roland

but it's a bad joke anyway  :P
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 15:34, 02 November 16
They are not the "Arnold Bros." ?  :-\
Title: Re: Super mario bros on CPC 464, still alive!
Post by: arnoldemu on 15:38, 02 November 16
@GinBlog82 (http://www.cpcwiki.eu/forum/index.php?action=profile;u=590) :

The most important thing about this type of game is the response to inputs, the ai, collision etc.

If you haven't looked at that yet, why not make a few test levels (without scrolling) and then you can easily nail all of this.

Then when tested on a scrolling level then you just need to fix a few issues and it's ready.

EDIT: if you're comfortable with C you could do the design in C using cpctelera and then transfer the c code to hand-asm when it's all finalised.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Rhino on 15:55, 02 November 16
It is a cool project!
Have you thought about using rasters to add color? for example, in the floor.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: arnoldemu on 15:57, 02 November 16
Interesting:
https://www.youtube.com/watch?v=IqurbCENCOM
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 16:28, 02 November 16
Interesting
Just a prototype and the coder have not respected the gameplay.  :doh:
Mario must not walk behind the "trees"... It should be hidden only when he is not playable or vulnerable.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 15:05, 04 November 16

I think that the ZX Spectrum version is awesome, it's the only one that really tries to look like the original, it inspired me before starting my experiment. I don't know the
spectrum hardware but as far as I know, most of the features that I see on the youtube video are really hard to achieve on amstrad cpc+, impossible on classic CPC. Maybe
the gameplay is slightly different than the original and little bit frustrating, but before blaming you must consider the huge amount of work that there is behind it. To make my
game a real thing, I cut most of the features that I planned at the beginning, now there is only the front buffer (no double buffering), the scroll is moved with CRTC register 3
(that creates sync issues) and not 12, and I optimized the code to respect the original responsiveness. Today, I implemented the skidding and fixed some issues on the jump,
and finally I saw on the screen something that is good, but there are still lot of problems to fix, like collision detection, at the end of the day, it's a good amount of work. And
maybe somebody on youtube is gonna tell me "oh god, your game looks like shit, the nes one is way better" without understanding the hardware differences, the amount of
work behind it, that you have a totally different job on real life and that you are making it for free! So, the spectrum title is amazing, nobody is doing it to create a commercial
activity, to be professional or become a huge youtube celebrity, just for fun and for free, so if the game doesn't look like the original the positive thing is the great work that
lies behind and the proof that with a little bit of more efforts, the title could be produced in the old good days of Amstrad CPC 464, Commodore 64 and Spectrum ZX.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Joseman on 15:16, 04 November 16
I don't know the spectrum hardware but as far as I know, most of the features that I see on the youtube video are really hard to achieve on amstrad cpc+, impossible on classic CPC.

Out of curiosity, what features of the zxsmb do you think that isn't possible on a classic CPC ?

I really don't think the spectrum has any advantages than the cpc couldn't do, i think otherwise, the ZX can't do all that an amstrad cpc classic can do...
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 16:10, 04 November 16
Huuum... I am not a coding expert but in principle I guess that the CPC Plus should be able to run an almost perfect Mario  :) . I mean, perfect besides the differences coming for the different graphic modes in the NES and the Amstrad. You could use hardware scrolling and move the sprites by hardware too... moreover, it would be possible to use a 512KB cart  :D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 16:31, 04 November 16
You could use hardware scrolling and move the sprites by hardware too... moreover, it would be possible to use a 512KB cart  :D
512KB Cart? You want to program it in BASIC?  ;D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: reidrac on 16:49, 04 November 16
512KB Cart? You want to program it in BASIC?  ;D

That I was thinking, IIRC SMB for NES ROM was less than 32KB.

EDIT: also the Z80 has better code density than the 6502.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 18:03, 04 November 16
512KB Cart? You want to program it in BASIC?  ;D

Hahaha... sure, it was just the biggest possible number  :laugh: (it is 512KB, right?)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Skunkfish on 19:00, 04 November 16
Super Mario Bros. 3 might need all 512kb... Anyone fancy a go? :D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 03:35, 05 November 16
My latest efforts, I wish that you like it:

https://www.youtube.com/watch?v=AuhphRNWy6M

It's pretty fast and easy to control, I'm pretty happy with the responsiveness and the overall result. The next step is to add enemies and bonus, make the level playable.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: andycadley on 11:48, 05 November 16

I think that the ZX Spectrum version is awesome, it's the only one that really tries to look like the original, it inspired me before starting my experiment. I don't know the
spectrum hardware but as far as I know, most of the features that I see on the youtube video are really hard to achieve on amstrad cpc+, impossible on classic CPC. Maybe
the gameplay is slightly different than the original and little bit frustrating, but before blaming you must consider the huge amount of work that there is behind it.
The Speccy demo is very impressive, though I'd definitely agree that having Mario walk behind objects is a terrible idea from a gameplay perspective - it looks a bit more like a coder showing off, but hey it's a demo after all! There certainly isn't anything there (or probably in the whole game) that would be technically difficult on a Plus machine though, it would be more than capable of pulling off Mario at 50fps without really trying. The tricky part would be getting the physics bang on, because Mario clones really live or die by how fluid the controls feel.


Your version for the CPC is looking pretty awesome though, it's a much harder deal to pull off on the old school machines, especially if you're limiting yourself to 64K. Looking forward to seeing how this progresses.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: davidsmith150 on 11:50, 05 November 16
Does anyone knows how to record SMBX without lag? I'm using Bandicam
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 12:57, 05 November 16
Does anyone knows how to record SMBX without lag? I'm using Bandicam


If you have a GeForce graphics card, you can use GeForce NVIDIA Experience, the best video capture software I ever used so far. It implements something similar to NVIDIA GRID technology on kepler/maxwell hardware, so the lag is totally absent. If not supported, you can still use Bandicam that should support NvEnc or Cuda on NVIDIA series for video capture + H264 encoding on the fly, or OpenCL (AMD APP) for AMD series or Quick Sync Video for the Intel series.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 13:05, 05 November 16
If you have a GeForce graphics card, you can use GeForce NVIDIA Experience, the best video capture software I ever used so far. It implements something similar to NVIDIA GRID technology on kepler/maxwell hardware, so the lag is totally absent.
So, the big scroll problem shown on your video is due to the CPC program and not the video?  ;D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Rhino on 14:36, 05 November 16
My latest efforts, I wish that you like it:

[youtube]https://www.youtube.com/watch?v=AuhphRNWy6M[/youtube]

It's pretty fast and easy to control, I'm pretty happy with the responsiveness and the overall result. The next step is to add enemies and bonus, make the level playable.

Nice!
One idea, have you thought about using a wider screen to hide the effects of the scroll at the borders?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 16:04, 05 November 16

Nice!
One idea, have you thought about using a wider screen to hide the effects of the scroll at the borders?


Yes, it's an early demo and it can be improved.

So, the big scroll problem shown on your video is due to the CPC program and not the video? 


Consider that I cannot use a double buffer anymore (lack of memory) so the problems related to front buffer and tearing will be present and limited as best as I can,
considering the moving pixels. About the scroll, it uses now the CRTC register 3 instead of register 12 of the previous video, that is pretty hard to sync. Maybe a better
syncronization with the vertical blank would solve this problem. Winape is pretty honest about it and simulates the CRT glitch, surely I have to solve it or if it looks bad,
maybe disable it and eventually go for 8 pixels accuracy? Let's see.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Dizrythmia on 16:24, 05 November 16
I'm very impressed with how the sprite movement almost accurately mirrors the original NES version. Scrolling is an issue, but as you said, this is a very early version of the game.


I'm a bit worried with the game showing up on websites as a work in progress. This is normally the time most projects like this die thanks to Nintendo sending out C&Ds. I'm sure they're on hold to their lawyers right now...
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 17:18, 05 November 16
I'm a bit worried with the game showing up on websites as a work in progress. This is normally the time most projects like this die thanks to Nintendo sending out C&Ds. I'm sure they're on hold to their lawyers right now...



Well, maybe a good strategy is to not make too much rumors and release the game months (maybe years?) after the youtube videos. Currently, the video is already known as SMB / Nintendo related and it's an experiment,
like hundreds of other youtube videos. I'm sure that they already know about it and that they are not concerned because it's "retro-gaming stuff", otherwise I would have received the email from the lawyers about 1 year ago.
If I don't want to make money from it or to steal from the Nintendo the possibility to make money, they have no reason to pay lawyers to make me stop, and in the form of youtube videos it's like free advertising or something
like that, something that everybody can do. Even the Nintendo cannot make money selling SMB for the CPC 464 or Spectrum ZX or Commodore 64 in 2016, so they don't have any reason to stop the project, or maybe
they are crazy and they will, but why they don't remove all the Spectrum ZX videos or other SMB related materials on the internet? There are people on youtube with videos where they play smb or where they show mods
for GTA 5, Unreal Engine 4, Minecraft, or remakes for old platforms like Amiga, Commodore 64, Spectrum ZX, or flash animations, hand-drawing, flip-books, plasticine, legos, parodies, spin offs, and thousand of materials
protected by copyrights that are used to create free entertainment just for fun. It's different from creating a clone of Mario 64 for PC, Android, XBox360, because in this way you are stealing from Nintendo the chance to make
money on these platforms or to avoid a bad market strategy if they want to continue selling modern hardware along one killer-application product based on Mario, like they always did. At least, it is what I think about it, when
they'll contact me to stop the project, I will do it without problems because I'm not making money from it and I can switch to other projects. The most important thing is that SMB was a good chance to improve my skills as
computer programmer and taught me how to make games on old computers, that in a world where everybody need gigabytes to make also the simpliest things, it's a unique skill and something that I will do again in the
future.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 10:26, 07 November 16
So, the big scroll problem shown on your video is due to the CPC program and not the video?  ;D


Nice!
One idea, have you thought about using a wider screen to hide the effects of the scroll at the borders?


Today I fixed it, a wider screen wasn't necessary.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 23:18, 10 November 16
New video!

https://www.youtube.com/watch?v=6WMwSLEMHk4

Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 23:42, 10 November 16
Hey not bad , My only suggestion ,would be a tweak on the Pallet mix . Really feel it needs some contrasting colour to help it pop a little. Maybe a Red . Just my opinion but feel it appears a little subdued visually . Please don't think I'm bitching  on you . It definitely looks like improvements are being made with each vid.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 21:59, 14 November 16
Today I implemented an algorithm to draw characters with an horizontal accuracy of 1 pixels, now the movements are smooth like on the NES.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Shaun M. Neary on 12:10, 15 November 16
Hey not bad , My only suggestion ,would be a tweak on the Pallet mix . Really feel it needs some contrasting colour to help it pop a little. Maybe a Red . Just my opinion but feel it appears a little subdued visually . Please don't think I'm bitching  on you . It definitely looks like improvements are being made with each vid.


Was thinking the same. A shade of orange would work really well instead of grey.
Don't get me wrong, I think it looks outstanding so far, but the grey just brings it back to the stone age. But a palette change would improve the visuals tenfold.


Keep it up though, would love to see how this looks finished. =)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 15:16, 16 November 16
Hey not bad , My only suggestion ,would be a tweak on the Pallet mix . Really feel it needs some contrasting colour to help it pop a little. Maybe a Red . Just my opinion but feel it appears a little subdued visually . Please don't think I'm bitching  on you . It definitely looks like improvements are being made with each vid.


What about this?


(http://i68.tinypic.com/nxpfrb.jpg)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 15:29, 16 November 16
I think that improves it massively . It really looks more inviting imo
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 18:16, 16 November 16
Using two or tree palettes, depending the levels...
(orange should look better here)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 18:54, 16 November 16

What about this?


(http://i68.tinypic.com/nxpfrb.jpg)

It think that it already looks much better!  :)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Xifos on 20:43, 16 November 16
I think you're doing good.
The hardware scrolling looks fine.
Good choice of colors in mode 1.
 :)

I'm interested in your sprite routine.
How do you manage to restore background and avoid flickering ?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Nich on 22:46, 16 November 16
What about this?
This choice of colours looks much more appealing to me!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 23:03, 16 November 16
With those colours, this game is really looking close to the genuine article .Really promising work .
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 23:42, 16 November 16
With those colours, this game is really looking close to the genuine article .Really promising work .


To make you understand how close it's now to the original, I took this picture:

(http://i68.tinypic.com/14kxnhv.jpg)

Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 00:01, 17 November 16
Considering the limitations you have to deal with , it's darn impressive!
Even with the pipe not being green, it doesn't look out of place, imo.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: keith56 on 00:47, 17 November 16
Just watched the latest youtube vid.
Really impressive! even though its a WIP , it really has the "Mario Feel" of appearence and movement

The 4 colours don't take anything away from it either - and I think the Mode 1 keeps the sprites looking like the original

Excellent stuff!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 01:41, 17 November 16
Just watched the latest youtube vid.
Really impressive! even though its a WIP , it really has the "Mario Feel" of appearence and movement

The 4 colours don't take anything away from it either - and I think the Mode 1 keeps the sprites looking like the original

Excellent stuff!



Thank you all. The lastest youtube video shows "only" the character with an horizontal accuracy of 4 pixels, then I decided to spend a
little bit of time implementing movements that are 1 pixel accurate. The "Mario feel" has been improved, now you have the feeling of
playing the NES title. The jump, the run, the collisions, I wanted everything to be perfect. The next step is to add the mashroom, coins
and enemies. Then I will implement a simple but effective algorithm to compress/decompress the levels, I want to put all the 16 levels
into a unique file loaded just once. When the game will be complete, you can put it into an old audio cassette and play it with your Amstrad
CPC 464 :-)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 01:42, 17 November 16
Yeah , the temptation to have done it in mode 0,Must have been high. If I were to hear it being suggested before the project started I probably would have imagined an awful port , never was a massive fan of Mode 1, although there were definite exceptions.
 I mean when you think of Mario games ,you think of big bold colourful worlds . It seems a perfect fit Mode 0 . To manage to translate in Mode 1 is great . Whether the addition of enemy Sprites and ,Mushroom /Star Bonus's makes things awkward time will tell
Title: Re: Super mario bros on CPC 464, still alive!
Post by: keith56 on 05:10, 17 November 16
I am quite curious in this project, as I am also developing a Mode 1 game, but the methods you are using are very different to mine... it makes me wonder if I'm doing things wrong  :laugh:


I understand you're effecting a scroll by using the CRTC registers? so the screen data stays in the same place, but the display draws it from a different "Start point?" - I knew this was common for V scroll, but didn't realise it worked Horizontally... guess I need to re-read the tech docs on that one  :doh:


The 1 pixel accurate sprites  is also interesting , I tried this (I was playing with screen scrolling at the time), but gave up on it assuming it would be too slow... I do a "Per 2 pixel" sprite , but I cheat and store a second "Pre shifted" sprite  :P


I'm using Two screen buffers, and redraw everything, which eats up the free memory - also my backgrounds are very simple, mostly a "Gradient" effect with a few token sprites placed here and there - I'm pretty sure that the methods I'm using would not work for the "Mario" style game you're doing.


Keep up the good work!



Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 12:48, 17 November 16

I understand you're effecting a scroll by using the CRTC registers? so the screen data stays in the same place, but the display draws it from a different "Start point?" - I knew this was common for V scroll, but didn't realise it worked Horizontally... guess I need to re-read the tech docs on that one 



With CRTC registers you can change the screen buffer offset, that can be used for both horizontal or vertical scrolling. The most important thing is that the offset
can be changed. If you change only 1 char (8 pixels), the screen is going to move horizontally, otherwise if you move 32 chars (if the width is 256) the screen is
going to shift vertically. However, the technique is most used for vertical scrolling because in this particular case it is easier. If you move 1 scan line at once, you
don't have to deal with the vertical misalignment of the screen when the (offset % 32) is between 0 and 31, as you can see in this picture:


(http://i64.tinypic.com/16h8ao5.jpg)



To fix the misalignment, you need to draw the column 8 pixels down when the scanline is exceeded and make sure that your column don't exceed the vertical limit of
the screen and in that case make the column loop vertically. As you can see from my videos, the trick works pretty well :-)

The 1 pixel accurate sprites  is also interesting , I tried this (I was playing with screen scrolling at the time), but gave up on it assuming it would be too slow... I do a "Per 2 pixel" sprite , but I cheat and store a second "Pre shifted" sprite 


My project will be open source when it will be finished one day, so I have no restraints to share with you part of the code. As a gift to science, here is the row loop of my code to draw 1 pixel accurate:


Code: [Select]
Position 0:


    _draw_tile_loop_row:
        LD A, (DE)
        LD (HL), A
       
        INC DE
        INC HL
       
        DJNZ _draw_tile_loop_row
       
Position 1:
       
    _draw_tile2_loop_row:
        PUSH HL
       
        LD H, C
       
        LD A, (DE)
        INC DE
       
        LD L, A
       
        AND A, #0x11
        SLA A
        SLA A
        SLA A
        LD C, A
       
        LD A, L
        SRA A
        AND A, #0x77
        OR A, H
       
        POP HL
       
        LD (HL), A
        INC HL
       
        DJNZ _draw_tile2_loop_row
       
Position 2:
       
    _draw_tile3_loop_row:
        PUSH HL
       
        LD H, C
       
        LD A, (DE)
        INC DE
       
        LD L, A
       
        AND A, #0x33
        SLA A
        SLA A
        LD C, A
       
        LD A, L
        SRA A
        SRA A
        AND A, #0x33
        OR A, H
       
        POP HL
       
        LD (HL), A
        INC HL
       
        DJNZ _draw_tile3_loop_row
       
Position 3:
       
    _draw_tile4_loop_row:
        PUSH HL
       
        LD H, C
       
        LD A, (DE)
        INC DE
       
        LD L, A
       
        AND A, #0x77
        SLA A
        LD C, A
       
        LD A, L
        SRA A
        SRA A
        SRA A
        AND A, #0x11
        OR A, H
       
        POP HL
       
        LD (HL), A
        INC HL
       
        DJNZ _draw_tile4_loop_row

As you can see, I shift and replace bit positions to move only 1 pixel at once.


I'm using Two screen buffers, and redraw everything, which eats up the free memory - also my backgrounds are very simple, mostly a "Gradient" effect with a few token sprites placed here and there - I'm pretty sure that the methods I'm using would not work for the "Mario" style game you're doing.

In the past I used two screen buffers, but it's not a technique that i suggest anymore for a 64 KB game as it consumes too much memory. There are many techniques to avoid the
blinking glitch or tearing of single buffered games, like scattered back buffers, update moving pixels, xor masks and so on. Anyway it must fit your needs, anyway if memory is not
your problem, you can use the double buffer as well.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Shaun M. Neary on 14:18, 17 November 16
Wow. One palette tweak made a world of difference. Nicely done.
Keep it up =)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 15:05, 17 November 16
I have liked the B&W first idea, because the player was free to imagine the colourfull picture into his mind.
It remembered me the Gameboy with a touch of colour in contrast for the background.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 20:09, 17 November 16
I like it more with color but, in principle, I guess that it should no be difficult to implement a color choice in the main menu just in case you like it better in grey  :)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ivarf on 22:53, 17 November 16

To make you understand how close it's now to the original, I took this picture:

(http://i68.tinypic.com/14kxnhv.jpg)
The NES is a muddy brown machine, just like the C64! :o
Title: Re: Super mario bros on CPC 464, still alive!
Post by: NiNxPe on 03:51, 19 November 16
[attachimg=1]
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ivarf on 14:05, 19 November 16
[attachimg=1]
Looks nice, how many colours do have on-screen there?
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Rhino on 15:09, 19 November 16
[attachimg=1]

Nice! If you only use the 4 colors of mode 1, it is a good idea to apply meshes as in that screenshot.
It may also be possible to apply rasters, for example, to use different colors for the floor.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: EgoTrip on 16:31, 19 November 16
Looks nice, how many colours do have on-screen there?

Definitely only 4. The blue background/transparent, and black, red and yellow for the rest. It looks really nice.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 16:54, 19 November 16
The palette is close to the Pac-Man screening pixels colours. (I should have done something close to that for fun)
About using rasters, may be it is possible for the ground and the clouds... But, really not sure. Require to check all the levels. :-\
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 21:15, 19 November 16
[attachimg=1]


Nice idea, maybe I'll apply this kind of graphics, one day.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 23:03, 19 November 16
The screen with dithering looks great in a CM14  :D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GOB on 18:45, 21 November 16
I think Mode 1 gfx is a bad idea. Use mode 0 !!!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Sykobee (Briggsy) on 01:48, 22 November 16
I think Mode 1 gfx is a bad idea. Use mode 0 !!!


Most of the time I agree, but I think Mario was never an overly colourful game, and decent dithering can produce a great detailed effect.


Now a Sonic clone, MODE 0 would be best for.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ||C|-|E|| on 02:01, 22 November 16
I think Mode 1 gfx is a bad idea. Use mode 0 !!!

I think that in a real screen, with dithering, it looks absolutely great in Mode 1. Without dithering is very nice as well:

https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0 (https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0)

https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0 (https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0)

 :)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Dizrythmia on 02:43, 22 November 16
If you look at the CPC & NES screenshots side by side, you can see that Mode 1 offers the best resolution if you're looking to match the original. As Sykobee said, Super Mario Bros was never the most colourful game in the world anyway.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Puresox on 03:33, 22 November 16
 definitely feel the first alteration you applied was the best fit.whether the extra consideration of enemy sprites ,makes things awkward,who knows.
Looks like the dithering style has appeal though,and i suppose game designer is the key decider. Mode 1 has been done well.

Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 09:56, 22 November 16
I think Mode 1 gfx is a bad idea. Use mode 0 !!!
Most of the time I agree, but I think Mario was never an overly colourful game, and decent dithering can produce a great detailed effect.
Now a Sonic clone, MODE 0 would be best for.

I think Mode 1 gfx is a bad idea. Use mode 0 !!!
I think that in a real screen, with dithering, it looks absolutely great in Mode 1. Without dithering is very nice as well:
https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0 (https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0)
https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0 (https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0)

Exactly... The same for peoples who said that MODE 0 was better for Pac-Man... Just stupid to waste the resolution to use 8 colours at end.  8)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: VincentGR on 11:09, 22 November 16
Mode 1 looks great.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Nich on 22:49, 22 November 16
I think that in a real screen, with dithering, it looks absolutely great in Mode 1. Without dithering is very nice as well:

https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0 (https://www.dropbox.com/s/2dg1wmhmngb9v3g/mariocrt.jpg?dl=0)

https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0 (https://www.dropbox.com/s/krxugs85eqd1thj/mario2crt.jpg?dl=0)

Nice screenshots! :) Although the dithering looks nice on a real CPC monitor, I prefer the look of the second screenshot. The undithered colours make it look a lot more vivid and pleasant to my eyes.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: ukmarkh on 23:56, 22 November 16
Both look great!!!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: sigh on 13:46, 24 November 16
Both look great*. I would suggest using the mode which is easiest for you. Mode 1 means more memory for sprites/animation and sound effects if the scrolling is making it hard for you to allow these features in Mode 0 because of RAM.





* Personally, I prefer the Mode 0 :)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: EgoTrip on 16:09, 24 November 16
Do it in Mode 2
Title: Re: Super mario bros on CPC 464, still alive!
Post by: TotO on 16:15, 24 November 16
 ;D
Title: Re: Super mario bros on CPC 464, still alive!
Post by: dragon on 17:02, 24 November 16
Ok guys,the solution is simply people want mode 0+people want mode1= mode 3

160x200 with 4 colours,and all happy.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: villain on 17:12, 24 November 16
I'd like to vote for: the developer decides. Is this a valid option? :-)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: GinBlog82 on 17:21, 11 December 16
I was busy with my job, only today i found the time to continue the project. I decided to implement the suggestion of @NiNxPe (http://www.cpcwiki.eu/forum/index.php?action=profile;u=777) , the final result is pretty decent so I decided to adopt it (thanks again to NiNxPe!).

https://www.youtube.com/watch?v=jtlgLAnXf6s


Thanks to 1 pixel accuracy too, now the title looks more and more similar to the NES one. Enjoy!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: robcfg on 18:32, 11 December 16
I think it looks absolutely fantastic with the dither, keep up the good work!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Neil79 on 23:41, 11 December 16
 8) 8) 8)
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Skunkfish on 23:44, 11 December 16
Looks amazing and impressively close to the genuine article.

The dithering is good, although to me it makes the pipes look a bit like part of the background... Not sure if the colours could be adjusted to minimize that.

I would love it if this developed into a full Super Mario Bros. remake for the CPC.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: JohnNoels on 10:48, 09 January 17
Hello Everyone! I am not a professional coder. But according to me Mario can run on CPC Plus without any difficulty.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Gryzor on 12:53, 09 January 17
Hello Everyone! I am not a professional coder. But according to me Mario can run on CPC Plus without any difficulty.


Yup! You also seem like a spammer, so unless you reply soon the account will be deleted...
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Gryzor on 12:54, 09 January 17
@JohnNoels (http://www.cpcwiki.eu/forum/index.php?action=profile;u=2012) already changed your spammy signature, please reply if you're not a spammer.
Title: Re: Super mario bros on CPC 464, still alive!
Post by: JohnNoels on 08:28, 11 January 17
Hello GryZor
Title: Re: Super mario bros on CPC 464, still alive!
Post by: Gryzor on 13:19, 11 January 17
Thanks then!
Title: Re: Super mario bros on CPC 464, still alive!
Post by: workstation on 21:57, 05 May 17
Great work!


It looks really good in mode 1! It really looks very green in places, even though it obviously isn't.


Would there be an opportunity for a palette switch for the floor? Maybe it would have to be too compressed vertically.


Looking at the demo on Youtube, it looks like the game physics pauses when it scrolls? Can you make it continue? I see Ghouls and Ghosts doesn't seem to have that issue.


Could the sprite for Mario be masked somehow? Compiled sprites maybe?


If it's too hard to fit in into a 464, I wouldn't worry about getting it into a 6128. It would still be a big achievement.



Title: Re: Super mario bros on CPC 464, still alive!
Post by: jesusdelmas on 08:16, 21 October 18
I was busy with my job, only today i found the time to continue the project. I decided to implement the suggestion of @NiNxPe (http://www.cpcwiki.eu/forum/index.php?action=profile;u=777) , the final result is pretty decent so I decided to adopt it (thanks again to NiNxPe!).

https://www.youtube.com/watch?v=jtlgLAnXf6s (https://www.youtube.com/watch?v=jtlgLAnXf6s)


Thanks to 1 pixel accuracy too, now the title looks more and more similar to the NES one. Enjoy!


Hi! How is going this project? I hope it keeps going :)


It was an amazing job so i wish it is finished one day.


Kind regards!