Jump to content
  • entries
    39
  • comments
    621
  • views
    148,021

Star Castle Developments


Thomas Jentzsch

17,195 views

Since Chris is busy with his RL, I will continue his blog entry about Star Castle Developments here.

Source code can be found here.

Note: There are still some occasional glitches which I have to sort out. And maybe even a crash. So if you find one, please let me know. Especially if you can reproduce it.

Attached is the final build from October 2015 and here the (never ending) DONE and TODO list:

; Explanation:
; - = open
; o = partially
; + = done
; ? = debatable
; x = cancelled

; Arcade Differences:
; - 3  6 lives via dip switches

; x extra lives > 100
; + game speed increases with score, segments, time  .?
;   + gamespeed (0  7) now based on score (increases every 2000 points)
; + ring rotation
;   + not in sync
;   + direction moves with ring (TODO: check mines on rings, gun gaps)
;   + speed moves with the ring
;   + speeds
;     + increases with score (not castle)
;     + reverse rotation at constant speed: 4.7s/loop, (1st castle: middle)
;     + others: 0  1250 pts: 4.7 (outside)/3.2s (inside); 2500 pts: 3.2/2.35s; then: 2.4/1.9s
;       own speed range defined
;   + offsets are transfered with the expanding rings
;   o hit sparks (TODO: graphics)
; + killing gun and getting killed costs one life
; + shield kick
;   + ignores previous speed
;   + gives new speed
;   + doesn't reposition
; o ships
;   + facing left at life start
;   + start position moves up with each new life? (10 positions, 1st one seems random, 2nd one is bottom + 1?)
;   ? X and Y speed are NOT linked together
;   o deceleration is linear and lower
;   + ship decelerates differently in left/down (100%) than in right/up (~50%) direction!!!
;   + after castle completed, ship continues at current spot in next castle
;   + ship bounces during explosion
; o mines
;   + immediate respawn
;   + spawn position depends on gun direction (dir - 90°)
;   + spawn independent from ship direction
;   o hop back and forth on the rings
;   + higher homing speed at higher scores (as fast as player's ship)
;   + homing mine movement has some randomness to prevent mine grouping
;   + homing mine lifetime varies (lifetime counted on ring too, but only 50%)
;   + slower turning speed in lower castles
;   o mines hop much faster in arcade in higher levels
;   - max. one mine per ring segment
;   + disappear when they hit a ship
;   + mines on ring do not kill ship
;   o hit sparks (TODO: graphics)
; + gun
;   + shots immediately when there is a gap
;   x projectile moves a bit faster
;   + projectile disappears when ship is hit
;   x starts new gun life at last direction
;   + starts next ship at last direction
;   + shots whenever there is space, no matter where the player's ship is
;   + is turning slower, especially initially
; + bullets
;   + max. 3 at a time
; o sounds
;   o siren frequency depending on segments (~65  260Hz):
;     + intermediate screen (highest pitch, slightly higher than 3)
;     + 36  28: 0 (lowest pitch)
;     + 27  24: 1 (slightly higher)
;     + 23  20: 2
;     + 19  16: 3 (high pitch)
;     + 15  12: 4 (reset to between 1 and 2)
;     + 11   8  5 (slightly higher, still lower than 2)
;     +  7   4  6 (slightly higher than 3)
;     +  3      7 (slightly higher = intermediate)
;   - homing mines sound
;   + no sound when hitting segment first time
;   + thrust sound very low
;   - projectile sound starts with fire sound
;   - better sound mapping
;     - channel 0:
;       + 2. ship explosion (channel 1?)
;       + 8. siren
;     - channel 1:
;       + 1. gun explosion
;       + 3. projectile
;       + 6. bullet fire
;       + 7. ship ring bounce
;       + 9. thrust
;     - both:
;       + 4. mine hits
;       + 5. sector hits (channel 0?)
;     - homing mine sound
; + scoring: 10/20/30 points per segment hit (not per segment destroyed)
; + no leading zeroes
;   + score
;   + castle
;   + ships
;   + highscore
; ? scores are centered
; + digits are slightly wider
; -   .
; Bugs/TODOs:
; + it seems that the gun is correcting direction after finding a gap but before fireing
;   this leads to shots going through intact sectors
; + increase vertical screen size (TODO: use gained time)
;   + define extra stars data
;   + adjust stars in various screens
;   + center/resize other screens
; + make ring 1 data ordered like ring 0 + 2 data
; + gun needs gaps in all three rings
; o General task management
;   + allow individual tasks with priority and order
;   o adjust parameters of tasks (check if they could be skipped)
; + regenerate if middle ring is empty (test arcade).
; + homing mines broken at higher castles (>=6)
; + explosion too slow (check again when CPU time is reduced!)
; + vector angle gives too coarse results
; + occasional glitch when mine is shot
; - bullet sometimes glitches when it hits (could be same problem as with initial mine?)
; + DIR_SEARCH
;   x gap found a bit too early (counter clockwise)
;   + no gap found when GUNDIR = 17
; + occasional reversed intermediate castle/ship graphics
; + first mine glitch (only if thrusting or fireing!?)
;   resulted from following order: 1. x-pos mine
; 2. create mine
; 3. display mine
; + thrust sound corrupted
; + thrust sound set to lowest possible frequency and made 50% louder
; + siren twice as loud
; ? bullet/ring check may have flaws
; + occasional single pixel glitch on empty ring segments
; + another occasional single pixel glitch at start of new life (reason: odd without even rotate)
; + empty high score initials   . (instead of aaa)
; + difficulty switches fixed at start of game (4 different high score tables)
;   o make different high socre tables identifialble (colors only so far)
; + stop gun shooting when ship is exploding
; o more ring colors
;   + 8 different sets
;   o define colors
; o mine graphics (maybe slower?)
; + thrust sound broken after gun explosion
; + occasional crash!!! (X used in CheckRegenerate)
; + fixed last color mode remembered
; o check PAL colors on real hardware
; o mine explosion graphics? (code done, graphics todo)
; + add "arcade" to the title graphics
; o pulse red part of the title graphics in sync with music
; + (c) 201*3* (fixed "3" font)
; x new ship must not start at blind gun spot (but arcade does too)
; + highlights in small letters M and W and score 4
; + adjusted flashing text on/off ratio
; x vary ship's thrust display frames %10 -> e.g. %101
; + white vertical line before highscore
; - more gun explosion animations
;   o gain space
;   o optimize overlapping
;   - implement new data
; -   .
; Ideas:
; + transfer colors with rings too
;   + gun changes color too, is that OK?
; - PAL50 timing option
; + smaller ship to allow better manouvering?
;   + data (ship, ship + flames)
;   + offset
;   + reflection
;   + projectile collision
; + use direction search for mine/bullet ring hits
; x using VDELP0 to move ship smoother vertically (not possible)
; ? reverse display of double hit segments (dotted = complete, full = hit once)
;   o done, but is it a good idea?
; + increase some difficulties 1000 points earlier (kick chance, gun turning)
; x better do 16 difficulties for those?
; - reduce maximum ring rotatation speed (saves CPU time)
; + rename "Wave" into "Castle"
; ! adjust scanlines
;   + AA logo
;   + title
;   - Melody load
;   - hishscores
;   + game
;   + messages
 

star_74.bin star_74.cu.bin star_101.bin star_101.cu.bin Star_Castle_Arcade_152.cu.bin Star_Castle_Arcade_152.bin Star Castle Arcade (165, Stella).bin Star Castle Arcade (165, Harmony).cu.bin

  • Thanks 1

127 Comments


Recommended Comments



Sorry, I really don't remember what I meant by that is all?

It really comes off the wrong way.

I think I had just looked through the source code and I noticed that the thrust sound was in a different spot then the prioritized sounds, and maybe I was frustrated because I didn't know how to fix it so I made that post?

Again,sorry and thank you for making it the best that it can be. Michael

Link to comment

I compiled from Subversion 59.

I have the smaller file that works in Stella but not Harmony, and then the FA2 appended 32,768 size file that works on Harmony, but not Stella.

Anyone know why? Is my FA2 file too old? I thought we can make one file that works on both Stella AND Harmony?

I am following instructions given to me by CD-W for adding the FA2 file to the start of the .bin file.

 

Thomas Jentzch: I would like to see a more Vector ship, maybe smaller like you suggest, single line res -- the rest of it is so vector-ish. AND, _please_, one of my hack builds had the mines as a single pixels (not a square). Perfect for "Difficulty A" on the other one switch ("Difficulty A" on one side is for double hit segments of course). All I changed was the shape bits for the mine, the collision detection didn't seem to be affected, and it really did not seem harder, I just like the way single pixels looked compared to squares. The other Star Castle has single pixels, but they don't fly around as nice.

Link to comment

Regarding the two files required, I suggest you contact Stephen. Maybe he can help.

 

I have already requested a smaller ship from Nathan, but due to many restrictions it won't be single line res. But I am looking to make it move vertically with single-line resolution. Not sure if that will we possible.

 

I will look after the smaller mines. It may be an easy change (like you describe), but I am a bit afraid they might become to hard to see. First I have to test on my own, real hardware.

Link to comment

Currently the game speed is determined by the wave you are playing. This causes the problem that the player can simply stay in the 1st wave as long as possible and build up a high score there.

 

In the original, the game speed seems to increase with the number of segments shot and the wave completed. Effectively it increases with the score. So my plan is to use the score for the Atari 2600 version too.

 

This eliminates the cheating option. But then there still is no real incentive for the player to finish a wave, because the extra bonus points for the wave will have the same punishment in speed (= difficulty) increase as shooting a number of segments.

 

Therefore my plan is to increase the speed less (e.g. 50%) for the wave bonus points than for the points of an adequate number of destroyed segments. Then the player has a chance to control the difficulty increase a bit. The more effectively (= low number of destroyed segments) he finishes a wave, the less the speed will increase. Effectively he can gain more points that way.

 

Good idea?

Link to comment

...

I have already requested a smaller ship from Nathan...

 

I will look after the smaller mines. It may be an easy change (like you describe), but I am a bit afraid they might become to hard to see. First I have to test on my own, real hardware.

Thank you again for continued work on this and considering my suggestions! This is going to be another one of the best that the 2600 can run.

I hope you are just testing ideas, because SVN version 66 has many, many things wrong like instant death from super-fast mines, difficulty A rings are not solid at start. I had to stop playing.

Difficulty increasing with score is good, just so it is not so impossible early. Give us some time to play a while! As designed it starts out quite hard. The Arcade Game get to a point where you can't stop thrusting or the mines get you - if that is the point is has to get to, I guess it is okay, but I never liked the fact that you get to a point where you can't stop thrusting.

  • Like 1
Link to comment

I really appreciate your comments, especially since you seem to be the only one testing currently. I hope that will change when I release another version soon (after finishing the 3 bullets changes left).

 

Don't worry about the insane speed at the start, that's the current maximum speed I am testing (forgot to remove that code before checking in, try the latest check in).

About the mine speed limit here, I am also not so sure where to set it. The mines have to become pretty deadly, else you could play the game forever with little challenge. But not too deadly, so that you have a fair change when you are skilled enough. Currently I am mimicking the arcade (where too long games harm the profit) speed, where the mines become as fast as the player's ship. I could reduce that a little bit (maybe 80-90%), but not too much.

 

The dotted difficulty A segment are a test, where I reversed the order (dotted first, then full). There are two reasons for trying that:

1. the player will immediately recognize the mode he is playing

2. in the arcade the segments become thicker when being hit (so thin = dotted and thick = full)

 

It's just an idea I am playing with. Any feedback is welcome.

 

BTW: I will test he smaller mines, just have to find the time to EVER try the game on real hardware. :)

