Jump to content

Photo

Cave Run

A new platform game

36 replies to this topic

#1 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Thu Jul 26, 2012 9:17 AM

I blew the dust off an old project I started back in 2009 and finally finished up. I started it using the platformer source code that batari posted in May 2009 (http://www.atariage....tformer-source/). I started the game with no theme in mind, I just knew I wanted to write a platform game. In the end decided to stick with the CaveIn theme and call it "Cave Run". It uses the standard kernel, 32k, and the superchip option.

The object is to run through thirty horizontally placed screens (or "caves") and grab the treasures on each level. Some backtracking and creative jumping is required to reach some of them. Once you have collected all the treasures the final screen unlocks. If you successfully navigate the last screen you win the game. You start the game with three lives. I've done a few hours of playtesting and I was able to reach all of the treasures and beat the game, but it's possible there's a bug in the code somewhere that I haven't found yet.

Here's the an outline of the basics:

Obstacles:

Any of these obstacles will cause you to lose a life. When you die you "explode" like a bomb, I threw that in there from the beginning mostly because I thought it was kind of funny. I have no specific explanation as to why you explode when dying in this game. :)

:arrow: The Bat. There is a bat that flies around each screen, if it touches you you will lose a life. The bat will disappear after a hit just for the screen you are on, it will reappear when you change screens.
:arrow: The Pits. If you fall off the bottom of the screen you will lose a life.
:arrow: Barriers. Some screens have a barrier that moves back and forth. If you hit it, it will push you to the right and could cause you to fall into a pit. Be careful to time your jumps and avoid them.

Treasures:

There are 2 treasures in each of the 31 rooms. Some move in patterns that require precise jumps, others are positioned so that you may have to fall into them to collect them, and some are static. All 62 need to be collected to win the game. You score 10,000 points for each treasure, but it's more of a way to keep track of how many you've collected. You'll end up with the same score every time if you beat the game. I used batari's 5+1 score minikernel, so the right side represents your remaining lives.

Options:

I've included an options screen at the beginning of the game that lets you choose the speed of the bat, god mode (which disables collisions with the bat and barriers), gravity and jump velocity. To choose an option, move the joystick up and down to select which option you want to change, and then push the joystick left or right to select the setting for that option. Pressing the fire button will start the game. Please note that the default options for gravity and jump velocity are what I designed the with, some platforms are placed in a very specific places that match up with the defaults. Choosing different options is fun to play around with in the game, but certain combinations of them could make the game unwinnable.

:arrow: Bat Speed: High or Low. Low is the default. High simply makes the bat fly around faster.
:arrow: Player Speed: High or Low. Low is the default. High makes the player run faster.
:arrow: God: On or Off. Off is the default. Turning God mode on disables collision detection with the bat and barriers, and also allows you to fall into a pit and survive.
:arrow: Gravity: High or Low. High Gravity is the default. Switching to Low gravity will allow you to jump farther.
:arrow: Random Start: On or Off. Off is the default, you'll always start in the first room at the beginning of the map. Turning random on will cause you to start in a random location.
:arrow: Velocity: High or Low. Low velocity is the default. Switching to High velocity will allow you to jump higher. High velocity jumping may make it impossible to get to certain treasures.

The Map Screen:

Press the color/BW switch (F4/F3 in Stella) to go to the Map screen. The map screen shows all 31 rooms in order from the top left down to the bottom right. It also shows your current position on the map and which rooms still have treasures in them that need to be picked up. The remaining treasures will only be shown on the current row you're in on the map screen.

-------------------------------------

Updated on 8/2/12: Update2 has a few bug fixes and a few changes to the options screen & map screen. I've also attached the titlescreen folder in case anyone wants to compile the game.

Update 3/7/12: Just tried it for the first time on my Harmony and this game is not 100% hardware compatible. I'll work on an update eventually, but for now just enjoy it on Stella. :)

Steve

Attached Thumbnails

  • caverun3.jpg
  • caverun4.jpg
  • caverun5.jpg
  • caverun6.jpg
  • caverun_map2.jpg
  • caverun_title.jpg
  • caverun9.jpg
  • caverun10.jpg

Attached Files


Edited by Atarius Maximus, Thu Mar 7, 2013 8:00 PM.


#2 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,851 posts

Posted Thu Jul 26, 2012 9:55 AM

