Jump to content
IGNORED

My Homebrew Game called Earth Invaders


disjaukifa

Recommended Posts

Hey Guys,

 

I am working on a Galaxian/Space Invaders game which I am hoping to improve on some aspects of both games. I thought I would start a thread to kind of show my work in progress. First let me say I am VERY new to Atari 2600 programming and Batari Basic. Also I am a Mac user, so I am not able to use a lot of neat tools that seem to be available for windows which is fine by me. I am working almost purely in terminal with vim as my editor.

 

I have attached what I have so far. I am trying to figure out how feasible it will be to program my ship to fire two missiles at the same time, I think it will be easily done with missile0 and missile1 but I am not to that stage yet. I literally just got the first missile to fire correctly (Took me the better part of the last 3 hours . . . stupid || instead of && ) I'm really happy with what I have so far, I have a lot to add to get this game finished, but I am enjoying almost every minute of it.

 

I have attached the binary!!! I know this is not much but for 4 hours of work in a language and system I have never programmed for before I am very pleased with what I have accomplished!!!! Seeing as its almost 3am I am going to log off. Tomorrow I am going to list my goals/objectives I want to complete in this game!!!

 

Thanks guys

Disjaukifa

earth_invaders.bin

Link to comment
Share on other sites

Don't forget to include screenshots as you go along. Some of us don't develop for your platform of choice but still like to see what your game looks like.

 

Thanks for that info, I didn't think of adding screen shots Here are some screenshots. Again this is the very basic, I haven't gotten a a lot done, and this is my first game in basic.

 

Screen%20shot%202009-09-19%20at%201.20.27%20PM.pngScreen%20shot%202009-09-19%20at%201.20.49%20PM.png

 

-Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Ok,

 

This post to going to attempt to list out all my goals and objectives I want to complete for me to consider Earth Invaders to be finished. I know that it might be possible to make all the objectives but its good to have a list to start with. Even with the little work I have done has been somewhat aggravating mostly because I didn't have a focus list of goals so I was just programming wildly which is good for some and bad for other. For me its the later. Ok here is the list. More than likely this list will be revised several times:

 

  1. Title Screen
    • Add Title Screen Image
    • Add Title Screen Sound

[*]Player's Ship

  • Design Ship (Possibly Done)
  • Animate Ship
  • Add Movement (Done)
  • Add Defense Status
  • Add Player Lives
  • Add Weapons (Possibly Done)
  • Add Sounds

[*]Weapons

  • Implement Missiles (Work in Progress)
  • Set Missile Speed (Work in Progress)
  • Set Missile Color (Done)
  • Set Missile Height (Done)
  • Set Missile Damage (Work in Progress)

[*]Enemy Vessels

  • Design Enemy Ships (Work in Progress)
  • Animate Enemy Ships (Work in Progress)
  • Add Movement (Work in Progress)
  • Add Weapons
  • Add Sounds

[*]Collision

  • Detect Missile Collision with Enemy Vessel (Work in Progress)
  • Detect Collision with Player's Ship
  • Detect Collision of Enemy's and Player's Vessels
  • Add Collision Sounds

[*]Scoring

  • Determine scoring values (Work in Progress)
  • Add scoring upon collision to enemy vessel (Work in Progress)
  • Add life depending on Enemy Vessels Destroyed
  • Subtract score to regain lost life

[*]Levels

  • Design Arrangment of Enemy Vessels

[*]Atari Switch Controls

  • Add TV Type Functionality
  • Add Left Player Difficulty Functionality
  • Add Game Select Functionality
  • Add Game Reset Functionality (Possibly Done)

 

As I work on items on this list I will mark them as (Done), (Possibly Done), and (Work in Progress).

 

Well that is everything I can think of for the moment, I am sure this list will be revised however I think that is a good start, if anyone has ideas for the list please let me know!!!! Well back to the programming!!! I'll keep ya'll updated!!!

 

Thanks

Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Hey,

 

Well I have made some progress this afternoon. I am happy to say that I have made major headway with the firing of the missiles. Here are some screen shots:

 

Screen%20shot%202009-09-19%20at%204.18.55%20PM.pngScreen%20shot%202009-09-19%20at%204.18.57%20PM.png

 

Screen%20shot%202009-09-19%20at%204.18.58%20PM.png

 

The ship is going to constantly cyclin between 3 canons in Earth Invaders starting with the center canon, then the left wing canon, and then to the right wing engine and the cycles starts all over again. I have attached the binary as well below:

 

earth_invaders.bin

 

I also fixed a minor error/glitch that was happening with the missile in the first binary I had posted.

 

I hope to have a title screen for my next post . . . not the final title screen but a working title screen.

 

Let me know what you think. I hoping to have enemy ships by much later tonight/tomorrow.

 

EDIT: If anyone know a good tutorial on where I can find information about making enemy ships and posting them the screen that would be very helpful!!!! The only thing I can think of is using player1 but I can only put one of them on the screen at a time.

 

Thanks

Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Personally I'd concentrate on getting the game going before adding title screens and the like. Things like that take up space that you may need later for tweaking the game play.

 