Link to comment

Feedback:

I like the ring color changing progression when you tak out an entire ring segment.

I do not like the inverse dotted difficulty A test.

The large block mines look like placeholders. I still vote for smaller 2 or 1 pixel mines. I can't remember exactly what my hack had because it doesn't run on the newest Stella?? Maybe animated mines of 2 pixels like / then \ but that would probably come out as an even dimmer square. Maybe 2 pixels like : aren't the shots like that?

Also after the giant explosion the thrust sound is buzz like before thrust sound fix.

Link to comment

Feedback:

I like the ring color changing progression when you take out an entire ring segment.

So you don't mind that the gun color changes then too? Did you even notice?

 

I do not like the inverse dotted difficulty A test.

So for now the vote is 1:0 against. (I am neutral)

 

The large block mines look like placeholders. I still vote for smaller 2 or 1 pixel mines. I can't remember exactly what my hack had because it doesn't run on the newest Stella?? Maybe animated mines of 2 pixels like / then \ but that would probably come out as an even dimmer square. Maybe 2 pixels like : aren't the shots like that?

How about animating the mines as rotating 2x2 pixel squares inside a 4x4 or 3x2 square?

 

Also after the giant explosion the thrust sound is buzz like before thrust sound fix.

I will look after that. Shouldn't happen.

