AtariAge Forums: Armageddon Complex - AtariAge Forums

Jump to content

  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Armageddon Complex

User is offline jrok Icon
Posted Sun Sep 21, 2008 6:53 PM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC
EDT: This game has changed completely since I first started working on it, so I've ammended my first post accordingly.

"Armageddon Complex" is a sci-fi action-adventure set on a massive space station that has been taken over by a marauding band of alien terrorists. The aliens are trying to gain access to the station's "Inifinity Collider" - a doomsday device deployed by the Earth's governments as the ultimate peacekeeper. You are humanity's last hope. You must locate and activate the station's auto-destruct system and, if possible escape before the Complex explodes. Along the way, you may also accomplish additional objective that will increase your final ranking.

HUD:
At the bottom of the screen, the score area displays your current inventory and shield strength. You can hold up to three items in your inventory at a time, and can have a maximum of up to three shields.

CONTROLS (Adenturing Mode):
Left Joystick - Move hero in 8 directions
Left Fire Button - Activate a computer terminal or Aim/Use the active item in your inventory, as follows:
  • Laser Sword - While holding the button down, tap the Left Joystick left or right to slash in that direction.
  • Gun - Move the Left Joystick in one of 8 directions to aim the gun that way. Release the Fire Button to shoot.
  • Bomb - If you can find this, you can blow holes in interior walls.

RightJoystick - Tap left or right to change your active Inventory item.