Thanks for the suggestion, I think I will do that then, I'm trying to figure out how to make enemy ships, but I have yet to find a good tutorial that gives good examples . . . I would love to figure out today how to make enemy ships, place them on the screen and setup collision defection with the missile so that they would explode!!!! But being so new at this language not completely sure what I am doing :sad: .

 

Thanks for the suggestion, I think I am going to just focus on the rest of the game first!

 

-Disjaukifa

Link to comment
Share on other sites

You probably want to read up on using the NUSIZ0/NUSIZ1 registers for player sizes and multiple copies to have more enemies on screen at the same time.

 

Hey thanks for the suggestions!!! I am going to start reading about NUSIZ0/NUSIZ1 registers!!! Also because of your earlier suggestion I have revised my list, the first list is still valid but this list needs to be completed first before I revert to the list above:

 

  1. Player's Ship
    • Design Ship (Possibly Done)
    • Add Movement (Done)
    • Add Defense Status
    • Add Player Lives
    • Add Weapons (Possibly Done)

[*]Weapons

  • Implement Missiles (Work in Progress)
  • Set Missile Speed (Work in Progress)
  • Set Missile Color (Done)
  • Set Missile Height (Done)
  • Set Missile Damage (Work in Progress)

[*]Enemy Vessels

  • Design Enemy Ships (Work in Progress)
  • Add Movement (Work in Progress)
  • Add Weapons

[*]Collision

  • Detect Missile Collision with Enemy Vessel (Work in Progress)
  • Detect Collision with Player's Ship
  • Detect Collision of Enemy's and Player's Vessels

[*]Scoring

  • Determine scoring values
  • Add scoring upon collision to enemy vessel (Work in Progress)

[*]Levels

  • Design Arrangment of Enemy Vessels

 

AHHHHH ok, well back to reading batari Basic Commands this site has been become my bible for so far for Atari 2600 programming.

 

Thanks

Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Hey,

 

Well its been about 7 hours since me last update and here is what I have been able to get in the last 7 hours . . . which I have to admit is not much, but I have spent most of the last 4ish hours playing games and taking a break, started to get a headache and had to walk away. However I am happy with what I have done in the last hour. I now have one enemy ship on the screen and I have collision detection working and the scoring now also goes up.

 

Turns out I could have saved myself a lot of time, debugging, and frustration if I had only left the missile to fire from one position but I am going to keep my cycling system and I think it is a fun and neat idea. Here are some screenshots of what has been done:

 

Screen%20shot%202009-09-20%20at%201.41.23%20AM.pngScreen%20shot%202009-09-20%20at%201.41.27%20AM.png

Screen%20shot%202009-09-20%20at%201.41.30%20AM.pngScreen%20shot%202009-09-20%20at%201.41.30%20AM%201.png

 

The score goes up a 100 points with each hit. Also I have attached the bin that you can play with in Stella.

 

My other concern as of now is I think I am going to have to upgrade this to either an 8K or possible 16K game . . . I really don't think I will need to go to 32K but you never know. I was hoping to avoid using banks on my first game, but adding the cycling canons has taken up a lot of space.

 

I am going to mess with the compiler setting tomorrow and some other ideas to see if I can reduce the size of the code. I am compiling the code now and it says I only have 2167 bytes left which I know is under 2K, and I have don't even have all the ships yet, levels, etc.

 

ANYWAYS let me know what you think, I not sure how long it will take me to develop this game, I thought it might only take a week or two but now I see it taking more around a month depending on my schedule and everything.

 

Thanks for the support!!!

-Disjaukifa

 

PS I have updated both list on what I have finished so far.

earth_invaders.bin

Edited by disjaukifa
Link to comment
Share on other sites

Unless this game is going to be HUGE, you should be fine at 4k. 2k is already taken up by the bb kernal, but the remaining 2k is usually plenty to work with.

 

AHHH ok see I didn't know that :!: That is really good to know, I wasn't planning on this game getting really massive, however I do want it to be a complete game meaning I want it to have decent animation, sound, graphics and game play, I don't want to make game that is all hyped up and then turns out to be nothing :x .

 