Very cool. Almost what I imagine a Super Pitfall back-port would be.

I think you could change the option text to playfield pixels (check-boxes) to avoid flicker. Even with the phosphor cheat in Stella it flickers badly. You could also use both sprites and have a set of 4 off/on graphics. You know, on/on on/off off/off off/on. Zero flicker and a little wasteful graphic data.

Variable jump is a nice thing. Maybe make it so?

How are you displacing that first digit in the score? That's awesome!!! Please tell :)

Edited by theloon, Thu Jul 26, 2012 9:56 AM.


#3 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,407 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Thu Jul 26, 2012 1:31 PM

Welcome back Steve!

#4 abaudrand OFFLINE  

abaudrand

    Chopper Commander

  • 236 posts

Posted Thu Jul 26, 2012 3:12 PM

awesome!

#5 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 6:51 AM

Very cool. Almost what I imagine a Super Pitfall back-port would be.

I think you could change the option text to playfield pixels (check-boxes) to avoid flicker. Even with the phosphor cheat in Stella it flickers badly. You could also use both sprites and have a set of 4 off/on graphics. You know, on/on on/off off/off off/on. Zero flicker and a little wasteful graphic data.

Variable jump is a nice thing. Maybe make it so?

How are you displacing that first digit in the score? That's awesome!!! Please tell :)


You're right, I was being lazy with the options screen and simply flickered one sprite four times. I could make that screen flicker-free with a bit more effort. I'm not exactly sure what you mean by variable jumping, but I don't think I'd be able to easily change how jumping works in the game now. Like I said in the first post, the jumping code is from batari (it's what was used in the Gingerbread Man game) and changing it would be difficult. As far as displacing the one digit in the score, there's an old thread (again posted by batari) that has a few different score minikernels that you can use and I used one of those minikernels in my game. Take a look here: http://www.atariage....el#entry1507829.

Steve

#6 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 6:54 AM

Welcome back Steve!


Thanks. I wish I could spend more time on the forums and working on new games. I put off a lot of other work to finish this game up in the past few weeks. :)

Steve

#7 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 6:54 AM

awesome!


Thanks.

#8 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 11:23 AM

Here's a map I threw together this morning for the game.

Attached Thumbnails

  • caverun_map.jpg


#9 UberArcade OFFLINE  

UberArcade

    Moonsweeper

  • 368 posts
  • Location:Music City USA

Posted Fri Jul 27, 2012 12:05 PM

Looks cool! I want to play it.

#10 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,851 posts

Posted Fri Jul 27, 2012 1:41 PM

Variable jumping is when you can jump higher or lower depending on the length of time you depress the jump button.

Also, did you see in this topic I got Bataris 4-way scrolling demo working in the latest build of bB?
http://www.atariage....e/#entry2566587

With the proper changes we could make a proper platformer with levels bigger than one screen at a time!

Edited by theloon, Fri Jul 27, 2012 1:45 PM.


#11 abaudrand OFFLINE  

abaudrand

    Chopper Commander

  • 236 posts

Posted Fri Jul 27, 2012 1:56 PM

Variable jumping is when you can jump higher or lower depending on the length of time you depress the jump button.

Also, did you see in this topic I got Bataris 4-way scrolling demo working in the latest build of bB?
http://www.atariage....e/#entry2566587

With the proper changes we could make a proper platformer with levels bigger than one screen at a time!

agree with theloon. it will make it even more better!!!

#12 Byte Knight OFFLINE  

Byte Knight

    Stargunner

  • 1,038 posts
  • Robinett Rules!
  • Location:Waconia, MN

Posted Fri Jul 27, 2012 3:49 PM

Great to have you back crankin' out games! You're running out of "Cave" names though...

#13 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 4:50 PM

Variable jumping is when you can jump higher or lower depending on the length of time you depress the jump button.

Also, did you see in this topic I got Bataris 4-way scrolling demo working in the latest build of bB?
http://www.atariage....e/#entry2566587

With the proper changes we could make a proper platformer with levels bigger than one screen at a time!


Great ideas, but I'm not going to be implementing either of those in this particular game. Variable jumping and a four way scrolling playfield would be a complete rewrite. They're very good ideas, though. I took a quick look at the 4 way scrolling demo from batari and it's greek to me. It's not really commented and doesn't look like it would be easy to figure out what he's doing in that code. Maybe in a future project I'll try to tackle those things. I really like the "fake gravity" demo that RT is working on too, that could work well incorporated into a 4 way scrolling game.

