Jump to content

Work in Progress: Sky Scraper 2115


Recommended Posts

And here are some previews of the madness to come ... some of the later levels that are insanely and deviously hard:




This room features very few footholds and is insanely difficult




Even less room to stand!




This level is devious too ... to access the blocks on the bottom that you must change, you must hop onto a teleport and hope it places you on the bottom




Now you can't even see the structure until you change it!!!




The blocks are randomly placed each time you restart the level




Completing this level requires using the coins as temporary landing platforms




In this one, the background looks almost exactly like the missile!!!




Lots of coins, traps, and madness.




You only have to complete one block, but it's invisible, and randomly placed.


Can't wait to see how these levels translate into the 7800 version!



  • Like 2
Link to comment
Share on other sites

A bit further progress:


* Missile tracking has now been fixed!

* Player explosion and death when the missile touches him. The missile explodes too

* Player explosion and death when walking over or flying into a trap. I will change this to an animation of the trap eating the player. :)

* Player explosion and death when player falls off the bottom

* Color cycle animation on blocks ... to give the impression that you are shutting off the power to the level when you walk over it.


Still to fix:


* There are issues with the player hovering at the top if he starts at an odd offset to the top row

* Make it so that objects at the top of the screen interfere with hovering and make the player fall

* There are still some issues with bounding behind the screen when the player falls

* If player flies into last block from below, level should not complete until he lands safely. If he dies, level completes when next life starts

* While player falls, missile cannot harm him (Mappy mode) ;)


I have added some more levels too.


Further on: Coin pickups, Teleport randomizing ... Adrenaline pills make your man invincible ... player also does teleport animation when respawning, as does missile


Way further on: Multiple enemies, multiple types of enemy, and the dreaded hoverbot. :)


Other thoughts:


Different graphics for all 39 planned levels will take up 5K. I wonder if I have enough room for this ...

I am thinking of making the scoring display only one line. This will recover a line for the playing area, and ensure better aspect ratios for converting the levels from my original game.




Edited by Synthpopalooza
  • Like 3
Link to comment
Share on other sites


Is the block I'm standing on supposed to be invisible?


The missile is invisible when it is on the same row as the player in MAME 1.83.


I seem to be warping to another level with no warning(not stepping on ? block) on a regular basis.


This is a quite enjoyable action puzzler so far. Good work. It'll be nice to see it on cart some day.

Link to comment
Share on other sites

As for the blocks being invisible, they shouldn't be. They are supposed to be the teleport blocks but they seem not to be showing up. Are the colors cycling on your system?



No. I updated my MAME to 0.185 and still no cycling.


I tried the game on Wii Prosystem to see what you are talking about. I do see the teleporters and the cycling bricks there.


Link to comment
Share on other sites

Looking at the code, I'm pretty sure MAME/A7800 is showing the right thing, as you're trying to read from write-only registers. Instead of this...



Do this...


  ; [earlier in the program]
  ; dim some shadow variables to use with our write-only color registers...
  dim P2C3s=var31
  dim P0C3s=var32
  dim P2C1s=var33


  ; [wherever you set the color registers, use the shadow variable instead of the actual register]
  P2C1=sread(colordata):rem block color medium
  P2C2=sread(colordata):rem trap color light
  P2C3s=sread(colordata):rem block color light


  ;[in your cycle code]
  ; we cycle the shadow-registers, since we can't actually read from P#C# registers
  mytemp1=P2C3s ; save P2C3s before wiping it

  ;[do this either at the end of your color-cycling code, or before your drawscreen]
  ; set registers to color-cycling shadow variables.
  • Like 1
Link to comment
Share on other sites

Just a heads up that you can use 160A with all of the blocks but get a unique palette for select ones if you:

  • assign default palette #s to tiles during incgraphic.
  • use the "tiled" editor to create the screen layout files.
  • use "plotmapfile" at the beginning of each new level to plot the map file.
plotmapfile will automatically break up the character map according to the default palette of tiles that have been used to create the map. Avoid anything close to alternating palettes every other tile though, as this will break up the character map into tiny pieces, and will eat into the number of possible objects that can be drawn in that DL.
Link to comment
Share on other sites

The idea I had was to draw the blocks in palette 0 as well as the teleports, traps in palette 1, coins and doors for palette 2, and adrenaline pills in palette 3. Palette 3 is also used for the colors the block will change to, after they are touched. The last 4 palettes will not be used in the characters, I am reserving them for the players andvenemies.

Link to comment
Share on other sites

Maria's DMA rendering happens in horizontal strips, aka zones. When you run out of DMA time in any one particular zone, easing up on the rendering for other zones at the top and bottom of the screen won't help.


You'll need to alleviate the DMA in the zones in which tiles, the player, and the missiles can simultaneously appear. This means throwing fewer bytes at Maria. To do that you either can either decrease the number of objects being rendered (tiles are the only real option in your case, since you need the player and missiles) or change the change the mode(s) being used to one that renders as many pixels using fewer bytes.

Link to comment
Share on other sites

The other question is: If I use different incgraphics for each palette ... then if I wanted to change only the block graphics for each level, could I use the same incgraphics on the other palettes that don't change, on all levels? This might actually save me some ROM space from using 160B like I have been doing.

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.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...