CONTROLS (Puzzling Mode):
Left Joystick - Move move cursor in four directions
Left Fire Button - Press a colored button (or submit the code by selecting the Enter key at the bottom of the monitor.

ENEMIES & OBSTACLES (only two at the moment):
Killer Robot: Garden variety evil robot. They turn up randomly in rooms that you enter, and can be dispatched with a single shot or a swing of your sword.
Mutant X: This is a persistent character that will serve much of the function that the Dragons did in Adventure, relentlessly pursuing you around the complex. You can mangle him with a sword strike or a bullet, but after a few seconds he will re-constitute himself and continue hunting you down.
Computer Terminal: A security computer linked in to the Armageddon Complex security network. Can be used to disable Force Fields or trigger other events.
Force Field: A barrier which must be disabled by entering the proper code in a computer terminal.

Cheers,
Jarod.

Latest Version:
Attached File  Armageddon_Complex_v2.bas.bin (32K)
Number of downloads: 63

This post has been edited by jrok: Wed Apr 1, 2009 5:24 PM

0

User is online atari2600land Icon
Posted Sun Sep 21, 2008 11:30 PM

    • Odyssey x6


  • Icon
  • River Patroller
  • PM this member
  • View blog
  • Posts: 4,835
  • Joined: 26-May 06
  • Location: Salem, Oregon
Wow! Nice work so far! :thumbsup:
0

User is offline nonner242 Icon
Posted Mon Sep 22, 2008 1:21 AM

    • ALL your base ALL belong to us!!!!!!!!!!!!!!


  • Icon
  • River Patroller
  • PM this member
  • View gallery
  • Posts: 2,949
  • Joined: 04-March 05
  • Location: On a Ohio rooftop...Sniping
Looks GREAT so far!
0

User is online Random Terrain Icon
Posted Mon Sep 22, 2008 1:31 AM

    • Controlled Randomness

      Replay Value

      Nonlinear


  • Icon
  • Visual batari Basic User
  • PM this member
  • View blog
  • View gallery
  • Posts: 17,524
  • Joined: 23-April 01
  • Location: North Carolina (USA)
Looking nice so far. Can you make the guy walk faster? Speaking of needing as many variables as you can get, have you seen the following post about using one variable as two when you don't need to go over 15:

http://www.atariage....s...t&p=1571406

Between that and bit operations, we can squeeze in a lot of variables.
0

User is offline Snider-man Icon
Posted Mon Sep 22, 2008 6:37 AM

    • Doofenshmirtz Evil Incorporated


  • Icon
  • Stargunner
  • PM this member
  • Posts: 1,987
  • Joined: 10-July 01
Haven't had a chance to check it out yet, but the title alone is one of the cooler ones I've seen.
0

User is offline jrok Icon
Posted Mon Sep 22, 2008 8:13 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostRandom Terrain, on Mon Sep 22, 2008 2:31 AM, said:

Looking nice so far. Can you make the guy walk faster?

Yeah that's a good point. I think 1 pixel is to slow, and 2 pixels is a little too fast. I think eventually I'll have to uses fractional speeds for everything here (which would be nice because then I could do friction too).

View PostRandom Terrain, on Mon Sep 22, 2008 2:31 AM, said:

Speaking of needing as many variables as you can get, have you seen the following post about using one variable as two when you don't need to go over 15:

http://www.atariage....s...t&p=1571406


Aha! No I missed that one somehow. It looks like a bit of reading, so I'll probably tuck into it tonight after work. Thanks very much for the tip... this would make my life much, much simpler!

What I'm also really in the market for is a good bB bankswitching tutorial... right now I'm cramming the entire game (sans title screen and sprite graphics) into a single bank. I'm working on slimming down the current demo code, but it it seems that even at its most optimized it's going to need about 3000 bytes to run, which doesn't leave much room for things like collisions, enemy behaviors, player inventory, etc. But of course, when I try to dump some functions into another bank, the program compiles into some insane Dada-esque nightmare. Do you know of any good bankswitch threads?
0

User is offline jrok Icon
Posted Mon Sep 22, 2008 8:14 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View Postatari2600land, on Mon Sep 22, 2008 12:30 AM, said:

Wow! Nice work so far! :thumbsup:


Thanks!
0

User is offline jrok Icon
Posted Mon Sep 22, 2008 8:15 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View Postnonner242, on Mon Sep 22, 2008 2:21 AM, said:

Looks GREAT so far!


Thanks, man!
0

User is offline jrok Icon
Posted Mon Sep 22, 2008 8:18 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostSnider-man, on Mon Sep 22, 2008 7:37 AM, said:

Haven't had a chance to check it out yet, but the title alone is one of the cooler ones I've seen.


Thanks man! Yeah, I tried to go for a sort of double-meaning thing there. "Armageddon Complex" is the name of the station, but I think it would also work as the mental neurosis of the game's main villain, General Gog, who has a nasty habit of blowing up planets.
0

User is online Random Terrain Icon
Posted Mon Sep 22, 2008 11:25 AM

    • Controlled Randomness

      Replay Value

      Nonlinear


  • Icon
  • Visual batari Basic User
  • PM this member
  • View blog
  • View gallery
  • Posts: 17,524
  • Joined: 23-April 01
  • Location: North Carolina (USA)

View Postjrok, on Mon Sep 22, 2008 9:13 AM, said:

Yeah that's a good point. I think 1 pixel is to slow, and 2 pixels is a little too fast. I think eventually I'll have to uses fractional speeds for everything here (which would be nice because then I could do friction too).

I tried fixed point variables (wasted an extra precious variable) in the latest Pac-Man-like program I was messing around with and then discovered that the following would do the same as the fixed point variables I was using:

  rem  *  3=fastest, pcount+2=medium speed, and pcount+1=slowest speed
  if joy0fire then pcount=3 : goto skippcount
  pcount=pcount+2
skippcount

  if pcount>2 then goto movep
movepdone


That saved a precious variable. (Since pcount never goes over 15, I could also turn it into two nybble variables and end up with an extra variable instead wasting two full variables doing the fixed point thing.) MausGames mentioned something not that many weeks ago that he simulated fixed point variables and what I did must be the same kind of thing he does.


View Postjrok, on Mon Sep 22, 2008 9:13 AM, said:

What I'm also really in the market for is a good bB bankswitching tutorial... right now I'm cramming the entire game (sans title screen and sprite graphics) into a single bank. I'm working on slimming down the current demo code, but it it seems that even at its most optimized it's going to need about 3000 bytes to run, which doesn't leave much room for things like collisions, enemy behaviors, player inventory, etc. But of course, when I try to dump some functions into another bank, the program compiles into some insane Dada-esque nightmare. Do you know of any good bankswitch threads?

I haven't moved up to bank switching yet, so I haven't added any extra info to the bank switching section of my version of the bB page. The following post by SeaGtGruff seems to explain a lot about bankswitching:

http://www.atariage....s...t&p=1456132

If that post helps you, please let me know which parts were helpful and I'll add the info to the bB pages since SeaGtGruff has said that I can use anything he posts.
0

User is offline yuppicide Icon
Posted Sun Sep 28, 2008 12:39 PM


  • Icon
  • I am the Black Knight. Give me your money!
  • PM this member
  • View blog
  • View gallery
  • Posts: 6,041
  • Joined: 02-December 04
  • Location: New Jersey
Just got a chance to check this out today. It's freakin great! That thing on the first stage looks like the Purple Tenticle (was it purple?) from the Maniac Mansion type games.
0

User is offline jrok Icon
Posted Wed Oct 1, 2008 7:29 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View Postyuppicide, on Sun Sep 28, 2008 2:39 PM, said:

Just got a chance to check this out today. It's freakin great! That thing on the first stage looks like the Purple Tenticle (was it purple?) from the Maniac Mansion type games.


Thanks man! LOL, I think there was actually a green one AND a purple one.
0

User is online Random Terrain Icon
Posted Wed Oct 1, 2008 7:34 AM

    • Controlled Randomness

      Replay Value

      Nonlinear


  • Icon
  • Visual batari Basic User
  • PM this member
  • View blog
  • View gallery
  • Posts: 17,524
  • Joined: 23-April 01
  • Location: North Carolina (USA)
What are you doing to get three multicolored characters on the screen where one doesn't flicker at all and the other two don't seem to flicker that much? That seems like a useful thing to know how to do.
0

User is offline jrok Icon
Posted Wed Oct 1, 2008 9:40 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostRandom Terrain, on Wed Oct 1, 2008 9:34 AM, said:

What are you doing to get three multicolored characters on the screen where one doesn't flicker at all and the other two don't seem to flicker that much? That seems like a useful thing to know how to do.


Well right now I'm just using the playercolors player1colors option in the standard kernel, and using 30hz flicker for player1 to draw the two enemies.

gameloop

fspeed = fspeed + 1
 if fspeed=6 then gameFrame=gameFrame + 1 : fspeed=0
 if gameFrame = 8 then gameFrame = 0

 temp1 = fspeed & 1
 
updateHero
 player0x=x :  player0y=y
 gosub Hero

updateObs
 gosub AssignObs

 if temp1 then updateSprite2

updateSprite1
 temp1 = gameFrame & 3
 gosub Sprite1
 goto DrawFrame

updateSprite2 
 gosub Sprite2

DrawFrame
 drawscreen

 goto gameloop


So in the above, I set up a framerate (fspeed) that cycles at an interval of 6, and a flicker rate (gameFrame) that cycles at an interval of 8 and then use temp1 to determine whether the current loop is even or odd to update the approriate sprite.

In the "Hero", "Sprite1" and "Sprite2" subroutines, I do all of the marlarkey to update their x, y, collisions, etc, and also include some animation subroutines for each. For example

Hero
if...goto HeroStand
if...goto HeroKneel
if...goto HeroLoop

Sprite1
if...goto MutantLoop
if...goto TentacleLoop
if...goto OffScreen


Then I made all of my sprites right now have 8 frames of animation, whether the shape was actually "animating" or not.

HeroLoop
 temp3 = gameFrame 
 on temp3 goto Hero0 Hero1 Hero2 Hero3 Hero4 Hero5 Hero6 Hero7

MutantLoop
 temp2 = gameFrame 
 on temp2 goto Mutant0 Mutant1 Mutant2 Mutant3 Mutant4 Mutant5 Mutant6 Mutant7

TentacleLoop
 temp2 = gameFrame 
 on temp2 goto Tentacle0 Tentacle1 Tentacle2 Tentacle3 Tentacle4 Tentacle5 Tentacle6 Tentacle7

OffScreen
 temp2 = gameFrame 
 on temp2 goto OffScreen0 OffScreen0 OffScreen0 OffScreen0 OffScreen0 OffScreen0 OffScreen0 OffScreen0


There are probably be better, cleaner ways to do this, but I found this has worked pretty good for me so far. At first I experimented with the bB multisprite kernel for awhile, but it seemed a little limited for what I wanted to do both visually and in terms of gameplay (though I think it would be great for a fast and furious two-player game).

Eventually I'll be flickering player0 as well, and probably do away with player colors and flicker a multicolor player sprite and up to one multicolor enemy or item, then use player1 to flicker two monotone enemies/items. The good news is that right now when I have the phospor turned up at 70 or above in x26 or Stella, there's absolutely no flicker at all, which is pretty neat to look at.

This post has been edited by jrok: Wed Oct 1, 2008 9:41 AM

0

User is offline Piggles Icon
Posted Wed Oct 1, 2008 9:47 AM


  • Icon
  • Space Invader
  • PM this member
  • View blog
  • Posts: 39
  • Joined: 29-May 06
Jrok this is fantastic! The demo was more fun than many games. It reminds me of Xenophobe, except that your game is fun.

What else do you plan the hero to do in this game? If you gave up missiles for the multi-color graphics, you still will have a ball. And since you seem to do flickering really well, that gives you two balls.... :D
0

User is offline Snider-man Icon
Posted Wed Oct 1, 2008 10:48 AM

    • Doofenshmirtz Evil Incorporated


  • Icon
  • Stargunner
  • PM this member
  • Posts: 1,987
  • Joined: 10-July 01

View PostPiggles, on Wed Oct 1, 2008 3:47 PM, said:

And since you seem to do flickering really well, that gives you two balls.... :D

Heh.
0

User is offline jrok Icon
Posted Wed Oct 1, 2008 11:35 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostPiggles, on Wed Oct 1, 2008 11:47 AM, said:

Jrok this is fantastic! The demo was more fun than many games. It reminds me of Xenophobe, except that your game is fun.

What else do you plan the hero to do in this game? If you gave up missiles for the multi-color graphics, you still will have a ball. And since you seem to do flickering really well, that gives you two balls.... :D


Thanks Piggles!

I'm working hard at a new version of this. When I reviewed my code I realized I was doing some things in a pretty boneheaded way. In the next build everything will move much faster, and I've implented gravity and a jump function for the hero.

In total, I am trying to have a maximum of 6 objects per room (platforms, walls, doors or transporters) drawn out of my data array. Also some transporter pads will (hopefully) not just take him up and down, but also sideways and room-to-room. The problem I'm trying to solve right now was that in the original, I was serializing the playfield objects individually, instead of doing them on the fly with one function (that's also what was making everything update soooo sloooooowwww).