#14 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 4:51 PM

Great to have you back crankin' out games! You're running out of "Cave" names though...


Hey now, cut me a little slack. It's only my 2nd game with the word "Cave" in it. :D

#15 TrekMD OFFLINE  

TrekMD

    River Patroller

  • 3,328 posts
  • Location:Coral Gables, FL

Posted Fri Jul 27, 2012 4:59 PM

Very cool!

#16 Brian O OFFLINE  

Brian O

    Stargunner

  • 1,611 posts
  • [THIS SPACE FOR RENT]

Posted Fri Jul 27, 2012 5:02 PM

This looks great. Nice job.

-B

#17 RevEng OFFLINE  

RevEng

    River Patroller

  • 4,704 posts
  • Bitnik
  • Location:Canada

Posted Fri Jul 27, 2012 5:15 PM

Good fun - I like how you sometimes need to use platforms on the next screen to get to treasure on the current one.

With a bit of consolidatoin, it looks like you have enough rom space to put the menu options into one of those fancy new titlescreens everybody is talking about! :ponder:

#18 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Fri Jul 27, 2012 5:52 PM

With a bit of consolidatoin, it looks like you have enough rom space to put the menu options into one of those fancy new titlescreens everybody is talking about! :ponder:


Yep, I'll probaly do that eventually. I spent most of my time on the game itself and not much time on the titlescreen and options screen. I've seen what people have done with the titlescreen kernel and it's really cool, I'll have to download it and play around with it.

#19 Byte Knight OFFLINE  

Byte Knight

    Stargunner

  • 1,038 posts
  • Robinett Rules!
  • Location:Waconia, MN

Posted Fri Jul 27, 2012 8:43 PM

Fun game! I noticed the bat does not always face the way he's flying and so it looks like he's sometimes flying backwards. Was this on purpose?

#20 Impaler_26 OFFLINE  

Impaler_26

    Cookie Meister

  • 2,596 posts
  • Braindead
  • Location:Hueco Mundo

Posted Sat Jul 28, 2012 3:20 AM

Nice game! Just played it for a while and enjoyed it! :)

My best score so far:


caverun.txt.bin.png

#21 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Sat Jul 28, 2012 5:56 AM

Fun game! I noticed the bat does not always face the way he's flying and so it looks like he's sometimes flying backwards. Was this on purpose?


The bat is set to reflect and always face the player. I honestly didn't think of it as the bat flying backwards, but you're right, it does kind of look like that now that you say it. ;) It's a single line of code, it'd be easy to change.

#22 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Sat Jul 28, 2012 6:13 AM

Nice game! Just played it for a while and enjoyed it! :)

My best score so far:


caverun.txt.bin.png


Nice! It's not easy to get to the end, most of my playtesting has been with collision detection turned off. I haven't actually beat the game yet. :) There are other bits of strategy that may help that I didn't mention in the first post. You have the ability to duck - just push down on the joystick. It can allow you to avoid some hits by the bat. Also, if you're near the edge of the screen and the bat is coming right for you, leave the screen and come right back. The bat resets to starting from the middle of the screen every time you re-enter.

Steve

#23 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,245 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Jul 28, 2012 9:09 PM

I really like the "fake gravity" demo that RT is working on too, that could work well incorporated into a 4 way scrolling game.


Speaking of that, can you make your little guy move and jump as fast as the little guy in the fake gravity test program? I like to move fast.

#24 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Sun Jul 29, 2012 3:46 PM

I really like the "fake gravity" demo that RT is working on too, that could work well incorporated into a 4 way scrolling game.


Speaking of that, can you make your little guy move and jump as fast as the little guy in the fake gravity test program? I like to move fast.


Yep, it wouldn't be too hard to make the player move faster. I could make fast or slow player movement another option in the game. I'll probably work on a few updates in the next week or so.

#25 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,859 posts
  • 10 PRINT CHR$(205.5+RND(1));
  • Location:St. Louis, Missouri USA

Posted Tue Jul 31, 2012 9:15 AM

Hey RT - I made a quick change to change the speed of the player. Flip the left difficulty switch to A to make the player move faster. I'll add it as an choice on the options screen when I get some more time, I want to re-do that screen (and the titlescreen) anyway.

Attached Files






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users