Cybernoid editor

1246

Comments

  • edited March 2007
    Slowly getting to grips with pickups. This will be well difficult. It will be easier if the key can be at graphic #E8 although I haven't checked what that one is.

    Um, the corruption after 1st screen is expected.
    Edit:
    @48K

    Ah, finally I understand what you meant with the lifts!

    Here's the table

    9030 F0
    9032 F1
    9034 F2
    9036 F3
    9038 F4
    903A F5
    903C F6
    903E F7

    2 bytes each. 1st byte distance. 2nd byte direction (FF=up,01=down)
  • edited March 2007
    It will be easier if the key can be at graphic #E8 although I haven't checked what that one is.

    Well the last graphic tile is at #A9, attributes are at #A0-BE/BF, the #E9 #EA #EB codes for pickup items ammo, rear-gun, mace are linked to graphic tiles #76 #77 and #71 respectively. So I think it can be #E8 as long as it links to the correct graphic tile.

    It looks like you`ve linked the ammo box(#E9) to the key graphic tile, but somehow the mace is corrupted.
  • edited March 2007
    FrankT wrote: »
    Well the last graphic tile is at #A9, attributes are at #A0-BE/BF, the #E9 #EA #EB codes for pickup items are linked to graphic tiles #76 #77 and #71 respectively. So I think it can be #E8 as long as it links to the correct graphic tile.

    Yep, I'm thinking if that is done, whereas now your key is rather like a milk churn code #76, if at #E8 it will become like an #E9 milk churn with no additional code required. That's the theory :)

    Edit:
    FrankT wrote: »
    It looks like you`ve linked the ammo box(#E9) to the key graphic tile, but somehow the mace is corrupted.
    Mentioned 2 posts up.
    the corruption after 1st screen is expected.

    Certain tables will need extending to incorporate the key. Just went with what was there for now. It's only linking to the bomb wotsit. All other pickups were ignored.

    No, that's a load of doodoo about moving the graphic to #E8. There's no need to alter anything Frank.
  • edited March 2007
    @48k
    I`d never thought that destructable tiles/corruption would carry over to the next screen, as the destructable tiles are redrawn every time you enter a screen. Weird. Although if we can work out the code that makes a tile destroyable, we can alter which tiles below and to the right get destroyed also. I`m imagining a new bomb graphic coming on. I`ll look into it tonight.
  • 48K48K
    edited March 2007
    FrankT wrote: »
    @48k
    I`d never thought that destructable tiles/corruption would carry over to the next screen, as the destructable tiles are redrawn every time you enter a screen. Weird. Although if we can work out the code that makes a tile destroyable, we can alter which tiles below and to the right get destroyed also. I`m imagining a new bomb graphic coming on. I`ll look into it tonight.

    What I mean is: If you set up the screen as I showed in the first screenshot, somehow the demolition routine is corrupted so that it deletes whole lines of tiles instead of just the appropriate ones. This occurs for explosions in other screens even if I don't destroy anything in the first screen with the corrupting layout. I have been trying to determine the minimal tile arrangement, but it doesn't make much sense.

    The following screenshot layout causes it. It seems to require the green thing at the bottom, the row, and the two on the right, althought the exact positions can be altered a little. Very confusing.

    Corrupts explosions
  • edited March 2007
    Check this one out. Don't do anything in the first room initially. Go down one room first and have a look.
  • 48K48K
    edited March 2007
    @48K Ah, finally I understand what you meant with the lifts!
    Nice! :-)
  • 48K48K
    edited March 2007
    Check this one out. Don't do anything in the first room initially. Go down one room first and have a look.

    :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)

    Pretty cool! You seem to have remixed the music too ;)
  • edited March 2007
    Check this one out. Don't do anything in the first room initially. Go down one room first and have a look.
    Genius :)
    Interesting thing is after the key is picked up, it doesn`t respawn when re-entering the room. Can the other pickup items do the same?

    p.s. I don't notice anything different with the music.
  • edited March 2007
    FrankT wrote: »
    Interesting thing is after the key is picked up, it doesn`t respawn when re-entering the room. Can the other pickup items do the same?

    The beauty of the pickup items is that you specify the routine you want to jump to on pickup. This opens the door for your own custom routines (you tell it yourself not to respawn) so yes to your last point.

    Edit:
    Btw, in the game itself do you come across your own ships as pickups that are used as extra lives?
  • edited March 2007
    Btw, in the game itself do you come across your own ships as pickups that are used as extra lives?
    No, in Cybernoid 2 you come across it as another weapon that flies around like the mace(bomb thing). At the moment, you can only get an extra life by getting the 1500 cargo within the time limit.

    Its really good, could probably turn it into an arcade adventure.
    Have you noticed some of the text hidden in Cybernoid?
    #661d - WHICH LEVEL ?
    'TRIEVE OLD COORDS...LD.A,E...AND.0...100B...RRCA...RRCA...LD.($3+1),A...LD.C,D'
    And this looks like part of his source code, I haven`t formatted at all neither have i added the comments, its tabbed labelled and commented.!
    [size=-2]	org $6ec6
    	ex	de,hl
    	pop	hl
    	ld	a,(de)
    	or	a
    	jr	nz,$3
    	ld	(hl),c
    $3:	inc	hl
    	inc	de
    	ld	a,(de)
    	or	a
    	jr	nz,$4
    	ld	(hl),c
    $4:	inc	hl
    	inc	de
    	ld	a,(de)
    	or	a
    	jr	nz,$5
    	ld	(hl),c
    $5:	ld	de,30
    	add	hl,de
    	djnz	$2
    	pop	hl
    	pop	de
    	pop	bc
    	pop	af
    	ret
    
    atr222:	push	af		;same as above but deals with two colours (b+c)
    	push	bc		;c on the left and b on the right
    	push	de
    	push	hl
    	ld	a,e
    	cp	128
    
    [/size]
    Anyway, its a lot more free space I think.
  • edited March 2007
    Just noticed something about the new key pickup item. The aliens sometimes drop a key like a cargo jewel. In the screen thats blocked off I shot an alien got a key, went up and down screens and the gate was gone.
  • edited March 2007
    FrankT wrote: »
    Just noticed something about the new key pickup item. The aliens sometimes drop a key like a cargo jewel. In the screen thats blocked off I shot an alien got a key, went up and down screens and the gate was gone.

    Good spot! What you won't see are any Cyan/Green ovally flavour jewels. Rather than create an extra placement for the table a spot in the current one was hijacked (for now ;)) just to get to grips with the method.

    Just be careful down the lower reaches $6ec6 area for instance is used. The source text should be ok.
  • edited March 2007
    By the way, having an extra life item as you said is a good idea.
    Also another idea is to have a button item that activates the destruction of a tile(s). The button doesn`t have to be picked up, it will be a static tile graphic, on collison it should activate. I`m making a little progress with the destruction of tiles. Thinking of dynamite and a plunger type thing.
  • edited March 2007
    FrankT wrote: »
    Thinking of dynamite and a plunger type thing.

    :):):):):)
  • edited March 2007
    Its one of those nights when I keep coming up with mad ideas.
    Re-route the ship collision call to check if tile collided with is #7F (this tile is almost identical to #7D so can be replaced), new routine to make #7F be moved/pushed by your ship, also #7F tile must call the gravity routine if it can be found.
    Maybe extend it even further by saying if #7F moves down the screen more than 32 pixels that it will act like one of your bombs and destroy any destructable tile it hits.
  • edited March 2007
    Had a little look at the collision stuff, hope you don't mind.

    Table is at #6E52 (all values are in HEX)

    #6E52 27 00 00 10 20 3A 16 79
    #6E5A 23 00 00 10 20 38 0A 79
    #6E62 2B 00 00 10 20 39 10 79
    #6E6A 30 00 00 10 20 3A 16 79
    #6E72 46 00 00 08 10 39 10 79
    #6E7A 47 00 00 08 10 39 10 79
    #6E82 A0 00 00 10 30 3A 16 79

    8 bytes each
    1st byte Graphic
    2nd, 3rd bytes I take it this means put space in the area to be blitzed and are always zero. Only a few low values work, 1's poked in these positions leave skeleton type remains.
    4th, 5th bytes This is the area to be blitzed right(4th byte) and down(5th byte). You can see #10,#20 in most but these mean the same thing ie. blow 2 tiles to the right and 2 down. #08 for right is 1 tile and #10 down is 1 tile minimum values. So multiply by 8 when working out how many tiles to the right you want to go and #10(16) for the down tiles.
    6th byte This is the graphic to the bonus score given.
    7th,8th bytes This is the pointer to the bonus score which is to be added to your score.

    This information is then written to a further table starting at #6CFC and again 8 bytes each. There is an EOF marker which is #FF. No explosions to do on the current screen and #6CFC will be #FF

    1st byte horizontal position of enemy
    2nd byte vertical position of enemy
    3rd,4th bytes are the area to be demolished(as 4th,5th bytes above)
    5th byte Graphic. This will be overwritten with zero when the demolition has occurred.
    6th,7th,8th bytes mirror the above relating to the score

    Providing #6D4C is always #FF that leaves enough room for 10 demolition graphics per screen or a 'safe' value is 9.

    I think the idea is that you DON'T cross the screen boundary hence the reason for corruption. With one in the upper left you should be able to wipe out the whole screen but with one near the bottom right you won't. So you are blowing to the right and down.
  • edited March 2007
    Had a little look at the collision stuff, hope you don't mind.
    I don`t mind when your able to figure it all out so completely. I was a couple of days looking. Was in the right area with breakpoints, but didn`t find the table. Its a shame we can`t explode tiles to the left and up as well as right and down.

    I`ve managed to get 8 new blank tiles by using the Cybernoid logo from Cybernoid 2, took the liberty of editing it to 'III' instead of 'II'. Screenshot
    I have 3 new exploding tiles which I have to make graphics for. Will make a new exploding scenery object which will take 4 or 6 tiles. And will make a bomb/tnt graphic.
    Other things new are rotating mace/seeker, animated feet on caterpillar, and 4 new animated aliens from Cybernoid 2 as my new face alien looked daft.
    Will upload a new tzx when I`ve finished the new graphics.
  • edited March 2007
    Gun Demo Test
    This is just a snapshot of a test screen showing off my new explodable gun.
    The tiles are positioned like this for a non firing gun that explodes, for a firing gun change the #69 to #94;
    69 6A 6B
    ....6C 6D
    Can you recognise the gun?
  • 48K48K
    edited March 2007
    Help!

    ----

    Seriously - this is great work Frank, the Exolon gun looks cool!

    Regarding the editor, I think I now intend to release (at least) two versions. The first will be compatible with the original version of Cybernoid (same graphics, no patches etc). The second will be slightly more powerful, and will require the patched version of the game, with the new graphics, collisions, etc.

    The screen editor and crude map editor are both now finished. Just need to work some bugs out in the compressor routine, and add editing for level specific data codes.
  • edited March 2007
    Erm, Frank: bmp files are not a web format. Please use gif, jpg or png when you want other people to enjoy your work too. ;)
  • edited March 2007
    I really loved these games 1st time around and Raf Cecco was one of my favourite programmers, cant wait!! Seriously good work so far, please keep it up!
  • edited March 2007
    Raffaele Cecco was one of my all time favourites too. I'm trying to keep everything in his style, so I now have a couple of different bricks from Stormlord. Been trying to make a good looking glass tile for windows. I want variety in graphics and gameplay. Not sure how to design the levels yet, as I'm hoping theres still more can be done to enhance the game engine.

    @ Mr Anonymous
    Have you been able to do anymore with the pickups? And, would it be possible to have a pushable tile that falls? We'd be able to add a puzzle element to the game. Kind of Fire & Ice meets Cybernoid with a bit of adventure thrown in.

    Also been wondering if it would be possible to make one of the hair dryer type looking guns(#98 ) to fire down (or up) instead of to the right?
    Many thanks, hope I`m not being too much of a pain.

    Edit:
    I just found a table at #73F4. 1st byte is tile, 2nd byte is type.
    00 = static shootable block
    01 = firing gun
    02 = rocket
    03 = volcano
    04 = end level

    	org $73ad
    	ld hl, $73f4	; address to location of table
    =====Relocatable code=====
    	org $73f4
    	defb $2e, $00	; green shootable block
    	defb $2f, $00	; green shootable block
    	defb $8d, $00	;; white round shootable block
    	defb $8e, $00	;; white horizontal for above
    	defb $8f, $00	;; white cross for above
    	defb $90, $00	;; white vertical for above
    	defb $27, $01	; floor hive firing gun
    	defb $32, $01	; ceiling hive firing gun
    	defb $52, $01	; ceiling animated firing gun
    	defb $94, $01	; left firing gun
    	defb $98, $01	; right firing gun
    	defb $46, $02	; floor rocket
    	defb $47, $02	; ceiling rocket
    	defb $81, $03	; volcano
    	defb $83, $04	; end level platform
    	defb $ff	; EOF marker
    [/size]
    
    At last I find a table :)
    2nd Edit: I found another one at #736D, its 5 bytes, 1st byte is tile, and I think bytes 2-5 are for collision detection of each 8x8 character square of that tile, e.g. 0,0,0,0 and there is no collison 1,0,1,0 and you only collide with the left side/top and bottom, 0,0,1,1 is collision with the bottom half of the 16x16 tile, have to experiment some more. I'm finding it easy recognising tables now.
  • edited March 2007
    FrankT wrote: »
    @ Mr Anonymous
    Have you been able to do anymore with the pickups? And, would it be possible to have a pushable tile that falls? We'd be able to add a puzzle element to the game. Kind of Fire & Ice meets Cybernoid with a bit of adventure thrown in.

    I was waiting to see what you had in mind. I know how to work them, it's just a case of doing what you want. With regards to a pushable tile, the idea is that you pick something up and something happens. What you are suggesting here is to add a whole new concept, one that (as far as I know) doesn't exist in the game atm. What we have been doing so far is to take advantage of elements already present in the game. Some major coding would probably be in order to get that in.

    This is how easy it is to do exactly what you want once you pick an item up. Just pretend the key is your "plunger type thing".
    Also been wondering if it would be possible to make one of the hair dryer type looking guns(#98 ) to fire down (or up) instead of to the right?

    Erm. Will have to look :)

    Superb work by you two, very very impressive.
  • 48K48K
    edited March 2007
    This is how easy it is to do exactly what you want once you pick an item up.
    I like that a lot!
  • edited March 2007
    The beauty of the pickup items is that you specify the routine you want to jump to on pickup. This opens the door for your own custom routines.
    Ok, I`ve been stumped by this for ages. I found a table at #A1F6 which has the 3 pickup items of ammo, rear gun and mace, its 2 bytes, 1st byte is pickup code #E9 to #EB, 2nd byte is what tile to draw for that code starting from the rear gun which is #01, #02 to #09 are the 4 cargo items repeated twice with different cargo scores, #0A is ammo box and #0B is mace. Up above the routine for the table there is a check for #E9. Tracing back further and I found a list of calls to $8fd6 (lifts), $91b1 (caterpillars), $9b68 (aliens) and $a1d6 (pickups). Theres a CP #E9 above these calls also.
    I think I`m getting the idea by now, change the CP E9's to E8's, move the table and update the pointer to the table, add E8 item, but I`m totally stuck. How do you specify the routine to jump to on pickup? Where's the table of calls for the pickups? How to make the cargo item #02 the key like you`ve done?
    This is how easy it is to do exactly what you want once you pick an item up. Just pretend the key is your "plunger type thing".
    That's really good that, better than just a door that disappears. Can`t figure out how you did it though.
    There's a couple of problems with these additions at the moment. The explosion always happens at the same position on the screen your in, like when an alien drops a key you pick it up and boom. And the aliens dropping keys is a problem too.

    Here is another little test screen showing my new girders and platforms, also the gun turret can now be disabled by shooting it. I`m getting a little dot of corruption I have to look into, drop left of the platform and edge upto the bottom of the girder to your right. The colours need a little work, as its too samey.

    P.S.
    By any chance could you have a look at changing the abort game keys? You have to press 5, 6, 7, 8, 9 and 1 simultaneously, which I can`t do on my pc keyboard.

    Phew...
  • 48K48K
    edited March 2007
    FrankT wrote: »
    Here is another little test screen showing my new girders and platforms, also the gun turret can now be disabled by shooting it. I`m getting a little dot of corruption I have to look into, drop left of the platform and edge upto the bottom of the girder to your right. The colours need a little work, as its too samey.

    Hi Frank. I like the look of the new graphics. Using the girders in this way is cunning - it helpfully increases the screen area in which you can navigate - yet still restricts you from flying out of the room.

    I have a question: When you design the new graphics, what determines whether the Cybernoid ship collides with it or not? Does a movement routine just check for the attribute colour - e.g. It looks for 00 in a particular quadrant of the tile, and if so, allows the ship to continue moving?

    Also, did you intend to put explodable block under the pillars in this room? Try using Seeker. (You get some more corruption from this too.)
  • edited March 2007
    FrankT wrote: »
    There's a couple of problems with these additions at the moment. The explosion always happens at the same position on the screen your in, like when an alien drops a key you pick it up and boom. And the aliens dropping keys is a problem too.

    Yep, because it's just a demo. I mentioned about the keys one page back.
    Good spot! What you won't see are any Cyan/Green ovally flavour jewels. Rather than create an extra placement for the table a spot in the current one was hijacked (for now ) just to get to grips with the method.

    The program thinks the key is a Cyan/Green ovally jewel therefore it thinks that when you shoot an alien it'd better give you the chance of obtaining a key. As soon as it has it's own place in the table that problem will disappear. I just didn't bother to do it atm as I'm a lazy beggar :)

    Regarding the bomb. A simple room check would sort that. If you wanted multiple bombs on a screen then no problem with that too, you could sort it by simply checking your position.

    I will get this stuff commented up and post it for you no problem. I haven't done it yet as it was open ended and was unsure were you were going with it. Right, to check your snapper out.

    Blimey, I just did. Coming on great. Concerning the corruption, the previous snap (demo4) was not meant for further usage. It was assembled willy nilly so that could be causing it if graphics were overwritten. Can you make the same snap available but without that routine in it? Ta.

    Also, don't forget to document for those that may like to know how you did the shootable gun.
    P.S.
    By any chance could you have a look at changing the abort game keys? You have to press 5, 6, 7, 8, 9 and 1 simultaneously, which I can`t do on my pc keyboard.

    Tried this myself and it didn't work. Looked at the code and it's actually 1,2,3,4,5 simultaneously so try that :) The instructions are wrong.
  • edited March 2007
    POKE 26128,24 changes the abort keys to only 4+5. Most keyboards manage two keypresses :)

    Edit: Course Mr. A found the code before me. Clever git! :)
  • edited March 2007
    Woody wrote: »
    blah

    Here he is! :)

    Edit:

    Here's the other info: A bit quick otherwise it'd have been weekend.

    table a1f6
    ========

    (this will need relocating/updating with any other items)

    E9 0A bomb pack <- 2nd byte offset to table a15d
    EA 01 rear attachment
    EB 0B mace
    FF end of table


    table a15d <-2nd byte offset from a1f6 multiplied by 8
    ===========
    (8 bytes each) (this will need relocating/updating with any other items)

    A15D 00 00 00 00 00 00 00 00 UNUSED
    A165 71 47 47 00 00 12 A1 00 REAR ATTACHMENT
    A16D 72 45 04 32 00 F6 A0 00 CYAN/GREEN JEWEL
    A175 73 43 42 50 00 F6 A0 00 MAGENTA/RED JEWEL
    A17D 74 47 46 6E 00 F6 A0 00 WHITE/YELLOW DIAMOND JEWEL
    A185 75 45 05 8C 00 F6 A0 00 CYAN/CYAN DIAMOND JEWEL
    A18D 72 45 05 32 00 F6 A0 00 CYAN/CYAN JEWEL
    A195 73 47 46 50 00 F6 A0 00 WHITE/YELLOW JEWEL
    A19D 74 43 42 6E 00 F6 A0 00 MAGENTA/RED DIAMOND JEWEL
    A1A5 75 45 04 8C 00 F6 A0 00 CYAN/GREEN DIAMOND JEWEL
    A1AD 76 47 46 00 00 2A A1 00 WHITE/YELLOW BOMB PACK
    A1B5 77 47 07 00 00 4E A1 00 MACE
    A1BD 83 47 47 00 00 F6 A0 00 END OF LEVEL PLATFORM 1
    A1C5 84 47 07 00 00 F6 A0 00 END OF LEVEL PLATFORM 2
    A1CD 8C 47 47 00 00 F6 A0 00 YOUR SHIP!

    1ST BYTE ITEM
    2ND BYTE COLOUR LEFT
    3RD BYTE COLOUR RIGHT
    4TH BYTE,5TH BYTE SCORE FOR THESE ITEMS
    6TH BYTE,7TH BYTE JUMP ROUTINE
    8TH BYTE NOT USED?
    		org $a1d6
    		cp $e8 ; these should be
    			;self-explanatory. There
    			;may be more to update
    			;not to mention if it's safe
    			;still WIP
    			
    
    		org $a1f6
    		defb $e8,$02;overwrite table #1 to
    			    ;tell it that the key
    			    ;is a cyan/green jewel 
    		
    		org $a16d
    		defb $7a,$46,$46,0,0,$dc,$fd
    			;overwrite table #2
    			;with the key data
    			;jump addr for custom
    			;routine will be $fddc
    
    		org $a60d
    		defb $e8;place the key graphic
    	
    		org $6c13
    		cp $e8
    
    		org $a548
    		cp $e8
    
    		org $72d6
    		cp $e8
    		
    		org $a57f
    		cp $e8
    
    ;==================================
    
    		org $a816
    		defb $0b;place the gate gaphic
    
    		org $fddc
    	;<insert custom routine here>
    
    	;This address can be anywhere you like
    
Sign In or Register to comment.