As soon as I get that solved, I'll probably add a shoot function for the hero (using the ball). At that point, I'll likely be all out of ROM in my main game bank, and will need to learn bank-switching to proceed with development.

By the end, I hope to have the hero do the following:
- Draw and holster his laser pistol (to switch between jumping and shooting)
- Select items from an inventory screen and use them (keys, shields, gadgets, etc)
- Tuck and roll to dodge things while on the move
- Interact with non-enemy sprites and background objects when he stands on their active x,y position.
- Die!

It's a lot to jam in, but I guess the whole thrust of my experiment is, once I get my map array working the way I want, to write a little level editor in some other language to see if I can make designing this sort of game simpler.
0

User is online Random Terrain Icon
Posted Wed Oct 1, 2008 1:26 PM

    • Controlled Randomness

      Replay Value

      Nonlinear


  • Icon
  • Visual batari Basic User
  • PM this member
  • View blog
  • View gallery
  • Posts: 17,524
  • Joined: 23-April 01
  • Location: North Carolina (USA)

View Postjrok, on Wed Oct 1, 2008 10:40 AM, said:

There are probably be better, cleaner ways to do this, but I found this has worked pretty good for me so far. At first I experimented with the bB multisprite kernel for awhile, but it seemed a little limited for what I wanted to do both visually and in terms of gameplay (though I think it would be great for a fast and furious two-player game).

