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.)
Ok, collision on a tile is done like this. The table below shows 1st byte tile, 2nd byte top left of tile, 3rd byte top right, 4th byte bottom left, 5th byte bottom right. 0 for no collision, 1 for collision of that part of the tile.
org $7334
ld hl, $736d ; table pointer
org $736d
defb $0f, $00, $00, $01, $01 ; red/magenta floor weed
defb $0d, $00, $00, $01, $01 ; red/magenta floor weed
defb $35, $01, $01, $00, $00 ; red/magenta ceiling weed
defb $37, $01, $01, $00, $00 ; red/magenta ceiling weed
defb $80, $00, $01, $01, $01 ; left side of volcano
defb $82, $01, $00, $01, $01 ; right side of volcano
defb $83, $00, $00, $00, $00 ; eol platform left
defb $84, $00, $00, $00, $00 ; eol platform right
defb $89, $00, $00, $00, $00 ; below eol platform left
defb $8a, $00, $00, $00, $00 ; below eol platform right
defb $95, $01, $00, $01, $00 ; right side of left hair dryer gun
defb $97, $00, $01, $00, $01 ; left side of right hair dryer gun
defb $ff
I just patched what was there as a quick demo of the graphics.
The explodable block under the pillar is a mystery, I must have left something behind when I was fiddling.
The shootable gun was done by editing this table below. The gun turret is #94, I just replaced #8F with #94, so I have #94 both shootable and a gun. Interesting thing is that I made #94 explodable too, but when #94 is shot, the rest of the gun can still be exploded even though the explodable block is gone.
I think there should be another table that links to this like the pickups, but I can`t find it. i.e. how does it know what to do when a block is shot, be careful if changing a tile to #02 (rockets), I get major crashes if I use a tile other than the default rocket tiles.
; 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
I reckon if it was possible to add a pushable tile, this would be the place if the other table can be found that links to this like the pickups.
Any tile can be a volcano, I tried editing the volcano particle graphics to sparks and put it on the back of the gun, but the frame rate suffers terribly, because the volcano is too fast/active.
I`ll get to the rest of the replies after my tea.
Edit:
The bottom left of the girder is #A0 which replaced the top left of one of the big explodable plants and I forgot to remove it from the explodables table. This is also the tile with corruption so it may be the reason why. The graphics aren`t staying at that position, I`ll probably start from 01 and work my way up. I`m going to sort all the new graphics into seperate source code files for girders(inlcuding floor/walls/corners), stone walls, earth, guns, aliens etc. So I can arrange all new stuff in an order so its easier to make screens.
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.
Cool :) I think the key is going to go and be replaced with a 'plunger type thing'
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.
I think its because of where I put the graphics, the bottom left of the girder replacing the big explodable plant, the explosion leaves the screen boundary.
I`ll make a snap as soon as I`ve put the new graphics in some order.
Here's the other info: A bit quick otherwise it'd have been weekend.
Many thanks :)
Its the second table that I couldn`t find or understand. All clear now.
Had an idea to only have 4 cargo jewels in the table and use the 4 spare as 4 new pickups. How about having to collect 4 parts of a key to open the exit? Or for storyline collect fuel, docking pass, star maps and flight plan or something for the journey to the next level. And maybe someone very clever could write a bit of code that could place them in the map randomly but intelligently each game ;). i.e. each screen on the map has a tile strategically placed for the generated items (#d9 as example), and a routine peeks level map data for #d9 and randomly pokes either #00 or one of the 4 item codes (e.g. #e4, #e5 etc) to collect. Would it be worth it? Suppose it depends on the size of the new code thats needed. I`d still prefer a pushable tile ;).
Edit:
Been thinking about the collecting 4 parts to open the exit and think it will be better just 2, especially for smaller levels, or else 4 parts/tiles graphically numbered 1 to 4, and a cargo bonus score for collecting in the right order and escaping, if in the time limit you`ll get an extra life. We'd need code to store the parts no. 1 to 4 in a space in memory as each is picked up, and do a peek when the 4th part is picked up to check the order. Easy levels could just have 2 parts, Normal 3 and Hard 4. Could probably do the same level map 3 times over, each time another part to collect in the time limit. Repeating levels we could poke the lifts distance progressively smaller and after the 3rd repeat make caterpillars fast instead of slow. I`m just brainstorming.
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?
Aye, you could do that Frank. Are you wanting to make a new graphic, use them as they already are or what? You can change where the bullets emerge and whatnot if a change is in order. Here's an easy to follow example to assemble at the menu. You can make 'wacky' patterns as well. As the animation works off the x-axis, being on the same co-ordinate all the time gives the same (starter) bullet which can be remedied either by code or setting a vertical shot slightly off dead vertical. You can also change bullet type and speed with ease too.
org $a60b
defb 0,$98,0
org $a5cb
defb $98
org $8e18
jp $ccc0
org $ccc0
ld a,7
call $6679
add a,$41
ld h,a
sub $41
dec a
jr z, vertical_down
dec a
jr z, horiz_left
dec a
jr z, horiz_right
dec a
jr z,diag_up_left
dec a
jr z,diag_up_right
dec a
jr z,diag_down_left
dec a
jr z,diag_down_right
vertical_up ld b,0
ld c,e
jp $8e05
vertical_down ld b,$ff
ld c,e
jp $8e05
horiz_left ld b,d
ld c,0
jp $8e05
horiz_right ld b,d
ld c,$ff
jp $8e05
diag_up_left ld b,e
ld c,0
jp $8e05
diag_up_right ld b,e
ld c,d
jp $8e05
diag_down_left ld b,255
ld c,0
jp $8e05
diag_down_right ld b,255
ld c,255
ld h,$47
jp $8e05
;homing_bullet ld bc,($6969)
; jp $8e03
As the animation works off the x-axis, being on the same co-ordinate all the time gives the same (starter) bullet which can be remedied either by code or setting a vertical shot slightly off dead vertical. You can also change bullet type and speed with ease too.
Each frame in the bullets are shifted 2 pixels to the right. I`m thinking that when a bullet moves 2 pixels horizontally, it changes frame. So if the frames were re-drawn on the same x-axis it should animate ok on the y-axis?
If so I can redraw the green curly bullets and use them for vertical guns?
I was intending to design either, new vertical guns to replace the yellow hive guns, or use the graphics for the ceiling diagonal pointing gun that doesn`t do anything at the moment other than be destroyed.
I`ve been trying to write code for my 4 pickups that open the exit and have to be picked up in order for a bonus.
It searches for #E0`s and replaces with #E1, #E2, #E3, #E4 in sequence. The routine is placed directly after any mapdata and I`m searching backwards through the map data and using #C9 as an end marker which is just before the map data. I`ve got it down to 26 bytes. At the moment it will only work on all the map data and not each level, which is ok if only 4 #E0's are placed in each level. I`ve got to work out how to either reverse the pokes back to #E0 for a re-randomize, or save the addresses of the pokes as each poke is done. It`ll be something that adds to replayability. Also going to try and hook the call/jp for when the levels repeat so I can poke the lifts with a smaller gap. Maybe faster bullets too if I knew how that worked as well.
Would like an idea of how to randomize the order of the new tile codes before they're poked in from a table.
poketiles: defb $E1, $E2, $E3, $E4
p.s. I`m not sure if using these codes for 4 new items will be ok yet. I had to take a break from designing graphics for a little while as its very time consuming/frustrating. Just been reading 'Spectrum Machine Language For The Absolute Beginner', it`ll be the first machine code book i've read! (other than magazines YS/SU Jon North guide etc) :)
Cool ! That proves it can be done. Is the explosion triggered when the keys y-axis falls?
You`ve used the pickup items though, hoping you`d be able to put it on the active tiles table as I`m calling it, with the shootable blocks, guns, rockets, volcano and end of level platform, as these already collide with your ship and the lifts/caterpillars/aliens so the pushable blocks can be used defensively (and be moved by shooting them possibly). The rockets move when your in its same y-axis.
I was working on something and found a table where it writes 1 or 0 to 4 bytes depending on whether your going up, left, right or shooting. I went passed it at the time though as I was looking for the collision of a wall that tells the ship to stop moving. Was trying to make the ship just slow down instead of stop so a pushable tile would have a feeling of weight.
I did have a little mess about and moved the pickup items tables to the mapdata, and the aliens still dropped the key when it had its own slot, but I might have missed a cp #e9 somewhere. Or maybe one of the cp #e9's are to tell the aliens to drop items from #e9 and changing it to #e8 makes them drop the new items too.
I really don`t know what I`m talking about half the time, but I think I have good ideas for what makes a good game. Great work by you though.
It might be a bit difficult controlling Cybernoid with a mouse, as one of the challenges is the repeated up pressing to stay level navigating the lifts. It depends how its done.
Is the explosion triggered when the keys y-axis falls?
No, it was just waiting for you to push it to that position. Without the explosion it would have just fallen o'er the edge and gently floated away which is how it was at first. The explosion was just an afterthought.
and the aliens still dropped the key when it had its own slot
When it's ready to give you an item a random number is generated to choose which one it will be. This will be one of the first eleven items (null first one not counted) in the list. You therefore need to keep it out of the first eleven or update the bonus item wotsits that you can receive.
Been writing a map compressor routine that also builds the map screen table at $711C. Here is the source code. I`ve set the uncompressed map data to $C000 (49152), uncompressed map data must have a $FF end marker. Feel free to optimise it, make it smaller, pull it apart etc.
Here is level 1 uncompressed to test it with. Includes a blank screen before the end marker for testing.
It was a lot smaller, but had to make changes to stop it under/over running. Its quick though. I have an uncompressor that works perfect but needs tidying up, it reads the screen table to get the addresses of each screen and uncompresses to 49152. I`m writing a tool that will build a level from the uncompressed map data, with input needed for start screen number, ship position and map width/height for each level. As I learn more about machine code, I could expand it with a screen builder/editor with multiple tiled graphics to be positioned already built. Not in the near future though, have to make a few levels first with the changes that have been made.
You`ve used the pickup items though, hoping you`d be able to put it on the active tiles table as I`m calling it, with the shootable blocks, guns, rockets, volcano and end of level platform, as these already collide with your ship and the lifts/caterpillars/aliens so the pushable blocks can be used defensively (and be moved by shooting them possibly).
Been having another go as you set me going with your wacky ideas and the result so far is another demo.
It's still using the pickups tho' :) I've left three conveniently placed blocks in the first three rooms. Get behind them. Try your guns as well. Alien detection is not yet in. I'd be interested to learn of any oddities. If you shoot an alien, there's a chance that you'll get a block atm as it's overwriting a jewel.
Been having another go as you set me going with your wacky ideas and the result so far is another demo.
Thats good, a couple of oddities is being able to fly through the block when its against a wall, and when landing on top of a movable block, it jumps to the left or right, sometimes unpredictable. Ideally it would be best if you could land on top of it without it moving.
The aliens not colliding with it isn`t necessarily a bad thing. But the lifts, caterpillars and all enemy bullets are essential. One minor thing is the sound it makes is a bit irritating, needs a lower pitched bump type sound.
I`ve had lots of ideas on how to use this in the game, including placing the movable blocks on top of shootable blocks and having to catch the movable blocks by flying beneath them and lifting them to a position needed to get past lifts or blocking in caterpillars. So if you can make it so they don`t move left/right when your on top or below them, it will be pretty much perfect. I suppose the code for this is eating into the map data quite a bit, but with the added things to do, smaller levels will be quite acceptable.
Well, after a mammoth slog, the editor+compressor are working in concert - so it gains yet another (sub)version number and a teaser screenshot of the game in action. This is after importing some quickly modded screen/map data.
I just have a few small(ish!) things to tidy up, and perhaps write a help file for the editor...hmmm...
I`ve lost all my work to a disk crash (over 2 years worth). I rebooted and ran chkdsk /R to repair the disk, I have 2 partitions on my disk. The C partition is ok, but the D: partition is still in my computer, but it says disk is not formated format now?
I`ve downloaded partition magic 8 demo, but not sure if it will fix it to get my stuff back. I`m sure its still there, just the partition info is lost i think.
Anyone know of a free trial that will help me?
Have to go out to play a pool match, will be back in a few hours.
Shit one. It's my understanding that your data should be intact, you just need a way to access it. I'm afraid, I don't have any experience of what to do though :-( But I'm sure someone here will have some ideas.
I`ve lost all my work to a disk crash (over 2 years worth). I rebooted and ran chkdsk /R to repair the disk, I have 2 partitions on my disk. The C partition is ok, but the D: partition is still in my computer, but it says disk is not formated format now?
I`ve downloaded partition magic 8 demo, but not sure if it will fix it to get my stuff back. I`m sure its still there, just the partition info is lost i think.
Anyone know of a free trial that will help me?
Any chance of a .sna instead? Or is there something that'll convert from .szx?
What is the difference between .sna and .szx? FUSE only has an option to "Save snapshot as" - and this outputs .szx.
Anyway - this .szx is only a quick peek at a modded Cybernoid map in action (and only 3-4 screens at that), not the editor - so I'm not sure how excited you'll be by it! :-)
What is the difference between .sna and .szx? FUSE only has an option to "Save snapshot as" - and this outputs .szx.
Anyway - this .szx is only a quick peek at a modded Cybernoid map in action (and only 3-4 screens at that), not the editor - so I'm not sure how excited you'll be by it! :-)
Well, I had to drag and drop it to Spin, but it worked! It's not in Spin's file associations, and that lead me to believe that Spin wouldn't open it, but it does :)
Shit one. It's my understanding that your data should be intact, you just need a way to access it. I'm afraid, I don't have any experience of what to do though :-( But I'm sure someone here will have some ideas.
Panic over! :):)
All recovered! Weird irony is the only thing I lost was Lost. Episode 11 which I`ve been recording and putting on dvd for a horny bird I got my eye on at my local pub. That`ll teach me.
Only just got online after another fatal disk failure, I`m using an old pc with W98SE. The hard disk is knackered, it makes a repeated clonking noise when any power is connected, even when ide cable is disconnected, so no chance of any access at all. I never even got a chance to make a backup.
Tonight I've been bug-testing the editor - a good opportunity to try and put a quick level together, and see what does and doesn't work.
Most things seem fine - there are a few idiosyncrasies of the Cybernoid code which crop up, like some cargo packs not displaying, and rouge invisible tiles. I need to do some more testing to see if it is specific to certain tile combinations.
In any case - here is the small level I put together to test out some ideas. The 9 screens took probably a few of hours of drawing, testing, and fiddling to get it playable.
Certainly, designing an entire game (70 screens) will take some time.
Thats quite tough. A couple of instant deaths when entering screens, on one where you go down a 2gap passage and a caterpillar is on the next screen on the right.
Cargo boxes and Mace/Reargun must have a free space above them, so if placing them inside shootable blocks you must leave 1 space above.
I noticed the missing red/magenta weed tile, I never had anything like that and I must`ve designed about 20 screens in total before my disk crash, at least I uploaded some stuff for this thread so not all is lost, but I lost a lot of new graphics/screens source code(and about 120Gb of my own music Sonar projects+15000 odd classical/flamenco guitar sheet music pdfs).
I have a new PC arriving today hopefully, 2.8Ghz Intel Duo Core D820, 1Gb DDR, 256Mb Geforce, 160Gb hardisk, 16x dvd-rewriter, 4free PCI slots. Miles better than my old 1ghz Athlon and about a quarter the price. I`ll start again with Cybernoid when I`m set up.
What is the difference between .sna and .szx? FUSE only has an option to "Save snapshot as" - and this outputs .szx.
As the help file on Fuse 0.7.0.1 says "Fuse now defaults to saving snapshots in the .szx format. Other formats can be selected by giving a different extension (e.g. .z80 or .sna)."
The 0.8.0-pre2 version gives you a snapshot format combo box in the save as dialog.
As the help file on Fuse 0.7.0.1 says "Fuse now defaults to saving snapshots in the .szx format. Other formats can be selected by giving a different extension (e.g. .z80 or .sna)."
The 0.8.0-pre2 version gives you a snapshot format combo box in the save as dialog.
Thanks for this information, Fred. I'm using 0.7.0.1 at the moment. Is the new build stable?
Regarding .szx/.sna : Is there a big difference between them? Is one format preferred over another?
Thats quite tough. A couple of instant deaths when entering screens, on one where you go down a 2gap passage and a caterpillar is on the next screen on the right.
Cargo boxes and Mace/Reargun must have a free space above them, so if placing them inside shootable blocks you must leave 1 space above.
I noticed the missing red/magenta weed tile, I never had anything like that and I must`ve designed about 20 screens in total before my disk crash, at least I uploaded some stuff for this thread so not all is lost, but I lost a lot of new graphics/screens source code(and about 120Gb of my own music Sonar projects+15000 odd classical/flamenco guitar sheet music pdfs).
Sorry to hear that you lost so much stuff, Frank. I hope you've budgetted for a backup HD as well now - your predicament spurred me on to back up some recent stuff.
Thanks for the info regarding the pickups, and on the feedback on the level I made. The only glitch that I still have appearing is on lifts that are set to go down (F4-F7) - I get an invisible tile that things can fly behind. I'm wondering if these codes are ever used in the original..? The gaps in the scenery were my own doing! :-)
So, I've taken quite a bit more time to hone this level. Took out a lot of the clutter, and I think it is quite tight now. Just the aliens in one room at the top need their direction changing.
Let me know what you think. The editor seems to be holding up very well (just a couple of things need changing), so I'll get round to finishing the readme and release it pretty soon.
Thanks for this information, Fred. I'm using 0.7.0.1 at the moment. Is the new build stable?
I reckon it's better than 0.7.0.1 in every way. The purpose of these -pre builds is to shake out any final bugs before the final release, so if you are prepared to take a small risk, your feedback would be welcome.
Regarding .szx/.sna : Is there a big difference between them? Is one format preferred over another?
.szx files are significantly smaller than .sna, but more importantly are much better equipped to accurately record the machine state than the old formats. .sna in particular is well known for not working with all software on the 48K machine, let alone all the extra hardware bits and bobs and clones around.
The downside is that not all emulators support .szx, but I am glad to hear that the .szx club is growing!
The only glitch that I still have appearing is on lifts that are set to go down (F4-F7) - I get an invisible tile that things can fly behind. I'm wondering if these codes are ever used in the original..?
Only F5 and F6 are used in the original maps HERE.
F5 - x2 - SCR_41
F6 - x1 SCR_03, x2 SCR_06, x1 SCR_0F, x1 SCR_40
My new PC has just arrived, so I`ll check out the new level later.
The only glitch that I still have appearing is on lifts that are set to go down (F4-F7) - I get an invisible tile that things can fly behind.
Have you got an example? A quick guess would be to only allow these to be drawn above a certain level so that both lifts commence in view and disallow going off screen. It maybe getting confused when trying to draw the bottom lift? If it's happening when the bottom lift is off screen and the invisible tile is in the same place as the bottom lift would have been if it'd carried through the bottom back around to the top then there's the reason.
Edit: I was meaning to ask about the size of your levels you have done so far. How do they compare to the original? Are you finding you are using more, less or approximately the same number of bytes?
Have you got an example? A quick guess would be to only allow these to be drawn above a certain level so that both lifts commence in view and disallow going off screen. It maybe getting confused when trying to draw the bottom lift? If it's happening when the bottom lift is off screen and the invisible tile is in the same place as the bottom lift would have been if it'd carried through the bottom back around to the top then there's the reason.
As is typical, I'm having difficulty reproducing the defect! The verisons I had with it have since modified. Here is one with a slight problem in the last half tile at the top. An eariler version with the lift placed slightly differently created an entire "black invisible" tile. Both the Cybernoid ship and the lifts went behind it.
I have been trying to get it to occur on a different screen - and was testing if it is something to do with looping through the screen, but as you can see, in the second example, there is NO defect. I think the lift is a different code though...
Edit: I was meaning to ask about the size of your levels you have done so far. How do they compare to the original? Are you finding you are using more, less or approximately the same number of bytes?
Seems OK. I've only done 9 screens. These used up 1000 bytes near as damn it. The original game uses 7750 for 73 screens. I'm just a little over budget it seems :-).
Comments
Ok, collision on a tile is done like this. The table below shows 1st byte tile, 2nd byte top left of tile, 3rd byte top right, 4th byte bottom left, 5th byte bottom right. 0 for no collision, 1 for collision of that part of the tile.
I just patched what was there as a quick demo of the graphics.
The explodable block under the pillar is a mystery, I must have left something behind when I was fiddling.
The shootable gun was done by editing this table below. The gun turret is #94, I just replaced #8F with #94, so I have #94 both shootable and a gun. Interesting thing is that I made #94 explodable too, but when #94 is shot, the rest of the gun can still be exploded even though the explodable block is gone.
I think there should be another table that links to this like the pickups, but I can`t find it. i.e. how does it know what to do when a block is shot, be careful if changing a tile to #02 (rockets), I get major crashes if I use a tile other than the default rocket tiles. I reckon if it was possible to add a pushable tile, this would be the place if the other table can be found that links to this like the pickups.
Any tile can be a volcano, I tried editing the volcano particle graphics to sparks and put it on the back of the gun, but the frame rate suffers terribly, because the volcano is too fast/active.
I`ll get to the rest of the replies after my tea.
Edit:
The bottom left of the girder is #A0 which replaced the top left of one of the big explodable plants and I forgot to remove it from the explodables table. This is also the tile with corruption so it may be the reason why. The graphics aren`t staying at that position, I`ll probably start from 01 and work my way up. I`m going to sort all the new graphics into seperate source code files for girders(inlcuding floor/walls/corners), stone walls, earth, guns, aliens etc. So I can arrange all new stuff in an order so its easier to make screens.
My ZX Art Music Page
Carlos Michelis Theme
I`ll make a snap as soon as I`ve put the new graphics in some order. Done! Thanks Woody, now I know where the routine is i`ve changed it to 'caps shift+x'.
POKE 26124,246: POKE 26128,5 Many thanks :)
Its the second table that I couldn`t find or understand. All clear now.
Had an idea to only have 4 cargo jewels in the table and use the 4 spare as 4 new pickups. How about having to collect 4 parts of a key to open the exit? Or for storyline collect fuel, docking pass, star maps and flight plan or something for the journey to the next level. And maybe someone very clever could write a bit of code that could place them in the map randomly but intelligently each game ;). i.e. each screen on the map has a tile strategically placed for the generated items (#d9 as example), and a routine peeks level map data for #d9 and randomly pokes either #00 or one of the 4 item codes (e.g. #e4, #e5 etc) to collect. Would it be worth it? Suppose it depends on the size of the new code thats needed. I`d still prefer a pushable tile ;).
Edit:
Been thinking about the collecting 4 parts to open the exit and think it will be better just 2, especially for smaller levels, or else 4 parts/tiles graphically numbered 1 to 4, and a cargo bonus score for collecting in the right order and escaping, if in the time limit you`ll get an extra life. We'd need code to store the parts no. 1 to 4 in a space in memory as each is picked up, and do a peek when the 4th part is picked up to check the order. Easy levels could just have 2 parts, Normal 3 and Hard 4. Could probably do the same level map 3 times over, each time another part to collect in the time limit. Repeating levels we could poke the lifts distance progressively smaller and after the 3rd repeat make caterpillars fast instead of slow. I`m just brainstorming.
My ZX Art Music Page
Carlos Michelis Theme
Aye, you could do that Frank. Are you wanting to make a new graphic, use them as they already are or what? You can change where the bullets emerge and whatnot if a change is in order. Here's an easy to follow example to assemble at the menu. You can make 'wacky' patterns as well. As the animation works off the x-axis, being on the same co-ordinate all the time gives the same (starter) bullet which can be remedied either by code or setting a vertical shot slightly off dead vertical. You can also change bullet type and speed with ease too.
If so I can redraw the green curly bullets and use them for vertical guns?
I was intending to design either, new vertical guns to replace the yellow hive guns, or use the graphics for the ceiling diagonal pointing gun that doesn`t do anything at the moment other than be destroyed.
I`ve been trying to write code for my 4 pickups that open the exit and have to be picked up in order for a bonus.
It searches for #E0`s and replaces with #E1, #E2, #E3, #E4 in sequence. The routine is placed directly after any mapdata and I`m searching backwards through the map data and using #C9 as an end marker which is just before the map data. I`ve got it down to 26 bytes. At the moment it will only work on all the map data and not each level, which is ok if only 4 #E0's are placed in each level. I`ve got to work out how to either reverse the pokes back to #E0 for a re-randomize, or save the addresses of the pokes as each poke is done. It`ll be something that adds to replayability. Also going to try and hook the call/jp for when the levels repeat so I can poke the lifts with a smaller gap. Maybe faster bullets too if I knew how that worked as well.
Would like an idea of how to randomize the order of the new tile codes before they're poked in from a table.
poketiles: defb $E1, $E2, $E3, $E4
p.s. I`m not sure if using these codes for 4 new items will be ok yet. I had to take a break from designing graphics for a little while as its very time consuming/frustrating. Just been reading 'Spectrum Machine Language For The Absolute Beginner', it`ll be the first machine code book i've read! (other than magazines YS/SU Jon North guide etc) :)
Thanks.
My ZX Art Music Page
Carlos Michelis Theme
Instructions For Use
================
Go Left.
Take advantage of the one already in use in the game to swap them about?
I can implement driver for kempston mouse (K-MOUSE) to Cybernoid game.
My modified games for k-mouse: http://velesoft.speccy.cz/kmsoft.htm
VELESOFT
You`ve used the pickup items though, hoping you`d be able to put it on the active tiles table as I`m calling it, with the shootable blocks, guns, rockets, volcano and end of level platform, as these already collide with your ship and the lifts/caterpillars/aliens so the pushable blocks can be used defensively (and be moved by shooting them possibly). The rockets move when your in its same y-axis.
I was working on something and found a table where it writes 1 or 0 to 4 bytes depending on whether your going up, left, right or shooting. I went passed it at the time though as I was looking for the collision of a wall that tells the ship to stop moving. Was trying to make the ship just slow down instead of stop so a pushable tile would have a feeling of weight.
I did have a little mess about and moved the pickup items tables to the mapdata, and the aliens still dropped the key when it had its own slot, but I might have missed a cp #e9 somewhere. Or maybe one of the cp #e9's are to tell the aliens to drop items from #e9 and changing it to #e8 makes them drop the new items too.
I really don`t know what I`m talking about half the time, but I think I have good ideas for what makes a good game. Great work by you though. I`ll have a look, can only recognise randoms that use the r register at the moment. It might be a bit difficult controlling Cybernoid with a mouse, as one of the challenges is the repeated up pressing to stay level navigating the lifts. It depends how its done.
My ZX Art Music Page
Carlos Michelis Theme
No, it was just waiting for you to push it to that position. Without the explosion it would have just fallen o'er the edge and gently floated away which is how it was at first. The explosion was just an afterthought.
When it's ready to give you an item a random number is generated to choose which one it will be. This will be one of the first eleven items (null first one not counted) in the list. You therefore need to keep it out of the first eleven or update the bonus item wotsits that you can receive.
Here is the source code. I`ve set the uncompressed map data to $C000 (49152), uncompressed map data must have a $FF end marker. Feel free to optimise it, make it smaller, pull it apart etc.
Here is level 1 uncompressed to test it with. Includes a blank screen before the end marker for testing.
It was a lot smaller, but had to make changes to stop it under/over running. Its quick though. I have an uncompressor that works perfect but needs tidying up, it reads the screen table to get the addresses of each screen and uncompresses to 49152. I`m writing a tool that will build a level from the uncompressed map data, with input needed for start screen number, ship position and map width/height for each level. As I learn more about machine code, I could expand it with a screen builder/editor with multiple tiled graphics to be positioned already built. Not in the near future though, have to make a few levels first with the changes that have been made.
My ZX Art Music Page
Carlos Michelis Theme
Been having another go as you set me going with your wacky ideas and the result so far is another demo.
It's still using the pickups tho' :) I've left three conveniently placed blocks in the first three rooms. Get behind them. Try your guns as well. Alien detection is not yet in. I'd be interested to learn of any oddities. If you shoot an alien, there's a chance that you'll get a block atm as it's overwriting a jewel.
Good show Frank, glad to see you're still plugging away with it. Hopefully 48k will make good use of that.
The aliens not colliding with it isn`t necessarily a bad thing. But the lifts, caterpillars and all enemy bullets are essential. One minor thing is the sound it makes is a bit irritating, needs a lower pitched bump type sound.
I`ve had lots of ideas on how to use this in the game, including placing the movable blocks on top of shootable blocks and having to catch the movable blocks by flying beneath them and lifting them to a position needed to get past lifts or blocking in caterpillars. So if you can make it so they don`t move left/right when your on top or below them, it will be pretty much perfect. I suppose the code for this is eating into the map data quite a bit, but with the added things to do, smaller levels will be quite acceptable.
Excellent!
My ZX Art Music Page
Carlos Michelis Theme
I just have a few small(ish!) things to tidy up, and perhaps write a help file for the editor...hmmm...
Anyway, here it is!
version 0.9.5
p.s. Frank + Mr.A: Great work!
Edit: What am I messing around at! Here is one to play with too - lots of blank screens so be careful where you end up...
I`ve downloaded partition magic 8 demo, but not sure if it will fix it to get my stuff back. I`m sure its still there, just the partition info is lost i think.
Anyone know of a free trial that will help me?
Have to go out to play a pool match, will be back in a few hours.
My ZX Art Music Page
Carlos Michelis Theme
Any chance of a .sna instead? Or is there something that'll convert from .szx?
Anyway - this .szx is only a quick peek at a modded Cybernoid map in action (and only 3-4 screens at that), not the editor - so I'm not sure how excited you'll be by it! :-)
Well, I had to drag and drop it to Spin, but it worked! It's not in Spin's file associations, and that lead me to believe that Spin wouldn't open it, but it does :)
All recovered! Weird irony is the only thing I lost was Lost. Episode 11 which I`ve been recording and putting on dvd for a horny bird I got my eye on at my local pub. That`ll teach me.
My ZX Art Music Page
Carlos Michelis Theme
My ZX Art Music Page
Carlos Michelis Theme
Most things seem fine - there are a few idiosyncrasies of the Cybernoid code which crop up, like some cargo packs not displaying, and rouge invisible tiles. I need to do some more testing to see if it is specific to certain tile combinations.
In any case - here is the small level I put together to test out some ideas. The 9 screens took probably a few of hours of drawing, testing, and fiddling to get it playable.
Certainly, designing an entire game (70 screens) will take some time.
Have a fly around and go exploring :-)
48K version
128K version
Comments and suggestions are much appreciated.
Cargo boxes and Mace/Reargun must have a free space above them, so if placing them inside shootable blocks you must leave 1 space above.
I noticed the missing red/magenta weed tile, I never had anything like that and I must`ve designed about 20 screens in total before my disk crash, at least I uploaded some stuff for this thread so not all is lost, but I lost a lot of new graphics/screens source code(and about 120Gb of my own music Sonar projects+15000 odd classical/flamenco guitar sheet music pdfs).
I have a new PC arriving today hopefully, 2.8Ghz Intel Duo Core D820, 1Gb DDR, 256Mb Geforce, 160Gb hardisk, 16x dvd-rewriter, 4free PCI slots. Miles better than my old 1ghz Athlon and about a quarter the price. I`ll start again with Cybernoid when I`m set up.
My ZX Art Music Page
Carlos Michelis Theme
As the help file on Fuse 0.7.0.1 says "Fuse now defaults to saving snapshots in the .szx format. Other formats can be selected by giving a different extension (e.g. .z80 or .sna)."
The 0.8.0-pre2 version gives you a snapshot format combo box in the save as dialog.
Regarding .szx/.sna : Is there a big difference between them? Is one format preferred over another?
Thanks for the info regarding the pickups, and on the feedback on the level I made. The only glitch that I still have appearing is on lifts that are set to go down (F4-F7) - I get an invisible tile that things can fly behind. I'm wondering if these codes are ever used in the original..? The gaps in the scenery were my own doing! :-)
So, I've taken quite a bit more time to hone this level. Took out a lot of the clutter, and I think it is quite tight now. Just the aliens in one room at the top need their direction changing.
Latest level 1 demo
Let me know what you think. The editor seems to be holding up very well (just a couple of things need changing), so I'll get round to finishing the readme and release it pretty soon.
I reckon it's better than 0.7.0.1 in every way. The purpose of these -pre builds is to shake out any final bugs before the final release, so if you are prepared to take a small risk, your feedback would be welcome.
.szx files are significantly smaller than .sna, but more importantly are much better equipped to accurately record the machine state than the old formats. .sna in particular is well known for not working with all software on the 48K machine, let alone all the extra hardware bits and bobs and clones around.
The downside is that not all emulators support .szx, but I am glad to hear that the .szx club is growing!
F5 - x2 - SCR_41
F6 - x1 SCR_03, x2 SCR_06, x1 SCR_0F, x1 SCR_40
My new PC has just arrived, so I`ll check out the new level later.
My ZX Art Music Page
Carlos Michelis Theme
Have you got an example? A quick guess would be to only allow these to be drawn above a certain level so that both lifts commence in view and disallow going off screen. It maybe getting confused when trying to draw the bottom lift? If it's happening when the bottom lift is off screen and the invisible tile is in the same place as the bottom lift would have been if it'd carried through the bottom back around to the top then there's the reason.
Edit: I was meaning to ask about the size of your levels you have done so far. How do they compare to the original? Are you finding you are using more, less or approximately the same number of bytes?
As is typical, I'm having difficulty reproducing the defect! The verisons I had with it have since modified. Here is one with a slight problem in the last half tile at the top. An eariler version with the lift placed slightly differently created an entire "black invisible" tile. Both the Cybernoid ship and the lifts went behind it.
Example 1
I have been trying to get it to occur on a different screen - and was testing if it is something to do with looping through the screen, but as you can see, in the second example, there is NO defect. I think the lift is a different code though...
Example 2
Not much of a controlled test! I'll see if I can track it down further as I expand the levels.
Seems OK. I've only done 9 screens. These used up 1000 bytes near as damn it. The original game uses 7750 for 73 screens. I'm just a little over budget it seems :-).