Jump to content
jrok

Armageddon Complex

Recommended Posts

Thanks for your feedback and ideas Piggles.

 

Thank you Jrok for explaining the inventory.

 

As for gameplay, will the blaster have limited shots? Will you perhaps have to find ammo clips or power cells for it?

 

Yep. I just implemented this. I tossed out the animated lives module and just went with the native pfscore. The blaster and several other items in the game are limited-use items and are being tracked by the right status bar, which will change based on the current item and its stock of energy/ammo. Player shield strength will be tracked by the left status bar.

 

Since the story occurs on a space station, perhaps a level might have the lights sabotaged by the aliens, so you don't see them until they're almost on top of you. Either you need to reconnect the lights or get an Infrared goggles so you can see them. If you want to set the mood, you could have a few rooms with flickering lights and others just plain dark.

 

That's a pretty neat idea. Awhile back I came up with a program that simlulated proximity to a light source, with the player and enemy sprites increasing their luminance as they neared a light source, and decreasing when they moved away. I never posted the binary, but I've been thinking about revisiting it for this game.

 

Setting the mood seems to be your strong point. I got sucked into your early demo with the side view and the teleporters. Your color choices for the playfield and the attention to paid to alien graphics and how they move captures the imagination and immerses the player in the world of the game.

 

Thanks!

 

If you want the player to find objects, how do you think you'll display them? Will they appear after the enemies are dead (like Cave-in)? Or perhaps an enemy might lurk in one side of a screen, but the item is in the other, and you can display one or the other depending on were the player is on the screen.

 

I'm trying to write a proper design doc for this game, and that's the bit I'm working on right now. Thanks in part to the generous SARA, I'll have four 30hz virtual sprites to work in core gameplay.

 

- Sprite1 is a 60 or 30hz P0 reserved for the player character

- Sprite2 is a 30hz P1 reserved for one of the following:

*A Primary Enemy in the room (if any is present)

*An Interactive device (i.e. a computer terminal, a power station, your getaway ship, etc)

*An Item left behind by a dead enemy

- Sprite3 is a 30hz P1 reserved for one of the following:

*A Secondary Enemy in the room

*An Item, Projectile or Effect in conjunction with Sprite2

*An Item left behind by a dead enemy

- Sprite4 is a 30hz P0 reserved for an Item, Projectile or Effect in conjunction with Sprite1 (i.e. the slashing sword)

 

As it stands, Sprite1 doesn't flicker unless you are using the sword (Sprite4), when it does so at 30hz, although I may change this, since some people prefer constant 30hz flicker to variable amounts of flicker. For picking up, dropping and exchanging inventory items, I am thinking of avoiding the whole process of trying to involve them in onscreen object update, and going with a "locker" system. There will be lockers scattered throughout the complex, likely represented by a Sprite2 or by some combination of the ball and playfield pixels. When standing on one of these devices, you will be able to exchange items in your inventory for items in the locker using the right joystick. I'm going to include this in my next update to see how well players think it works and maybe get some feedback on how it might be improved.

 

*EDIT: Only a Primary Enemy can drop an item. These would be persistant enemies (like "Mutant X") whose world position is tracked. The item the enemy is carrying would basically function like another frame in their spritesheet, activated when their death-flag is set. Since a Primary enemy's world position is tracked, the item would appear in the room they were killed in, and would function the same way that a locker does (i.e. when standing on it, you could use the right joystick to exchange it for one in your possession.)

 

Cheers,

Jarod.

Edited by jrok

Share this post


Link to post
Share on other sites

Okay, this is a pretty big update. Essentially I've introduced many new mechanics, and have crafted a "mini-level" that I am going to use as the base for testing all gameplay mechanics from here on out.

 

The goal of this mini-level is simply to locate a Chalice.

 

I've updated the instructions a bit below, but without going into to much detail here are the major changes/additions:

 