Eventually I'll be flickering player0 as well, and probably do away with player colors and flicker a multicolor player sprite and up to one multicolor enemy or item, then use player1 to flicker two monotone enemies/items. The good news is that right now when I have the phospor turned up at 70 or above in x26 or Stella, there's absolutely no flicker at all, which is pretty neat to look at.

Thanks. Before I saw the game you're working on, I tried to have more enemies on the screen using the standard kernel, but no matter what I tried, it flickered too much. I could stand the type of flicker that you're game has, though. It doesn't make me want to rip my eyeballs out. I'll do a test demo after I'm done with the new VbB page.


Thanks again.
0

User is offline jrok Icon
Posted Wed Oct 1, 2008 1:57 PM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostRandom Terrain, on Wed Oct 1, 2008 3:26 PM, said:

Thanks. Before I saw the game you're working on, I tried to have more enemies on the screen using the standard kernel, but no matter what I tried, it flickered too much. I could stand the type of flicker that you're game has, though. It doesn't make me want to rip my eyeballs out. I'll do a test demo after I'm done with the new VbB page.

Thanks again.


No problem. I plan on posting my BAS file for this as soon as I can get the next build done. As I was telling someone else it moves really slowly in the currently posted build because of the way I was testing collisions. It's much "peppier" with the way I'm doing things now, and a lot more flexible in terms of how the map data is structured. I also included gravity and a jump for the next build, so if I can get the map functions solid it might be the beginning of a halfway decent platform-game engine.
0

