Release

Bugzy Battle Game

2

was8bit 2019-02-20 04:46 (Edited)

OK, you are sent to remove a "SPACE BUG" infestation... there are 3 different types of bugs

1) Y shaped are slow and just get in the way, they don't even harm you
2) Double winged V shaped are QUEENS and can start new NESTS.. they can fire bullets at you
3) Blocky U shaped are SOLDIERS and will RAM you, killing you. They are FAST!!

You have 2 different types of Fire-power...
1) HEAVY fire is available with the (A) button, and shoots slowly forward... it takes out all bugs and helps bust up NESTS
2) LIGHT RAPID fire is available with the ( B) button, and it shoots backwards (rearward) - so when the SOLDIER BUGS are chasing you, you can run away from them and still kill them while they are behind you ;) Does not affect nests.

NESTS: give birth continuously to new bugs. As you attempt to destroy them, the nest can be rebuilt over time. Once one nest is destoyed, any QUEEN of that color may start a new nest. Nests and bugs come in three colors and types:
1) RED: Very aggressive, hard to kill off
2) YELLOW: somewhat aggressive
3) GREEN: Mild, easier to kill off

At the top left is your life level and at the top right is how many nests remain...

TIP: It is best to rush quickly towards a nest and take it out quickly... then take out any queens before they start a new nest... then repeat same strategy on the next nest :)

(Current game doesn't have intro or ending)
(This game only tests green and yellow)
(game is currently non level, levels will be added later)


was8bit 2019-02-24 19:32

I "Could" finish this out if anyone likes this :)


Timo 2019-02-28 07:46

I moved the other "chapters" to Examples and kept this as the released game. It's actually fun, what are your ideas to finish it? I think it could be arcade like, just something to get high scores with endless gameplay, getting harder and harder.


Timo 2019-02-28 07:48

Maybe levels: When you finish one level, the next will have more nests. Simple and effective :)


was8bit 2019-02-28 14:51

Thanks for the help :)

Yes, this is a dream realized ... an old apple2e game that was machine code driven that took advantage of the Apple hardware was called BOLO and was hand written, was simple white "bugs" on a scrollable maze with circular nests... it had 3 different kinds of bugs - the smartest bugs chase you down... the dumb bugs would stop a lot and you had to avoid running into them and dying that way... it was the most fun game I've ever played... I've since lost the code for that game, so it's gone forever :(

This game is just a "small" snapshot of that game... to achieve the same level of complexity it would have to handle a few hundres bugs and about 20 active nests that rebuilt themselves with pixel precision and at high speed..

this isn't possible here as we are limited to 64 pixel precision sprites total, or lots of bugs but are limited to cell space movement...

... as far as developing this game further, I might explore the 3 different bugs the older game had... actually the space between the walls are too narrow in this game to include the slow dumb bugs, so I might introduce an elite bug type.. few in number, they are faster, smarter, and chase down the player... I'll have to introduce reverse firing (firing backwards as you are running for your life) as that will be the only way to kill those bugs...

I might also explore the idea of a bigger maze, as this maze is rather small in comparison to the original... that will require some tinkering ... with the ability of a bigger maze, one could really expand the game..

But, as a quick thing I could figure something out with what I have already ... I work on doing the quick thing first :)


was8bit 2019-02-28 15:06 (Edited)

Changes being made now...
1) red will be very aggressive
2) yellow somewhat aggressive
3) green are as they are now

This means:
... how many queens produced (changed already)
... how quickly nests are rebuilt(will add)
... how the bugs look and behave (will add)

.. green will remain relatively as is...

I'll post this version when these changes are all done...

... THEN I'll introduce levels :)


was8bit 2019-03-01 05:58

I had to open up the playing field, as the small spaces made it impossible to outmaneuver the fast soldiers that ram you dead...

This game isnt exactly identical to my favorite BOLO game, but it does have the same thrill and difficulty :)


was8bit 2019-03-01 06:08 (Edited)

My idea for levels are:
1:G
2:GG
...
5:GGGGG
6:GGGGY
7:GGGYY

OR,maybe just let player select how many of each color to play against... end game would show a "LEVEL" with score, so people can compare scores for same levels,,,

If max nests = 5, and level numbers are coded RED=100, YELLOW=10, GREEN=1, then a game with 1 red, 2 yellow, and 3 green is level 123, and just one red only is level 100... easiest game is 1 green level 1 and hardest is 5 red level 500

.. perhaps also track game time, as I think level 500 couldn't be won, it would be a matter of how long could you survive... so maybe just track time rather than a score...


Timo 2019-03-01 07:37 (Edited)

I saw the CPU is burning and the game runs slowly, so I tried to optimize it a bit. Here is my version of the main FOR loop:

FOR IY=0 TO 31
FOR IX=0 TO 31
    C=CELL.C(IX,IY)
    IF C>0 THEN
      A=CELL.A(IX,IY)
      IF C>=66 AND C<=77 THEN
         CALL DONEST(IX,IY,C,A)
         INESTS=INESTS+1
      ELSE IF C>=18 AND C<=29 THEN
         CALL DOCOMPUTER(IX,IY,C,A,0)
      ELSE IF C>=34 AND C<=45 THEN
         CALL DOCOMPUTER(IX,IY,C,A,1)
      ELSE IF C>=50 AND C<=61 THEN
         CALL DOCOMPUTER(IX,IY,C,A,2)
      ELSE IF C>=6 AND C<=9 THEN
         CALL DOBULLETS(IX,IY,C,1)
      ELSE IF C>=82 AND C<=85 THEN
         CALL DOBULLETS(IX,IY,C,2)
      ELSE IF C>=10 AND C<=13 THEN
         CALL DOBULLETS2(IX,IY,C)
      END IF
    END IF
NEXT IX
NEXT IY

And in the end I called WAIT VBL always, not every 5th time, then it runs smoother.
By checking all 32x32 cells you do the loop 1024 times per frame. Poor little 8-bit CPU ;) My code still runs at 100% CPU, but the result is much better, because I don't do unnecessary checks. Empty cells aren't checked at all.


was8bit 2019-03-01 18:30

Ah, does help a lot... thanks for the help :)

Also, in my early tests with just a screen sized area the CPU was under 100% and i didn't check it when upgrade to full background size... a bigger sized map is out of the question...

And, it may seem jittery in that to slow down bullet speeds i added random movement to them... I can create smoother movement and have slower speed using a different method..

... everything was tweaked for my original setup, I like the changes you suggested, but it will require retweaking things...

QUICK QUESTION, does IF INT(RND*N)=0 THEN significantly slow down the CPU? I could replace these will counters like ... ICOUNT=ICOUNT+1 IF ICOUNT>IMAX THEN .... would that help free up the CPU some? Remember these are in the LOOPS so even a small improvement will have signifacant effect overall ... I like to control how frequently things may or may not happen...

... so, I'll smooth out the bullets and retweak and repost an upgrade when done :)


Timo 2019-03-04 21:19

RND has no extra CPU cost, so there shouldn't be a difference.


was8bit 2019-03-05 01:18

Thanks for the tech info :D


Tinycloud778 2019-04-10 19:28

Really fun


was8bit 2019-04-11 04:09

Thanks :D


Log in to reply.