Jump to content
IGNORED

Super Mario Clone being written now


analmux

Recommended Posts

Hi all,

 

Here some info about another project of mine:

A Super Mario Bros 3 clone.

 

Since I'm using XASM, I've written lots of code.

Now I'm finishing my Mario clone, on which I've been working for years.

The main idea, graphics and all levels originate from 1995-1998. Then I finished highschool, started studying, but now I'm ready to finish the coding. The game will be available as freeware soon (before christmas). It's still Antic 4 with flickering sprites, but I think it's a nice start for a beginner.

 

In the big picture you can see some screenshots from some of my levels in edit-mode (no sprites/no playing). In the smaller picture you can see a testing/debugging screen (player as oscilloscope) when I was debugging the level decompressor which I partially rewrote to fit in a smaller space.

 

I wanted the game to be a One-Loader. It'll fit in about 46 kB, and holds all leveldata in RAM (16 kB).

 

The game will be:

-Freeware, downloadable from my website

-working on both PAL and NTSC machines

-fitting on an ATR side

 

I'll give comments on the development soon, as I'll put them on my own website.

 

I'll eventually publish the sourcecode in 2004.

 

 

...Okay, back to coding :wink:

 

pla sta pla sta ....

 

-----

mux

Link to comment
Share on other sites

Looks good :)

 

One thing you might want to consider is if the program code that must be in Ram (i.e. that the program changes as it runs) can be limited to the first 16k...you might be able to port the game to the 5200 as well (and 5200 owners will beat a path to your door).

Link to comment
Share on other sites

One thing you might want to consider is if the program code that must be in Ram (i.e. that the program changes as it runs) can be limited to the first 16k...you might be able to port the game to the 5200 as well (and 5200 owners will beat a path to your door).

 

How is the memory in the 5200 organized?

 

Isn't it that GTIA is mapped on a different place, though the 5200 is exactly the same computer?

 

When I spoke about 46 kB, I meant all the code. The game would require another 16 kB RAM as workspace (mainly decompressed levels and PM base / screenmemory). It won't contain any self-modifying code, so it should be able to put the code into ROM images.

 

So It'll be working on an atari 800 xl only (with RAM between $c000 and $ffff).

 

For the atari 400 and 800 I might consider to make another version that loads levels from a disk. Fortunately XASM is that flexible to make different versions with different memory mapping very fast.

 

-----

mux

Link to comment
Share on other sites

Oh :P

If you are taking advantage of the XL's underlying Ram to use as a workspace, that probably nixes the 5200 idea.

 

Re: program code in Ram

I wasn't really referring to self-modifying code, just things in Ram that are changed by the program (i.e. screen memory, P/M, variables)

Link to comment
Share on other sites