User is offline jrok Icon
Posted Fri Oct 3, 2008 6:12 PM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC
Okay, I have a heavily revised build. I go into a bit more depth about the changes on my blog, but here's the basic rundown:

  • Flickering four sprites at 30hz (no visible flicker with phospor in Stella or x26)
  • Generalized room drawing function to build objects from the data set no matter what order they are written in (which is key for building my level editor, as well as saving tons of ROM)
  • Limited the max number of room objects to 5 (whilst fishing for extra variables, of course!
  • Included semi-natural gravity and a "Jump" function for joyfire0, thanks to more awesome help from the amazing Mr. SeaGtGruff.
  • Monsters now recognized floors and walls, turning around if they bump a wall or reach the edge of a platform.
  • I took the teleporters out of this build so I could focus more on streamling my map drawing and flickering 4 sprites.


I optimized my code extensively, and this build moves much, much faster/smoother than my original newbie effort. However, I only have 33 bytes left in my game bank and I maxed out all my supercharger variables on this build, so for the next build I will definitely have to use extensive bit operations and *some* sort of bankswitching.

EDT: Whoops, wrong BIN. New one attached.

Attached File(s)


This post has been edited by jrok: Fri Oct 3, 2008 6:28 PM

0

User is online Random Terrain Icon
Posted Fri Oct 3, 2008 7:20 PM

    • Controlled Randomness

      Replay Value

      Nonlinear


  • Icon
  • Visual batari Basic User
  • PM this member
  • View blog
  • View gallery
  • Posts: 17,524
  • Joined: 23-April 01
  • Location: North Carolina (USA)
That's a better speed. I don't feel like I'm stuck in molasses anymore. I noticed how your character flickers on the first screen, even when there is only that red bad guy on the screen, but if you go to the second screen and two bad guys are on the screen with you, your character doesn't flicker at all. I wonder why?
0

User is offline Piggles Icon
Posted Fri Oct 10, 2008 11:12 AM


  • Icon
  • Space Invader
  • PM this member
  • View blog
  • Posts: 39
  • Joined: 29-May 06

View Postjrok, on Fri Oct 3, 2008 7:12 PM, said:

Okay, I have a heavily revised build. I go into a bit more depth about the changes on my blog, but here's the basic rundown:

  • Flickering four sprites at 30hz (no visible flicker with phospor in Stella or x26)
  • Generalized room drawing function to build objects from the data set no matter what order they are written in (which is key for building my level editor, as well as saving tons of ROM)
  • Limited the max number of room objects to 5 (whilst fishing for extra variables, of course!
  • Included semi-natural gravity and a "Jump" function for joyfire0, thanks to more awesome help from the amazing Mr. SeaGtGruff.
  • Monsters now recognized floors and walls, turning around if they bump a wall or reach the edge of a platform.
  • I took the teleporters out of this build so I could focus more on streamling my map drawing and flickering 4 sprites.


I optimized my code extensively, and this build moves much, much faster/smoother than my original newbie effort. However, I only have 33 bytes left in my game bank and I maxed out all my supercharger variables on this build, so for the next build I will definitely have to use extensive bit operations and *some* sort of bankswitching.

EDT: Whoops, wrong BIN. New one attached.


I notice when I press down and left, I turn into the red bouncy thing. Is that a feature or a bug?

I still think this is more fun than Xenophobe.
0

User is offline jrok Icon
Posted Mon Oct 13, 2008 10:29 AM


  • Icon
  • Dragonstomper
  • PM this member
  • View blog
  • Posts: 905
  • Joined: 27-August 08
  • Location: NYC

View PostPiggles, on Fri Oct 10, 2008 12:12 PM, said:

I notice when I press down and left, I turn into the red bouncy thing. Is that a feature or a bug?

I still think this is more fun than Xenophobe.


Heheh, yup that was a bug. Thanks, man, I think I squashed it now. I also added a few new things, including a Spaceship (for escaping the game, eventually). Check it out.

Attached File(s)


0

User is offline gambler172 Icon
Posted Mon Oct 13, 2008 1:07 PM

    • none


  • Icon
  • Stargunner
  • PM this member
  • Posts: 1,841
  • Joined: 04-April 04
  • Location: germany
Hi Jrok
This looks really great.Hope you can finish it.
greetings Walter
0

User is offline lucifershalo Icon
Posted Mon Oct 13, 2008 3:36 PM


  • Icon
  • Stargunner
  • PM this member
  • Posts: 1,606
  • Joined: 21-March 05
  • Location: Belgium
wow, it is simply amazing the animation of your characters (hero and monsters) are awesome
please please please
dont give up this project
0

  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic


1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users