I could see this game taking 8K if just for the sound and animation that I have in my head, also I can see it for the final battle which I'm having a interesting idea for, but I'm not quite sure how its going to work yet or if its even possible (Yes I know the saying anything is possible, but the question isn't wether its possible, but wether I have the time, skill and patience to do it :P )

 

Honestly my goal is to make this game good enough to publish on a cartridge via the AtariAge Store once it comes back online :cool: . It has always been one of my dreams to design, code, and release a video game. I always thought it would be neat to say "Yeah I published a video game." Just one of the weird goals in my life.

 

Thanks again for all the tips and support, helps me to go back to vim and to continue coding!!!!

 

Thanks

Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Good Animation icon_thumbsup.gif

Is Good Start!icon_mrgreen.gif

 

Yup that is my thought as well. I have to admit, I want to get the rest of the game working first, animation, sound, and colors are going to be the last on my list because at that point I consider that just fine tuning and clean up of what you already have, the base game is ready to go.

 

Other might argue otherwise, and there are valid points to both approaches but I like doing that kind of stuff last. However with the animation I might have to do it sooner, as I have a neat idea one what I am going to do with it :cool:. I'll put an update on tomorrow so that ya'll can see how Earth Invaders is coming along!!!

 

Thanks for all the help and support!!!

Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

Hey Guys,

 

I thought I would give you an update on what I have. I'm also going to ask you which you think is better. However lets get to the what has been worked on!

 

I now have my one enemy ship moving on the screen at about 1/3 the speed of the players ship, I also have damage being shown if you hit the enemy. Here are some screen shots:

 

Screen%20shot%202009-09-20%20at%202.05.10%20PM.pngScreen%20shot%202009-09-20%20at%202.05.10%20PM%201.png

 

Screen%20shot%202009-09-20%20at%202.06.24%20PM.pngScreen%20shot%202009-09-20%20at%202.06.24%20PM%201.png

 

Really thats it . . . I thought it was more but its not.

 

Now its your turn to help me decide what I should do. With this post I have attached 2 different bin files. One is with the cycling canons and the other is just a single center canon.

 

The bin with the cycling canon has 1976 bytes left after I compile the code where as the single canon as 2336 bytes left.

 

I like the cycling canons, I think its neat and it presents both an advantage and challenge to the player. However that being said it takes up an addition 400bytes of information which when you only have 4K to deal with is significant.

 

Let me know what ya'll think. I am also doing research at the moment into using the multisprite kernel which will solve several problems, however I am having issues with it at the moment. I will post an update once I have more working!!!

 

Thanks

Disjaukifa

earth_invaders.bin

earth_invaders_1canon.bin

Edited by disjaukifa
Link to comment
Share on other sites

Hey,

 

Well it might only look like I have add colors and a like animation to the one enemy ship, in reality I have now got my homebrew working with the multisprite kernel, and messed with the enemy ship falling after being destroyed. Decided to make it so the enemy ship can't fall in this game, I sure I could get it to work but I might just save that for Earth Invaders 2 :D

 

Ok to the good stuff. Here are some screen shots and as always the bin has been attached.

 

Screen%20shot%202009-09-20%20at%207.00.29%20PM.pngScreen%20shot%202009-09-20%20at%207.00.44%20PM.png

 

Screen%20shot%202009-09-20%20at%207.00.56%20PM.pngScreen%20shot%202009-09-20%20at%207.00.57%20PM.png

 

Screen%20shot%202009-09-20%20at%207.05.18%20PM.png

 

I will not post another update till I have the other 4 enemy ships designed/animated/programmed so the next update will be a while. I am also going to attempt to re-arrange my program with goto statement so that I can reduce the amount of redundant code that will happen when implementing the other 5 sprites and flicker. I don't want to use too much flicker but if I can do it and its not noticeable I will.

 

Let me know what you think!!!

 

PS: Please let me know if you think I should keep the cycling canon!!!! As of now I think I am going to keep it but I would still like get feedback from ya'll!!!

 

Thanks

Disjaukifa

earth_invaders.bas.bin

Edited by disjaukifa
Link to comment
Share on other sites

I think the center fire cannon is fine unless you want to have 3 shots at a time coming out of the base ship. That would be some heavy duty firepower.

 

I was trying find a way to do that, however I haven't, I know I could mess with NUZIS but I haven't gotten around to you yet. Right now I have missile0 cycling positions three positions. I am still thinking about making just the center canon, it would reduce the amount of code significantly. I haven't decided what I am going to do yet.

 

Right now I need to go through the code and add goto statements, essentially making methods in OO programming, so once I get around to making to making the other enemy ships and possible flickering them, having all the goto statement setup will make the rest of the programming much simpler .

 

Let me know what you think about the latest bin!!!

 

Thanks

Disjaukifa

Link to comment
Share on other sites

If you could rapid fire it that would be really cool. I don't know if it's even possible though.

 

This is going to sound so stupid . . . but what is rapid fire? Reason I ask is people have different definitions for it so I don't want to guess which one you mean.

 

-Disjaukifa

Link to comment
Share on other sites

I just meant being able to fire three shots in quick succession, one from each gun.

 

Edit: You might be able to do that by using missile0, missile1, and the ball.

 

That is an interesting idea, I hadn't thought about yet . . . I am trying to make subroutines for everything I have done, and I am having major difficulties with my Missile Fire, whenever I try making it a subroutine, everything just goes to (#*$*(&$ missile wise, and I have no idea why . . . I just finally reverted it as I am tired of it.

 

-Disjaukifa

Link to comment
Share on other sites

I'm made two games in batari Basic and I have yet to fire a missile. I guess I'm just non-violent. :D

 

Hey I'm not violent, I just like to see stuff blow up :roll: .

 

I'm actually thinking about scraping most of my code I have up till now and starting over with trying to get everything to work with subroutines, I really made a monumental mistake be trying to program everything in the main program loop and it is now haunting me. I have made back ups of my code every single time I got something major finished, and I just backed what I have done now.

 

I think tomorrow I will scrap everything except my player ships and my enemy ships and rewrite the rest. I really think I have made the code way to complex, I am connivence that it can be done simpler.

 

I'll keep ya'll posted!!!

 

-Disjauifa

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