Close
0%
0%

Evade - an ascii game for the Hackaday 2018 Badge

It is a space shooter game. Attempt to hit an enemy in space with your ion cannon. Trying to be reminiscent of Millennium Falcon's weaponry.

Similar projects worth following
I have been working on this game for about a week, off and on. I have a complete, playable color ascii game. Last night I added some sound.
I need to add some items.
1 rem Add Splash screen with music
2 rem add a wrap around screen, both up-down and side-to-side
3 rem The screen should have 10 to the left and right
4 rem and 10 to the up and down. 60 wide and 40 tall.
5 rem -10 through 49 wide and -10 through 29 tall
8 rem when a ship is blown up random in a new one
9 rem add instructions page after Splash screen

Those are the first lines in the game. At first I would add rem(arks) in the game where to put some code. It is now getting too long to find the areas where I am needing to add code. I decided to put the reminders at the beginning of the code.

It is written in BASIC on the Hackaday 2018 SuperCon Badge. If there is another device that will use the basic interpreter you can use this code on that device.

<<12/17>> I get an error when attempting to assign a negative number to a variable, such as let a = -1.  It occurs even after declaring the variable and then later attempting to assign a negative number to that variable.

I just had a thought, how about this code?

10 let a = 11
20 a = a * -1
30 println a

 I'll go test it.

---------- more ----------

Bonk!  Even a = a * (-1) gives a "Bad token 4 at line 20" BASIC error".

The way I have found to get around this is, if I want to assign -11 to the variable a I use a for loop.

While typing that code onto the Badge I came up with a faster idea.

It was:

10 let a = 0
20 for i = 0 to 10
30 a = a - 1
40 next i
50 println a

It should be:

10 let a = 0
20 a = a -11
30 println a

 Such an easy thing to overlook when I was making it harder than it has to be.

 I guess I'll have to learn to use GitHub so I can have the code readily available.

The 'game' I made previously to this one has two dots randomly wandering around the screen.  The dots are different colors.  The dot that lands on a space that is occupied by the other dot is declared as the winner.  It is a non participatory game, but you can watch it.  Out of coding that game came the idea of the space shooter.  I worked on three or four iterations of the HUD before I decided that the current one is the one I like.  It sits in the center of the screen and looks like:

   _____________   
  /\                         /\  
 /   \                     /   \ 
/      \                 /      \
|        \             /         |
|          \         /           |
|            \     /             |
------------     -------------
|            /    \              |
|          /        \            |
|        /            \          |
\      /                \       /
 \   /                    \    / 
  \/___________\/  

Well, something like that.

EvadeGame.txt

BASIC game for 2018 SuperCon Badge

plain - 9.91 kB - 12/22/2018 at 15:47