Puzzling: Throughout the station are computer terminals that control various obstacles you need to bypass. There are clues hidden in the environments in and around each obstacle, so you have to pay attention in order to solve the code. You can access one of these terminals by standing on it and pressing the left fire button. The screen changes to a "1st person" view of the computer monitor. The interface is composed of 9 buttons in three different colors and a white "enter" button. You can move the cursor beside the various buttons using the left joystick, and select a button by pressing the fire button, adding that button to your code string. When you think you've entered the full code, select the white enter-button and press the fire button. You will be then returned to "3rd person" Adventuring Mode, and a sound will indicate whether the code was correct or incorrect. If correct, the computer will perform the desired action (i.e. lowering a force field, disarming a turret, etc)

 

Enemy AI: I've removed "The Mutant" for now, so you'll only be fighting robots. Revised collision detetion and steering. Added a projectile weapon using the ball object. Robot randomly appears when a new room is drawn

 

Item Pickup: This is still a little inflexible and needs to be worked on. When you see an object in a room, postition the hero on top of it and press the fire button to pick it up. It will appear in the third slot in your inventory and will automatically be armed. Certain items (like the gun) have a limited number of uses.

 

Death: Each time a robot shoots you, you will lose a shield. When you have lost all your shields, Young Skywalker, "You will die." :)

 

I am REALLY curious how difficult you guys think the puzzle(s) are in this build. I want to make puzzling part of the core gameplay, with the puzzles getting progressively harder - and even deadlier - as you get closer to the game objective.

 

 

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):

Reset Switch Restart the game.

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 item, you can blow holes in interior walls and doors.

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

 

CONTROLS (Puzzling Mode):

Left Joystick - Move the 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:

Armageddon_Complex_v2.bas.bin

Edited by jrok

Share this post


Link to post
Share on other sites
You might want to check your scanlines. I used breakif {_scan>#262} to have Stella stop if there is a problem and it stops any time I leave a room.

 

I am aware of it and not too worried about it at this point in development. Actually there's probably no real way around it, since a new room has to be drawn and initialized. Luckily nothing is being updated on the screen at those times, so it might just pass unnoticed. I'm more concerned with certain in game events (or combinations of events) that are taking a little long to execute, but I will deal with that when I'm ready to start optimizing.

 

Thanks for the report.

Jarod.

Edited by jrok

Share this post


Link to post
Share on other sites

There might be something you can do about it:

 

http://www.atariage.com/forums/index.php?s...t&p=1604198

 

You can create part of the screen, drawscreen, create the next part, drawscreen, create the next part, drawscreen . . .

 

Although it's early, if you can, now might be the time to do it, so you can use the technique for all future rooms and not have to go back and redo it all.

Share this post


Link to post
Share on other sites
There might be something you can do about it:

 

http://www.atariage.com/forums/index.php?s...t&p=1604198

 

You can create part of the screen, drawscreen, create the next part, drawscreen, create the next part, drawscreen . . .

 

Although it's early, if you can, now might be the time to do it, so you can use the technique for all future rooms and not have to go back and redo it all.

 

Thanks for the tip. The other thing I was thinking of was just putting the display to sleep for a second or two between screens, so that any roll or jitter would occur on a blank display. I'm using playfield definitions to draw the playfield, so I'm not sure how I can draw portions of the screen, unless I maybe I stored the playfield in RAM. I don't see a method described in that thread link. Did you have something in mind, or that works for you?

 

Thanks again,

Jarod.

Share this post


Link to post
Share on other sites
I'm using playfield definitions to draw the playfield, so I'm not sure how I can draw portions of the screen, unless I maybe I stored the playfield in RAM. I don't see a method described in that thread link. Did you have something in mind, or that works for you?

That random maze is created using pfhline. I do a certain number of pfhlines until a drawscreen is needed, then do some more until another drawscreen is needed and so on until the maze is done.

 

If you can create your rooms with pfhline/pfvline or pfpixel with data (whatever uses the least amount of code), you can insert a drawscreen when needed and the scanline problem should be fixed.

Share this post


Link to post
Share on other sites
Posted (edited)

We'll be featuring Armageddon Complex LIVE on tomorrow's (Sunday) ZeroPage Homebrew stream on Twitch at 12PM PT | 3PM ET | 8PM GMT! Hope everyone can watch!

 

Twitch Stream: https://www.twitch.tv/zeropagehomebrew/


Games:

 

 (SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

 

Edited by ZeroPage Homebrew

Share this post


Link to post
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.

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