Jump to content
IGNORED

Princess Rescue Batari BASIC Source Code


Sprybug

Recommended Posts

Alright, as promised here is the Batari BASIC source code to Princess Rescue.

The main reason for this release is for people to learn from.

Hopefully there is something in my source code that can help you make some pretty cool games with Batari

I knew it's big and can be confusing in places, and I'd be wiling to answer a few questions, but lets not go overboard.

 

Oh, in addition, thanks to Random Terrain for thinking this...

"please do not make a couple of small changes to this program, then try to sell it as your own creation."

 

Maybe I just have too much faith in my fellow coders. ;)

 

Thanks for all your support, help, praise, etc

-Chris Spry

PR_V2b.bas

Edited by Sprybug
  • Like 16
Link to comment
Share on other sites

You might want to add "please do not make a couple of small changes to this program, then try to sell it as your own creation. THIS MEANS YOU HOZER!!!" :D

Fixed that for you! (then again, Hozer wouldn't even bother to change the code!)

  • Like 2
Link to comment
Share on other sites

Before I get question about the level data format and how the program uses it. I'll go ahead and put a post here about how it works.

 

Every level has two data tables since a data table that can be accessed at any point can only be 255 bytes long. I needed to do this style of data table because of the ability to scroll back and forward and change up the pointer. In the code you'll see for example for World 1-1 the two tables, W11A and W11B.

 

Every two bytes in the data table equals one column (top of screen to bottom of screen) of playfiled blocks along with possible player1 object initiation. The playfield is 11 rows, which is why it needs two bytes. The leftover bytes are used for information to where a player1 object scrolls onto the screen with the playfield. So for example:

 

First Byte 1 X

2 X

4 X

8 X

16 X

32 X

64 X

128 X

2nd Byte 1 X

2 X

4 X

8-248 Object to appear (in increments of 8 since the first 7 bytes of every 8th byte are used for the playfield)

 

So for example setting the 2nd byte in the series to 15 would give you 3 playfield blocks at the bottom of the screen in that column and tell the program that a "Fungi" is entering the screen and to initialize it.

 

You can get a multiple of combinations of playfield blocks by adding the values together. How they function in the program depends on what level you're in. The bottom row is the ground, the next 3 up are the pipe, the next one is brick, the next is power block, etc for x-1 levels where as-in the x-3 levels all the rows are platforms that you can jump through from below except the top row which is the power brick row.

 

Hopefully this gives you an understanding of how the playfield data works and now if you want to make some new challenging ROM hacked levels, go for it.

  • Like 3
Link to comment
Share on other sites

  • 1 year later...

I would like to use the music from the dead screen on my game, if that's ok, and if it is i want to know how to get to play in the deadscreen on my game. thanks.

All the music data is in different data statements. Look for the routine labeled "mariodeath". You can see in that routine how it calls the data and jumps to the routine to play the music. You'll have to follow to where it's gosubing to figure it all out. The data is in "DeathMusic" and the ability to play it in a game cycle for 1/20th of a second is in "PlayDeathMusic". The game runs on 3 drawscreens (most of the time) per game cycle which is why it plays the notes for 1/20th of a second instead of 1/60th.

Edited by Sprybug
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 6 years later...

Just messing around with some of the graphics and seeing if I could get a little closer to their "N'doh" counterparts.

The only thing I've changed are the Goombas and Koopas (walking/flying).

 

Figure this would be okay since it's been out a while and Sprybug has made the .bas readily available.

Please remove if not.

 

I've kept the file as a .bin to discourage any copying.

Goomba.jpg

Koopa.jpg

PR_V2-graphics.bin

  • Like 1
Link to comment
Share on other sites

11 hours ago, alfredtdk said:

Both are great, congratulations. Would it be possible to make this last modification of Gomba with a more brownish hue? Like this.

gomba.png.f5c1d465782bc6958ec1b064f4dacb20.png

You'd end up with something like this:

Red-Goomba.jpg.e5973f92ef2de976ba6da09c8fcbea11.jpg

 

Which looks more like this:

Gossamer.jpg.7c6278e472f128c155fe6a02cca70394.jpg

 

My dilemma is/was trying to stay as faithful to the arcade counterpart. I don't think I was able to capture the "essence" as well as orange808 did.

I'll include the Gossamer version for you when I have a chance to update the code. ?

Edited by rsiddall
  • Haha 1
Link to comment
Share on other sites

1 hour ago, rsiddall said:

Que tal agora? Um pouco mais perto?

 

Goomba3.mov 35,72 kB · 1 download

God!!! It almost looked like this creature from the Bugs Bunny cartoon.

 It would be identical if he were all red and wearing white boots, thank

goodness not.
I really liked the result rsiddall, of all versions.The eyes of the Gomba character

made by  orange808 are amazing, in my opinion conveys the essence of

what he is, a cute being from a fantasy world. ?

Edited by alfredtdk
  • Like 1
  • Haha 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

I would like to commend this amazing game created by Sprybug. Thank you also for making your PR code available for our learning. I'm not a programmer and I had never used the Batari Basic tool, but at the end of last year that changed and I started using this tool on Linux. With the code available I made the first attempts changing only the sprites and colors. The result can be seen in the images below. I think Princess Rescue is the perfect game for those who want to venture out modifying it for their own use, creating other characters from movies, games, comics or even real life. Even better as Sprybug said using the code as a model of inspiration to create totally new and independent games.
I'm taking my first steps, the road is still long and I hope to one day create my game.
Thanks Sprybug .

 

 

Captura de tela em 2022-01-18 01-03-28.png

Captura de tela em 2022-01-18 01-05-01.png

Captura de tela em 2022-01-18 01-08-15.png

Captura de tela em 2022-01-18 00-55-20.png

Captura de tela em 2022-01-18 17-05-34.png

Captura de tela em 2022-01-18 17-07-03.png

Captura de tela em 2022-01-18 21-50-19.png

Edited by alfredtdk
  • Like 2
Link to comment
Share on other sites

4 hours ago, alfredtdk said:

I would like to commend this amazing game created by Sprybug. Thank you also for making your PR code available for our learning.

 

Related link:

 

randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_princess_rescue

  • Like 2
Link to comment
Share on other sites

  • 2 years later...

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...