Download

  • Evade Theme

    Greg Bushta01/03/2019 at 05:14 0 comments

    This is the music I have come up with for the Evade game's splash screen.  It might me a little bit too fast.  It is quite repetitive.  It comes in at 1313 bytes.  I am going to have to pepper the code with some keyboard input checks to provide a break out of the splash screen during the playing of the music.  Otherwise you have to listen to it until the song starts over.  That is not too long, but I know how things can get.  I want you to be able to get on with the game as soon as you would like.

    10 rem Evade Theme
    15 for i = 0 to 1
    20 tune 55,0,0,600
    30 tune 54,0,0,100
    40 tune 55,0,0,100
    50 tune 57,0,0,600
    60 tune 55,0,0,100
    70 tune 57,0,0,100
    80 tune 59,0,0,200
    90 tune 57,0,0,200
    100 tune 55,0,0,200
    110 tune 59,0,0,200
    120 tune 57,0,0,200
    130 tune 55,0,0,200
    140 tune 54,0,0,200
    150 tune 57,0,0,200
    155 next i
    160 tune 43,38,0,190
    165 tune 0,0,0,10
    170 tune 43,38,0,200
    180 tune 0,0,0,200
    190 tune 43,38,0,90
    195 tune 0,0,0,10
    200 tune 43,38,0,100
    210 tune 43,38,0,190
    215 tune 0,0,0,10
    220 tune 43,38,0,200
    230 tune 0,0,0,200
    240 tune 43,38,0,90
    245 tune 0,0,0,10
    250 tune 43,38,0,100
    260 tune 47,0,0,200
    270 tune 45,0,0,200
    280 tune 43,0,0,200
    290 tune 43,38,0,90
    295 tune 0,0,0,10
    300 tune 43,38,0,90
    305 tune 0,0,0,10
    310 tune 43,38,0,190
    315 tune 0,0,0,10
    320 tune 43,38,0,200
    330 tune 0,0,0,400
    335 for i = 0 to 1
    340 tune 43,38,55,190
    345 tune 0,0,0,10
    350 tune 43,38,55,200
    360 tune 0,0,55,200
    370 tune 43,38,54,100
    380 tune 43,38,55,100
    390 tune 43,38,57,200
    400 tune 43,38,57,200
    410 tune 0,0,57,200
    420 tune 43,38,55,100
    430 tune 43,38,57,100
    440 tune 47,0,59,200
    450 tune 45,0,57,200
    460 tune 43,0,55,200
    470 tune 43,38,59,90
    475 tune 0,0,0,10
    480 tune 43,38,59,100
    490 tune 43,38,57,200
    500 tune 43,38,55,200
    510 tune 0,0,54,190
    515 tune 0,0,0,10
    520 tune 0,0,54,200
    530 next i
    700 goto 15
    

    Copy it.  Load it into your 2018 Supercon Badge and run it.

    Please let me know what you think.  I am going to add it to the main part of the program in a few days so it will blend in with the splash screen.  

    The lines 160 through 330 are supposed to be like percussion.  The limitation of the tune command gave way to what you hear.  I did try other things and like this best.

    As for the tempo, I am thinking about 1/4 slower or, perhaps 1/3 slower.  It was not what I figured it would be when I wrote it originally at twice the tempo.  That was way too fast.

  • Cannon not reloading quickly enough.

    Greg Bushta12/27/2018 at 13:42 0 comments

    One of the suggestions I received from @Ian Weber and my kid (his girlfriend) is that the ion cannon was not loading fast enough.  Further testing was that the cannon is now done to 45 from 100.  Line 3310 has the variable y as the timing for the cannon to recharge after firing.

    Speeding up the cannon to fire caused a need for the enemy ship to seem a little slow in its erratic evasive movements.  I adjusted that to 35, line 3330.

    If you have played the game on your 2018 SuperCon Badge you should have noticed that the LED glows green to show you that the cannon is charged up.  When you press the fire button (space) you will see that the green light goes out as the HUD shows in the upper right corner that the cannon is now recharging.  If you make a hit on the enemy ship you might see that the LED flashes red for a brief period of time.  Sometimes I don't even notice it as I am too focused on the display screen.

    Still working on the music and the instructions page.

  • File upload, but still beta

    Greg Bushta12/22/2018 at 15:56 0 comments

    I've uploaded the current Evade game text file.  It plays fine.  I still have to add the music which I started composing last night.  Figuring out how to break out of the music to get to the instructions page is proving to be a little challenge.  It may take a bunch of gosub calls or make the song shorter and repeating. 

    I also discovered that I don't like the instructions page which is right after the the splash screen.   I am thinking ASCII at the top would look OK.

    Let me know what you think about this game?  If you have hints about being able to break out of the music, I am all ears.  :-D

  • Splash Screen music

    Greg Bushta12/22/2018 at 02:08 0 comments

    I think all I have to do is compose the Splash Screen Music.  The the code will be done.  :-D

  • Splash Screen drawn

    Greg Bushta12/22/2018 at 01:35 0 comments

    I spent some time creating a nice looking splash screen.  I may add to it a little bit.  I tried using red as the lettering and it doesn't show up bright enough for me.  Perhaps my batteries are getting low. Here is code for the splash screen.  It says to << press space >> at the bottom of the screen.  Well, that will only clear the screen and get you a prompt.  Look at the code to see what I have done here.  Copy it.  Edit it for your own projects.  If you have suggestions on how to make it smaller, I am all ears.

    Read more »

  • Bytes Free

    Greg Bushta12/18/2018 at 23:45 0 comments

    I just checked the bytes free as it stands right now and there are 8923 B free.  <<12/18>>

View all 6 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates