ochadenas / cpudefense

A tower defense game for Android based on a microprocessor theme
MIT License
126 stars 9 forks source link

Zero-attackers can pass over a SUB1 without dieing. #46

Closed juleskers closed 1 year ago

juleskers commented 1 year ago

Hi again!

I've kept up with the change log, and saw enough upgrades that I am currently trying again.

Once again, stage 8 is kicking my behind. I am following your advice from last time, and have soecced my heroes to have Herman Hollerith @ 3. This means I have enough starting bits to instantly put two SUB1 in the center lane.

The, it is a matter of perfectly tapping all the 10-attackers until I can afford SHR in the side paths.

I am very good at tapping the 10s, but am still dieing.. I have seen zeroed attackers (both "0" and "00") enter my second SUB1, and pass 9ver it without taking any damage. I think this is a bug, but I am not sure if it is maybe intentional..

SUB Chips seem to have an attack-frequency (upgraded via Alan Turing), so maybe I can only expect 100% kill-rate after a few upgrades? If so, that makes the level a bit harsh.. You can lose lives even if you play perfectly (tap all 10s before they reach your first sub)

I currently have Turing@1, giving a 0,95 frequency. Maybe the multiplication factor throws of a frequency somehow?


I have also seen some attackers go directly straight (so only passing over the center two slots before hitting the CPU), while other attackers take a side-loop (thus passing over 6 slots: Center 2, side 2, center 2 again).

Are those "direct attackers" intentional?

ochadenas commented 1 year ago

It's difficult to tell without actually seeing what you're doing ... but it's perfectly possible to beat this level. Perhaps not without losing a life, but you can always replay later when you have more heroes.

Yes, it's intentional. Most attackers take the upper or lower loop, but some are heading straight for the CPU. Sometimes one of them might get through.

If there are too many attackers at the same time, the SUB chip may not be able to get them all. It can only hit one at a time, and then needs to recharge.

Don't buy any SHR in this level. Upgrade the SUBs in the middle line instead, up to level 3 (they will take out the 10 with one shot). You can use additional SUB chips in the side lanes if you have information left.

juleskers commented 1 year ago

Thanks for the feedback! And the advice! I do hope that my issue-raising still comes across as positive, you have me hooked after all πŸ˜„

If there are too many attackers at the same time, the SUB chip may not be able to get them all. It can only hit one at a time, and then needs to recharge.

That explains it! The fact that they can be "overwhelmed" is new to me, did I skip over any explanations? I guess I entered with the expectation that each level can be played "perfectly" at the time it becomes reachable. But obviously, you intend players to go back later, once they are upgraded.

Cwpute commented 1 year ago

I agree that this level presents a particular spike in difficulty, which is quite out of place compared to the rest of the game difficulty curve. Perhaps you want to have difficulty spikes in some parts of the game, which can be good too!

But still this part of the game comes quite fast in the beginning of the game, and probably isn't explained well enough. There might be ways to handle this better.

  1. There is not much space to tap on the attackers before they arrive at the first chip, extending this space could be useful.
  2. The whole circuit the attackers have to go through is quite short in general, and the chips come at quite a fast rate, which makes the identity of the level, but may be too intense.
  3. This could come one or two levels later in the campaign, so that players have spent a bit more crypto in their improvments.
juleskers commented 1 year ago

Thanks for the input @Cwpute , I'm a bit relieved it's not just me then :sweat_smile:

It's interesting to view my own experience as a playtesting / level-design-balancing exercise.
I think the following factors defined my expectations going in.
I hope that gives some hints as to which knobs can be turned to fine-tune the experience. (fine tune! not change! Game still has me hooked :smile: )

  1. You only just get access to the SHR chip, as the "more powerful" divide-by-two (instead of subtract) This narrowed my thinking coming into this level: everything looked like a nail for a SHR-shaped hammer. Could potentially be fixed by a reminder of the strengths/weakness of SUB (basically the hints/spoilers I received here in this issue thread).
    Some suggestions for teaching hints that would have unstuck me (Hindsight is always better :smile: )

    • "remember: SHR chips are powerful, but cannot clear attackers. Only SUB-chips destroy zeros"
    • "SHR chips quickly reduce attacker value, but against hordes of weak attackers, SUB chips may be a more cost-effective defense"
    • "Chips need to recharge between firings. Hire heroes to reduce the chance of grouped attackers overwhelming a chip"
    • "A single chip may be overwhelmed by massed attackers, sometimes two weak chips can be more effective than a single upgraded one.
    • "There is strength in numbers, both for many weak attackers, as well as many weak defenders."
    • "Chip upgrades increase its attack strength, but only Heroes can increase their attack rate"
  2. I hadn't realized yet that chip fire-rate means attackers can be missed entirely. Stage 8 is the first level where a "zerg rush" of many weak attackers comes at you.
    Because the track is so short, I was too rushed to learn this lesson by observation,

    • Perhaps an intermediate level could introduce the "zerg rush" on a longer track?
      • I'm thinking something like -------[]--[]-------------[]---[]--------[]--CPU
        • First wave could be a mix of 'slow' 1's and 0's, to give you some funds, and trick the player into thinking it'll be easy.
        • Then second wave a "zerg rush" of 0's. The long spacing would give you time to realize everything starts zero, but still survives your sub-wall, forcing you to learn the lesson "MOAR SUB MOAR GOOD" :stuck_out_tongue:
      • Then stage 8 could show that you mastered this strategy by doing it under time-pressure on a short track.
    • An extra level would also give you an additional intro-text to put one of the above teaching hints into.
  3. I've replayed this level a lot, which made me realize that the randomness inside waves really matters.

    • I've had stage-8-wave-1 start both very easy (first handful were 0's with a couple of 1's) and downright sadistic (first ten attackers included a "10", which I didn't yet have the information-funds to defeat at all, despite heroes.
    • I'm not against this per se, but it is a factor to account for in the difficulty-budget, and stage 8 is the first time it became noticable for me.
    • I liked that a "lucky start" could help me get passed a difficult level, and a "cursed start" isn't a bad feeling in itself.
      It feeds into a gambling addiction feeling: "next time I'll be more lucky!"
  4. I'm still confused about forks/splits. Is there any way to predict if an attacker is going to go left, straight or right?

    • I feel there should be, and find myself paying attention to the relative positioning (higher or lower on one of the 4 PCB-traces, but I get the impression I'm deluding myself.
    • Speaking of PCB-traces: is there any significance to their "width"? I have seen 1-wide, 2-wide and 4-wide, but don't know if this actually means anything. As I write this, I still can't answer for myself:
      • Can 0000-attackers only come on 4-wides?
      • Do the relative widths coming out of an intersection mean anything for the frequency an exit is taken?
      • It's obvious that attackers cannot take all paths (e.g. no-one goes up/down on the first intersection in stage 8), but how to see this as the player? The first time I play a new level, intersections always scare me, because I cannot predict if they are dangerous shortcuts, or blessings in disguise that will loop attackers past my chips multiple times.

All in all, I was very happy to have passed Stage 8, gave me a true sense of victory after literal days of being stuck at it. Then again, I had to reinstall my phone to upgrade to Android 12, and am now dreading that I have to beat it again. (upgrade ate my progress, since I don't sync via Google)

Remember: making your players feel things is a compliment, regardless of if it is joy, or dread :heart:

Cwpute commented 1 year ago

Fantastic feedback @juleskers , very true and insighful.

ochadenas commented 1 year ago

Phew, so much text :wink: Thanks a lot for your extensive feedback, it's very valuable.

I agree that in hindsight (which is always better :wink:) it would have been better to place this level later in the game, and have some more easy ones for practice before. However, I fear that mixing up the existing levels would cause a lot of confusion, so I prefer leave the order as it is.

What I have done now (that is, in 1.25):

At least I was able to complete this level without any hero and without losing a life ...

Regarding your other questions: The mechanics of the game are much less intelligent than you think.

if you are interested in the details of level definition, have a look at https://github.com/ochadenas/cpudefense/wiki/LevelCreation#commented-example.

juleskers commented 1 year ago

Phew, so much text πŸ˜‰ Thanks a lot for your extensive feedback, it's very valuable.

Sorry-not-sorry πŸ˜‰ and you're welcome @ochadenas!

You've given me an enjoyable game, for free, so the least I feel I can do is provide honest, respectful feedback. Since this is your personal, spare time hobby project, I fully realise, and accept, you won't always have the resources (or the desire) to do anything with the feedback, so I hope my holy-wall-of-text-batman! remains welcome in the future.

What I have done now (that is, in 1.25)...

Wow! That sounds like a lot of great improvements, and already more than I thought possible, faster than I expected ❀️

The mechanics of the game are much less intelligent than you think.

Thanks for the look behind the curtain! as a professional programmer myself, that sounds like a very good approach to K.I.S.S. (keep it stupidly simple). The fact that I am reading so much more into it is a perfect sign of human imagination. (or is that human hallucination 😝) I believe I read a psychology paper once, where they fed pigeons on a truly random timer, and observed that the pigeons inventenld entire, almost-religious, ritual dances to summon the food, assigning meaning where there was none. I soooo understand the pigeons right now πŸ˜„

Thanks for the wiki-link!
very well-documented, and looks like you paid proper attention to your own gamedev tooling, to make level definition easy πŸ‘

Edit: Found the pigeon paper:
Skinner, B. F. (1948). 'Superstition' in the pigeon. Journal of Experimental Psychology, 38(2), 168–172. https://doi.org/10.1037/h0055873

Full text available at: https://psych.hanover.edu/classes/Learning/papers/Skinner%20Superstion%20(1948%20orig).pdf

Nicely summarised for normal people here: https://culinarylore.com/food-myths:food-pigeons-and-us-learned-superstitions/