Jump to content
IGNORED

Starfighter (WIP)


Cliff Friedel

Recommended Posts

Hey everyone. Here is a new game I am working on. It is a space game where you shoot the ships as they come at you. Pretty simple. Got the basics down (ships move, make noise when they fire, die when they are supposed to, etc). Here are some things I plan to work on:

 

Better pathing by the enemies.

More reliable firing pattern by enemies.

Different enemy sprites each level.

Music.

A title screen.

Explosion animations when the enemies or the players are hit.

A boss level.

Level out the difficulty curve (level 4 [6000 pts] is almost impossible)

 

If you guys have any other ideas or comments, let me know. Thanks and enjoy.

 

Cliff

 

Atari BIN file

starfighterV1_0.bin

bB BAS file

default.bas

 

Latest Version:

1.06

 

BIN File

StarfighterV1_06.bin

 

BAS File

default.bas

Edited by Cliff Friedel
Link to comment
Share on other sites

Here's a screenshot, and a suggestion:

Make the game over screen more visible. When you're on your last ship and are firing a lot, I missed it because i pressed fire only to go back to the game.

 

Yeah, I have to figure out a better way to do that. Maybe have it introduce a couple second wait after you press the button. The same is true with the pause between deaths. With the button mashing, you tend to just go past it.

 

Cliff

Link to comment
Share on other sites

Here's a screenshot, and a suggestion:

Make the game over screen more visible. When you're on your last ship and are firing a lot, I missed it because i pressed fire only to go back to the game.

 

Yeah, I have to figure out a better way to do that. Maybe have it introduce a couple second wait after you press the button. The same is true with the pause between deaths. With the button mashing, you tend to just go past it.

 

Cliff

 

 

You can put a couple second pause in pretty easily, just add something like this in your game loop:

 

x=x+1

if x>250 then x=251

if joy0fire && x=251 then <continue>

 

As soon as x counts up to 251 in your loop, it will remain at that value. Until it gets up to 251, pressing the fire button won't do anything.

 

Steve

Link to comment
Share on other sites

Here's a screenshot, and a suggestion:

Make the game over screen more visible. When you're on your last ship and are firing a lot, I missed it because i pressed fire only to go back to the game.

 

Yeah, I have to figure out a better way to do that. Maybe have it introduce a couple second wait after you press the button. The same is true with the pause between deaths. With the button mashing, you tend to just go past it.

 

Cliff

 

 

You can put a couple second pause in pretty easily, just add something like this in your game loop:

 

x=x+1

if x>250 then x=251

if joy0fire && x=251 then <continue>

 

As soon as x counts up to 251 in your loop, it will remain at that value. Until it gets up to 251, pressing the fire button won't do anything.

 

Steve

 

I actually did something like that with a for loop. I also added a title screen and messed with the enemy creation a little so there weren't so many showing up on the right end of the screen. Here is the revision:

 

Atari BIN file:

starfighter1_01.bin

 

Batari Basic file:

default.bas

Link to comment
Share on other sites

Ok, I made an update. Now as the levels switch, the ships do too. When you get to level 4, you have to take on the missile assault. Hopefully soon, I plan to build a boss ship you would fight at the higher levels along with multiple ships at one time (maybe using nusiz or the multisprite kernel).

 

I also wrote a (pretty lame and short) backstory for the game. Hopefully it will put you in the mood. I promise I will work on it more as I work more on the game

 

As the last hope for your people, you must launch your starfighter and fight the invasion force that is headed for your planet. Fight the hordes of incoming troop transports, fighters, missiles, and capital ships to save your planet from destruction!

 

Level 1 - Stop the troop transports!

Level 2 - Take on the drones!

Level 3 - Stop the fighters!

Level 4 - Get through the missile storm.

 

My plans include different flight paths for different levels, music, better sound effects, the boss level with multi-hits, stuff above.

 

More coming soon! Try it out and let me know if you like it any better. Also feel free to send me your input. I appreciate it.

 

Cliff

 

Atari BIN file

StarfighterV1_02.bin

 

Batari Basic file

default.bas

Link to comment
Share on other sites

You have a couple of places where the scanline count is going crazy. Instead of a for-next loop, you might want to use something like this:

 

 

PuppySniffer
  drawscreen
  b = b + 1 : if b < 120 then PuppySniffer
  b = 0

 

Sorry for not understanding what you mean, but what do you mean? =) Do you mean it is flickering or slowing down or is something else going on? I have only tried this on Stella so far and haven't seen any of those issues, but knowing how little experience I have working with BB and the 2600, I trust your experience and knowledge. Where would this code go? Again, sorry for the ignorance on my part. Still trying to take this all in.

Link to comment
Share on other sites