Link to comment

 

So you don't mind that the gun color changes then too? Did you even notice?

So for now the vote is 1:0 against. (I am neutral)

How about animating the mines as rotating 2x2 pixel squares inside a 4x4 or 3x2 square?

I will look after that. Shouldn't happen.

- I did notice the gun changes color. Liked it. Since the orig was B&W with an overlay (sometimes without), if the colors are going to change you can do whatever you like. If it were "arcade accurate" the color would not change or move, or be black & white.

- I can't vote twice.

- I would like the option of both larger mines and smaller mines as a difficulty selection (even if the collision detection is exactly the same - it is harder because they are smaller and harder to see, no?) animated if it looks more like the arcade version.

(Although I like 100,000 options like Space Rocks provides, I don't think that is needed here. Just keep it simple and similar.)

I don't like the option of death by running into the rings. That's just me. It wasn't like that in the arcade (and the changing colors), but CD-W made it that way so I would feel bad about taking something away from his vision, just making options to let the player choose none, some, or all.

-Thanks for looking into the buzz sound after the big explosion. Gotta do my "I killed it" "happy fly around victory dance" thrust, and pfffzzt sound ruins the joy.

P.S. I noticed Al has the Melody Board games added back in the Store, so he most likely got new Melody boards and mentioned flooding eBay with Halo to kill the few who profit off of repro copies.

Link to comment

- I would like the option of both larger mines and smaller mines as a difficulty selection (even if the collision detection is exactly the same - it is harder because they are smaller and harder to see, no?) animated if it looks more like the arcade version.

I don't think using an option here is a good idea. For me it would looks like we couldn't decide what looks better. Also I don't think the kernel will support both options at once. So we should look for a solution that is the best compromise.

 

I don't like the option of death by running into the rings. That's just me. It wasn't like that in the arcade (and the changing colors), but CD-W made it that way so I would feel bad about taking something away from his vision, just making options to let the player choose none, some, or all.

I am not a huge fan of it too, but we have to admit that it completely changes the game play especially in higher difficulty levels. You cannot bounce from the rings anymore and have to use some very different tactics. This makes the game much harder then (I also wouldn't remove it without talking to CD-W first).

And three varieties with two switches combining two options would become a bit irritating for the player, IMO. Maybe we can define 4 varieties. E.g.

  • BB - single shot rings
  • BA - double shot rings
  • AB - double shot rings, starting at a higher difficulty (e.g. in the middle between easy and maximum)
  • AA - double shot rings, starting at a higher difficulty, with deadly rings

Still not too easy to remember, but we fully utilize the 4 possible variations.

-Thanks for looking into the buzz sound after the big explosion. Gotta do my "I killed it" "happy fly around victory dance" thrust, and pfffzzt sound ruins the joy.

Now you can! :) But maybe you should consider positioning your ship for the next wave

BTW: Now that the "WAVE" has no direct resemblance to the difficulty anymore, I wonder if that term is still a good choice. Maybe should use "CASTLE" instead?

 

P.S. I noticed Al has the Melody Board games added back in the Store, so he most likely got new Melody boards and mentioned flooding eBay with Halo to kill the few who profit off of repro copies.

Personally I have given up to care. It ruins the fun.

Link to comment

Moving a PM conversation over here:

Hi Thomas.

Just saw you made some progress on Star Castle.

I was helping Chris with sound fx for this game, I'm not a sound fx wise, but it seems I was the unique that offer help when he asked.

 

The sounds are minimal because we are out of rom space, wondering to know if you did optimisations that makes some free bytes?

 

Also, I'm thinking a way to improve the sound code, using frame delay, there's no need for the big explosion data be changed every frame.

Changing on even frame makes the sound longer or reduce the code by half, you know.

With these free bytes I can improve all the others sounds. But for this I need a byte of ram, there's still one avaliable?

 

The siren is kind of placeholder, I didn't find a way to reproduce the sound like in the original, but I want to make more tests, if you

don't mind.

 

Basically just want to know if you want my help or you can make the improvements by yourself. I'll be glad to keep working on it.

 

See ya.

Link to comment

Guest
Add a comment...

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