Yep, Bros was programmed by KE-SOFT (Germany) in the early nineties and I remember playing it quite a lot when I first got it. Sure, the graphics may not be up there but, remember, before BROS there was no Super Mario Bros clone on the Atari (and yes, as usual we had to settle for an inferior clone but it's still lucky we got it anyway).

 

Also, anybody knows the guy behind KE-SOFT ? He also programmed for ATARI GERMANY in the early eighties.

 

@analmux - I'll e-mail you later tonight.

 

AB.

Link to comment
Share on other sites

If I understand your layout then it can fit on the 5200. The 5200 has 16K of RAM and uses 32K of ROM.

 

The 5200 has ~231K of ZP to use. I assume this is to be a 1 player game so you can gain an extra 6 bytes by starting your ZP at $13 instead of $19. Page 1 is reserved for the stack and $200 - $21B is used for the vectors (you can use some of this for RAM as needed). Then from $21C - $3FFF is free for RAM.

 

The program ROM starts at $4000 and continues to $BFFF.

 

Look here for the A8/5200 equates file. This will help in the 5200 layout.

Link to comment
Share on other sites

If I understand your layout then it can fit on the 5200. The 5200 has 16K of RAM and uses 32K of ROM.

 

Okay, but the gamedata needs 46 kB so if it would fit in 32 kB ROM when it's compressed, it would still need 46 kB for decompressed data.

 

Does the 5200 have a bankswitching ability? Then the problems would be solved, when I put the data in a 64kB ROM (27512)

 

-----

mux

Link to comment
Share on other sites

2k = first PM base and PM engine workspace / screenbuffer

2k = second PM base / fontbuffer and main workspace

6k = levelbase (decompressed in 6 kB) tiles

1.5k = screenmemory (wrap around system)

 

That adds up to be 11.5k (areas of the game that MUST be in Ram). If it were possible to decompress the level data "on the fly", you could save 6k of that (i.e. do away with levelbase)

 

1k = title screen

1k = title screen font

4k = 4 in-game fonts

16k = level data

4k = PM shapes

4k = tables / LUTs

16k = program code / music

1p = display list

1k = pipe/door list

1k = enemy list

That adds up to 48.1k of the game areas that can be in Rom or Ram. I noticed that you treat everything as full pages. Are there really 4k of P/M shapes, for example? If a lot of that is values of $00, you'd save a lot of memory by using lookup tables to point to the sprites. And this game is displayed in Antic4, right? That display list would not require a full page of memory...for example. Little here, little there...it all begins to add up. So the goal is to try to trim 11.5k out of that (because you still have some Ram that you can use)...and you would be able to fit it into a standard 32k cart. I dunno about 5200 bankswitching, but if that were possible...you could put all the compressed level data into a seperate bank and not have to worry about trimming anything.

Link to comment
Share on other sites

Does the 5200 have a bankswitching ability?

Yes, the only game to do it is Bounty Bob Strikes Back.

 

I still think with some clever reuse you might be able to get this on the 5200. Then again, if you go the bankswitch route you could copy protect your game. The only people knowing your scheme could be you and the board manufacture. Well, that is until someone figures out your scheme :P

 

I think it would be nice to see on the 5200 but it would be an aggressive project.

 

Your work looks great and I can't wait to see a demo.

Link to comment
Share on other sites

The only people knowing your scheme could be you and the board manufacture.

 

I think I won't make a real cartridge. It's a hell of a job that I can't do alone (same as double video upgrade).

 

Your work looks great and I can't wait to see a demo.

 

Well I've made a demo already in turbobasic. It's a spinoff that I called the smp-demo. You can download it in this thread: (only one difference: it has colorchanges by DLI and no scrolling).

 

http://www.atariage.com/forums/viewtopic.p...31087&start=250

 

...and, Sheddy, I'll save the scrolling MCS for the supergame for 1mbyte flashcart. The technique needs some more RAM that I can't make free for my mario clone (oneloader!), and it's still in development. I can make the MCS scrolling routines much faster (it needs many wasted Wsyncs), but it'll take some time to develop.

 

-----

mux

Link to comment
Share on other sites

  • 2 weeks later...
My first question at this point is which antic mode does your game use, and why did u choose that mode?

 

Good question. :D

 

First of all I'm using Antic 4 or graphics 12. It allows for 5 colors in a 128*192 resolution (narrow screen poke 559,33). I've chosen the narrow screen because then it would be like a NES screen that also has a 32 characters wide screen.

 

I wanted the graphics engine to be tile-based so I can make use of the charmode. Every tile consists of 4 graphics 12 characters (2 * 2). The levelbase is just a tile map. My scrolling routine will decompress the graphics in the invisible borders in realtime, so I only need less than 1.5 kB of screenmemory. So another reason for choosing this Anticmode is less memory usage (than f.e. antic E = 8 kB per screen)

 

As I'm not using scrolling MCS in this game, I've got 4 Players + 4 Missiles for the enemies and mario.

Link to comment
Share on other sites

  • 1 month later...

Just to keep this up to date, I've included a sample of the source code of the super mario clone. It's a piece of the levelbase decompressor.

 

I've got some spare time now, so expect the game to be finished really soon.

 

---deleted---

 

-----

mux

Edited by analmux
Link to comment
Share on other sites

Hello Mux,

I am happy to hear, you will do a boot and a file-version. By the way: Why not join the ABBUC software contest 2004 ?!? The Deadline is August 1st, 2004 and you have the chance to win a good price (money!). Maybe you do not know - ABBUC only wants the right to release the game on their magazine (400 members) and the author keeps the copyright ! Well, in 2003 we/ABBUC had only some Basic listings (games that looked like 20 year old Basic ltype-in listings), so if your game would have been available then, you would have won the 1st price (500 Euro cash). I don`t know how hard the competition will be next year. but from my point of view you still have a good chance to make the 1st place... greetings, Andreas Magenheimer.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...