You have a couple of places where the scanline count is going crazy. Instead of a for-next loop, you might want to use something like this:

 

 

PuppySniffer
  drawscreen
  b = b + 1 : if b < 120 then PuppySniffer
  b = 0

 

Sorry for not understanding what you mean, but what do you mean? =) Do you mean it is flickering or slowing down or is something else going on? I have only tried this on Stella so far and haven't seen any of those issues, but knowing how little experience I have working with BB and the 2600, I trust your experience and knowledge. Where would this code go? Again, sorry for the ignorance on my part. Still trying to take this all in.

 

Ok, I read what you said again and think I know what you are saying. Let me see if I can redo the for next loops into the way you describe and I will repost. Thanks.

Link to comment
Share on other sites

Ok, hopefully fixed the scanline issue and added some different pathing for the different ships. Made the game a little harder. Let me know what you guys think.

 

Cliff

 

BIN File

StarfighterV1_03.bin

 

BAS file

default.bas

 

Looking good, Cliff. I like the sounds, I've never been very good at that. Your joywait routine is still causing problems with scanlines, they go through the roof on your title screen and after a colliision is detected and you have to press the fire button to continue. I'd change it to put in a slight delay before you're allowed to press the fire button. Something similar to x=x+1 | if x>100 then x=101 | if x=101 && joy0fire then <continue>. Hit ALT+L in stella and you can see the scanline issue.

 

I'd also consider narrowing down the X values of the enemies coming down the screen, they get spread out so far it's hard to get to them in time to shoot them. I just did something similar in my current game, bombs away, check that thread for Random Terrain's suggestion on randomizing the falling bombs, you could do the same thing if you want to.

 

It's a good start, keep going! icon_smile.gif

 

Steve

Edited by Atarius Maximus
Link to comment
Share on other sites

Ok, hopefully fixed the scanline issue and added some different pathing for the different ships. Made the game a little harder. Let me know what you guys think.

 

Cliff

 

BIN File

StarfighterV1_03.bin

 

BAS file

default.bas

 

Looking good, Cliff. I like the sounds, I've never been very good at that. Your joywait routine is still causing problems with scanlines, they go through the roof on your title screen and after a colliision is detected and you have to press the fire button to continue. I'd change it to put in a slight delay before you're allowed to press the fire button. Something similar to x=x+1 | if x>100 then x=101 | if x=101 && joy0fire then <continue>. Hit ALT+L in stella and you can see the scanline issue.

 

I'd also consider narrowing down the X values of the enemies coming down the screen, they get spread out so far it's hard to get to them in time to shoot them. I just did something similar in my current game, bombs away, check that thread for Random Terrain's suggestion on randomizing the falling bombs, you could do the same thing if you want to.

 

It's a good start, keep going! icon_smile.gif

 

Steve

 

Steve,

 

Thanks for the help. I definitely need to rewrite how I am doing that. I am thinking of putting the whole thing into the joywait routine as you said and then pulling the timers out of the other code. Think that will work a lot better.

 

As for the X values, I have thought about narrowing them down at some point and maybe even tie it to a scrolling playfield so that running into it would kill you (or them). If I did that, I could narrow the X values, but do it in a way that makes sense. I hope to add that soon.

 

On another note, have you had any issues with upping the amount of space you use for your project? Just asking as I am getting near 1k left with what I have now. Thanks.

 

Cliff

Link to comment
Share on other sites

Ok, hopefully fixed the scanline issue and added some different pathing for the different ships. Made the game a little harder. Let me know what you guys think.

 

Cliff

 

BIN File

StarfighterV1_03.bin

 

BAS file

default.bas

 

Looking good, Cliff. I like the sounds, I've never been very good at that. Your joywait routine is still causing problems with scanlines, they go through the roof on your title screen and after a colliision is detected and you have to press the fire button to continue. I'd change it to put in a slight delay before you're allowed to press the fire button. Something similar to x=x+1 | if x>100 then x=101 | if x=101 && joy0fire then <continue>. Hit ALT+L in stella and you can see the scanline issue.

 

I'd also consider narrowing down the X values of the enemies coming down the screen, they get spread out so far it's hard to get to them in time to shoot them. I just did something similar in my current game, bombs away, check that thread for Random Terrain's suggestion on randomizing the falling bombs, you could do the same thing if you want to.

 

It's a good start, keep going! icon_smile.gif

 

Steve

 

Steve,

 

Thanks for the help. I definitely need to rewrite how I am doing that. I am thinking of putting the whole thing into the joywait routine as you said and then pulling the timers out of the other code. Think that will work a lot better.

 

As for the X values, I have thought about narrowing them down at some point and maybe even tie it to a scrolling playfield so that running into it would kill you (or them). If I did that, I could narrow the X values, but do it in a way that makes sense. I hope to add that soon.

 

