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.
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!
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.
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.
Quotei'm 100% with this project, continue developing it PLEASE.
I'm going to try it, thanks for the encouragement.
Quote from: GinBlog82 on 11:50, 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.
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!!
This is fantastic news.
Keep persevering. I have no doubt even just the first world would be very welcomed.
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:
So make sure to rename everything at least ;)
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:
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.
Quote from: Cholo on 23:27, 27 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.
QuoteI think the best thing to do is replace Mario with Roland graphics. Super Roland Bros is better for the CPC.
Eh eh, good idea! :-)
Quote from: EgoTrip on 15:09, 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?
The money making is the issue i think
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...
Quote from: mr_lou on 19:02, 29 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.
Quote from: EgoTrip on 15:09, 29 October 16I 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
Quote from: fano on 09:31, 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?
Let Mario to Nintendo. ;)
Super Roland is a really great idea lol!
Quote from: ukmarkh on 11:40, 30 October 16
Super Roland is a really great idea lol!
Roland Mario & Arnold Mario?
Quote from: mr_lou on 19:02, 29 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.
If nobody else is going to mention Rick Dangerous...... I'm sure he could step up if Mario has issues ;)
I reckon Roland sounds the ideal option !
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!
Quote from: EgoTrip on 15:09, 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.
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.
Yea change it to Super Roland Bros!
Perfect!!!
Quote from: Xyphoe on 02:19, 02 November 16
Yea change it to Super Roland Bros!
Who is the Roland broser? :o
that's what I said! Arnold Mario [emoji14]
Enviado desde mi GT-N7100 mediante Tapatalk
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.
Quote from: GinBlog82 on 10: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.
That's great news!
*Really* looking forward to playing this.
Quote from: Joseman on 09:38, 02 November 16that's what I said! Arnold Mario (https://emoji.tapatalk-cdn.com/emoji14.png)
Arnold and Roland sure... Who is Mario? :-\
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
You are right. It was confirmed by Miyamoto and it is logical. ;D
Quote from: TotO on 13:52, 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
They are not the "Arnold Bros." ? :-\
@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.
It is a cool project!
Have you thought about using rasters to add color? for example, in the floor.
Interesting:
https://www.youtube.com/watch?v=IqurbCENCOM
Quote from: arnoldemu on 14:57, 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.
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.
Quote from: GinBlog82 on 14:05, 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...
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
Quote from: ||C|-|E|| on 15:10, 04 November 16You 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
Quote from: TotO on 15:31, 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.
Quote from: TotO on 15:31, 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?)
Super Mario Bros. 3 might need all 512kb... Anyone fancy a go? :D
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.
Quote from: GinBlog82 on 14: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.
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.
Does anyone knows how to record SMBX without lag? I'm using Bandicam
Quote from: davidsmith150 on 10:50, 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.
Quote from: GinBlog82 on 11:57, 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
Quote from: GinBlog82 on 02:35, 05 November 16
My latest efforts, I wish that you like it:
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?
Quote from: Rhino on 13:36, 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.Quote from: TotO on 12:05, 05 November 16
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 bettersyncronization 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.
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...
Quote from: Dizrythmia on 15:24, 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.
Quote from: TotO on 12:05, 05 November 16
So, the big scroll problem shown on your video is due to the CPC program and not the video? ;D
Quote from: Rhino on 13:36, 05 November 16
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.
New video!
https://www.youtube.com/watch?v=6WMwSLEMHk4
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.
Today I implemented an algorithm to draw characters with an horizontal accuracy of 1 pixels, now the movements are smooth like on the NES.
Quote from: Puresox on 22: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.
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. =)
Quote from: Puresox on 22: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.
What about this?
(http://i68.tinypic.com/nxpfrb.jpg)
I think that improves it massively . It really looks more inviting imo
Using two or tree palettes, depending the levels...
(orange should look better here)
Quote from: GinBlog82 on 14:16, 16 November 16
What about this?
(http://i68.tinypic.com/nxpfrb.jpg)
It think that it already looks much better! :)
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 ?
Quote from: GinBlog82 on 14:16, 16 November 16
What about this?
This choice of colours looks
much more appealing to me!
With those colours, this game is really looking close to the genuine article .Really promising work .
Quote from: Puresox on 22:03, 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)
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.
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!
Quote from: keith56 on 23:47, 16 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 :-)
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
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!
Quote from: keith56 on 04:10, 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 :-)
Quote from: keith56 on 04:10, 17 November 16
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:
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.
Quote from: keith56 on 04:10, 17 November 16
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.
Wow. One palette tweak made a world of difference. Nicely done.
Keep it up =)
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.
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 :)
Quote from: GinBlog82 on 22:42, 16 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
[attachimg=1]
Quote from: NiNxPe on 02:51, 19 November 16
[attachimg=1]
Looks nice, how many colours do have on-screen there?
Quote from: NiNxPe on 02:51, 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.
Quote from: ivarf on 13:05, 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.
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. :-\
Quote from: NiNxPe on 02:51, 19 November 16
[attachimg=1]
Nice idea, maybe I'll apply this kind of graphics, one day.
The screen with dithering looks great in a CM14 :D
I think Mode 1 gfx is a bad idea. Use mode 0 !!!
Quote from: GOB on 17:45, 21 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.
Quote from: GOB on 17:45, 21 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)
:)
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.
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.
Quote from: Sykobee (Briggsy) on 00:48, 22 November 16Quote from: GOB on 17:45, 21 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.
Quote from: ||C|-|E|| on 01:01, 22 November 16Quote from: GOB on 17:45, 21 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)
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)
Mode 1 looks great.
Quote from: ||C|-|E|| on 01:01, 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.
Both look great!!!
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 :)
Do it in Mode 2
;D
Ok guys,the solution is simply people want mode 0+people want mode1= mode 3
160x200 with 4 colours,and all happy.
I'd like to vote for: the developer decides. Is this a valid option? :-)
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!
I think it looks absolutely fantastic with the dither, keep up the good work!
8) 8) 8)
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.
Hello Everyone! I am not a professional coder. But according to me Mario can run on CPC Plus without any difficulty.
Quote from: JohnNoels on 09: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.
Yup! You also seem like a spammer, so unless you reply soon the account will be deleted...
@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.
Hello GryZor
Thanks then!
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.
Quote from: GinBlog82 on 16: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 (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!