On another note, have you had any issues with upping the amount of space you use for your project? Just asking as I am getting near 1k left with what I have now. Thanks.

 

Cliff

 

Hi Cliff,

 

You have to use bankswitching to get more than 4K of space. I just wrote a quick demo program on how to do that and put it in the pinned Code snippets thread, it's pretty easy to implement. I started out with a 16K ROM on bombs away as I knew I'd use most of it before I even started - I tend to write pretty bloated code. :)

 

Steve

Link to comment
Share on other sites

Ok, hopefully fixed the scanline issue and added some different pathing for the different ships. Made the game a little harder. Let me know what you guys think.

 

Cliff

 

BIN File

StarfighterV1_03.bin

 

BAS file

default.bas

 

Looking good, Cliff. I like the sounds, I've never been very good at that. Your joywait routine is still causing problems with scanlines, they go through the roof on your title screen and after a colliision is detected and you have to press the fire button to continue. I'd change it to put in a slight delay before you're allowed to press the fire button. Something similar to x=x+1 | if x>100 then x=101 | if x=101 && joy0fire then <continue>. Hit ALT+L in stella and you can see the scanline issue.

 

I'd also consider narrowing down the X values of the enemies coming down the screen, they get spread out so far it's hard to get to them in time to shoot them. I just did something similar in my current game, bombs away, check that thread for Random Terrain's suggestion on randomizing the falling bombs, you could do the same thing if you want to.

 

It's a good start, keep going! icon_smile.gif

 

Steve

 

Steve,

 

Thanks for the help. I definitely need to rewrite how I am doing that. I am thinking of putting the whole thing into the joywait routine as you said and then pulling the timers out of the other code. Think that will work a lot better.

 

As for the X values, I have thought about narrowing them down at some point and maybe even tie it to a scrolling playfield so that running into it would kill you (or them). If I did that, I could narrow the X values, but do it in a way that makes sense. I hope to add that soon.

 

On another note, have you had any issues with upping the amount of space you use for your project? Just asking as I am getting near 1k left with what I have now. Thanks.

 

Cliff

 

Hi Cliff,

 

You have to use bankswitching to get more than 4K of space. I just wrote a quick demo program on how to do that and put it in the pinned Code snippets thread, it's pretty easy to implement. I started out with a 16K ROM on bombs away as I knew I'd use most of it before I even started - I tend to write pretty bloated code. :)

 

Steve

 

I will have to check it out. Thanks.

 

Cliff

Link to comment
Share on other sites

Ok. Think I have the scanline issue fixed correctly now and have fixed some issues with the titlescreen (ship was in the playfield) and when you died (ship wrong color). Want to add some sound to ships, narrow the area where ships start (so you can go from one to the other easier), and maybe build some level screens. Basically whatever I can get in 4k before I move on to either a rewrite for bankswitching or a new bankswitching game. Here is the new version. Try it out and let me know if you see any problems. Thanks.

 

Cliff

 

BIN File

StarfighterV1_04.bin

 

BAS File

default.bas

Link to comment
Share on other sites

Right now, without some kind of AI to make the ship dance around a little, it kind of feels like standing in traffic, shooting at oncoming cars. Do you think you have enough space left for some AI?

 

For all the levels or just the first one? After level one, the stuff should start moving around, coming at you, etc. I may put something back in level 1 too to have the transports try to avoid you. Also I want to narrow the starting points down so you aren't just running around crazy. Hopefully that will improve it somewhat. Also, I could maybe do some multiple pathing or something like that to mix it up more.

 

Cliff

Link to comment
Share on other sites

Yep, level 1 is what I was talking about.

 

Try this one out and tell me what you think. I have the ships jitter left and right now as they come down in the first round. You wouldn't think that a move 1 or 2 left or right would make the game that much tougher, but it is quite challenging now.

 

Also added some other stuff:

I built a level 5 ship called the Battleship that not only shoots cannons but a fireball too! To kill him, you have to hit him 5 times. The game will end after you beat him (for now).

 

I kept the ships from generating at the ends of the screen so the ship can traverse to get them if they are on the other side of the screen.

 

I shortened level 1 and 2. A score of 1500 will get you to level 2, and 3500 to level three. From there you have to score 6000 to get to level 4, then 7500 to meet the boss. Below is a list of enemies.

 

Level 1: Transports

Level 2: Drones

Level 3: Fighters

Level 4: Missile Storm

Level 5: Battleship

 

Try it out and see if you like the game better. I still got 500 odd bytes left, so I am going to try to cram in a little more if I can.

 

Cliff

 

BIN File

StarfighterV1_06.bin

 

BAS File

default.bas

Link to comment
Share on other sites

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