Jump to content
IGNORED

2020 BASIC 10Liner Contest


carlsson

Recommended Posts

Hi!

Quote

Kevin Savetz has has created a lot of great Atari entries; his FloddyBot game is particularly impressive.

 

I'd recommend looking at his GitHub account where he has them linked: https://github.com/savetz.  He's been great about writing up explanations about how the code works, and I learned a lot from them.  It helped quite a bit when I was getting started on my first (modern day) Atari program.

 

That's a good segue for an announcement I'd like to make.  There's a brand new Atari entry in the 10-liner contest! ?  It's a graphical adventure game I've named...

 

WIZARD OF WASD

anim-screencap.gif

 

It's an EXTREM-256 entry in FastBasic.  I've attached the self-running ATR, but full details (including commented source) are up on my personal site here: http://angrydill.com/wasd

 

Wow, very good game!!

 

I noticed that the map display was a little slow, so I optimized it a little, from:

PROC M
  FOR R = 0 TO 6         :. map display is 7 rows tall
    FOR C = 0 TO 6       :. map display is 7 columns wide
      G = 206            :. character code for player gylph in color white
      IF C - 3 OR R - 3  :. this is not spot where the player glyph always appears, so get map glyph instead
        G = PEEK(K + PEEK(M + P - 84 + 27 * R + C) * 3)   :. look up entity in map cell, then glyph for entity
      ENDIF
      POKE Z + 81 + 20 * R + C, G   :. put glyph on screen
    NEXT
  NEXT
ENDPROC

Into:

PROC M
  FOR R = 0 TO 6         :. map display is 7 rows tall
    O = M + P - 84 + 27 * R   ' Precompute map source
    A = Z + 81 + 20 * R       ' and screen destination
    FOR C = 0 TO 6       :. map display is 7 columns wide
      G = 206            :. character code for player gylph in color white
      IF C - 3 OR R - 3  :. this is not spot where the player glyph always appears, so get map glyph instead
        G = PEEK(K + PEEK(O + C) * 3)   :. look up entity in map cell, then glyph for entity
      ENDIF
      POKE A + C, G   :. put glyph on screen
    NEXT
  NEXT
ENDPROC

 

IMHO, the difference is noticeable, and the source is still at 10 lines.

 

Also, for the formatted source, I prefer to use the ' character to comment, as this can be used without the ":" before, IMHO the source looks slightly cleaner, but this is obviously your call.

 

Have Fun!

 

Edited by dmsc
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

On 3/9/2020 at 6:21 PM, dmsc said:

I noticed that the map display was a little slow, so I optimized it a little...

That little optimization really does make a difference, thanks!

 

Coincidentally, that's actually the second time you've helped make my display routine faster.  The first was by you creating the (awesome) FastBasic interpreter/compiler!  ?

 

I had originally coded the game in TurboBasic XL, and while it was fully functional, the screen refresh was really slow.  I had read about FastBasic and decided to give it a try, and was very impressed with the results!  In addition to better speed, it's nice to have true string arrays, and FB seems to support a lot more abbreviations, making it easier to fit programs in 10 lines.

 

Also, thanks for the tip using ' for comments, I'm now a convert!

 

In a couple of days I'll be publishing an updated version of Wizard of Wasd with the screen improvement, and with the (earlier requested) turning off of the keyclick sound.

 

Thanks again,

Randy "AngryDill" Gill

  • Like 5
Link to comment
Share on other sites

On 3/6/2020 at 6:17 PM, Bunsen said:

We could add 4 Atari entries if the programs of this thread would be send in.

And I bet Vitoco has something more for us...

I think Atari should be as strong as C64. Hard to beat MSX this time.

Still waiting ....

Link to comment
Share on other sites

2 hours ago, Bunsen said:

Still waiting ....

I've just packaged a FastBasic game called Wazers for the PUR-120 category, and it looks like this:

 

WAZERS.PNG.3d8f7aad474c6566f85792437f0862cf.PNG

 

I'll send it to you in a moment.

 

Time goes too fast, and I haven't packaged my almost-finished EXTREME-256 games yet. Docs are in progress...

 

  • Like 7
Link to comment
Share on other sites

6 hours ago, AngryDill said:

As mentioned earlier, I just loaded the updated version of WIzard of Wasd to the site here:

http://angrydill.com/wasd

Or you can grab the latest ATR attached to this post.

 

Thanks for the suggestions, everyone!

WIZOWASD.ATR 130.02 kB · 8 downloads

Is it me or keyclicks were not removed?

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, Philsan said:

Is it me or keyclicks were not removed?

Ahh crabapples, I goofed up.  Very sorry about that.  I copied the new source code (WIZOWASD.BAS) into the ATR, but forgot to update the compiled version (WIZOWASD.COM), and that's what the batch file runs.

 

I've attached the ATR with the fix.  If you'd rather, you can fix the ATR you already have by compiling the .BAS within the ATR itself.

 

Press Esc to quit the game, then Esc again to exit to DOS.  Then run FBC (FastBasic compiler) and give it an input name of WIZOWASD.BAS and an OUTPUT of WIZOWASD.COM.  When you reboot, it will run the updated compiled code...

 

Screenshot_2020-03-13_20-42-34.thumb.png.38e1ed227d698472d7cc46baf595e155.png

 

Sorry to all for the inconvenience.

 

 

WIZOWASD.ATR

  • Like 2
Link to comment
Share on other sites

6 hours ago, AngryDill said:

Ahh crabapples, I goofed up.  Very sorry about that.  I copied the new source code (WIZOWASD.BAS) into the ATR, but forgot to update the compiled version (WIZOWASD.COM), and that's what the batch file runs.

 

I've attached the ATR with the fix.  If you'd rather, you can fix the ATR you already have by compiling the .BAS within the ATR itself.

 

Press Esc to quit the game, then Esc again to exit to DOS.  Then run FBC (FastBasic compiler) and give it an input name of WIZOWASD.BAS and an OUTPUT of WIZOWASD.COM.  When you reboot, it will run the updated compiled code...

 

Screenshot_2020-03-13_20-42-34.thumb.png.38e1ed227d698472d7cc46baf595e155.png

 

Sorry to all for the inconvenience.

 

 

WIZOWASD.ATR 130.02 kB · 8 downloads

No problems Randy, glad to help.

Keep up with the good work!

  • Like 1
Link to comment
Share on other sites

The NOMAM event at which the results should be presented has been postponed due to the Coronavirus pandemia.

But the BASIC 10Liner Contest will be terminated regularly at 21st of march. I hope all judges stay ok and will be able to evaluate the entries.

  • Sad 1
Link to comment
Share on other sites

2 hours ago, Bunsen said:

The NOMAM event at which the results should be presented has been postponed due to the Coronavirus pandemia.

But the BASIC 10Liner Contest will be terminated regularly at 21st of march. I hope all judges stay ok and will be able to evaluate the entries.

Sad to read that.

 

I just sent you a "commemorative" game about this pandemia... I called it Coronavirus for the PUR-80 category and it looks like this:

 

CORONAVI.PNG.e4b8d72144f60dfa93164ed9490a822d.PNG

 

 

 

  • Like 5
Link to comment
Share on other sites

Well, I'm drinking and coding again :)  Probably not the best thing to do when the deadline is so close but what the hell.  Hope I get the time to finish this one, also need to upload my other two.

 

It's an endless runner for extrem-256 written in FastBasic.  Not certain I'll get time to finish :(  or even if it will squash into 10 lines (it does atm, but there's polish to add)

 

Anyway, here's a little preview in case it all goes tits up.

 

 

 

  • Like 6
Link to comment
Share on other sites

14 minutes ago, Preppie said:

Anyway, here's a little preview in case it all goes tits up.

 

 

Nice parallax effect!!! How do you go from one level to another? Are there some rules on that?

 

Few days for the deadline... I have to decide if I send a couple of undocumented games and try to finish a work in progress (from last year), or to just document the ready ones and keep the wip for the next year... ?

 

 

Link to comment
Share on other sites

3 minutes ago, vitoco said:

Nice parallax effect!!! How do you go from one level to another? Are there some rules on that?

 

Few days for the deadline... I have to decide if I send a couple of undocumented games and try to finish a work in progress (from last year), or to just document the ready ones and keep the wip for the next year... ?

 

 

I never realised how strange it seems moving levels until I just watched the video.  Joystick up/down moves you to another level, trigger down thrusts up when pressed and gravity takes you down when not pressed.

 

 

I understand, I have to document the 2 little progs I did and enter them but I really want to get this one finished.

 

Link to comment
Share on other sites

btw: glad you like the parallax :) It's really simple, I'm guessing you know what's going on.  I wrote it last year when I got back into the atari but had the idea back in the eighties but my assembler skills weren't up to it and Atari BASIC wasn't fast enough (my God! I luv FastBasic) 

Link to comment
Share on other sites

 

6 hours ago, Preppie said:

...I'm guessing you know what's going on...

As someone who's not an Atari graphics guru (and always impressed by those of you who are), it's not obvious to me.  My guesses would be...

  1. You're using the vertical blanking interval to adjust the fine scrolling register?
  2. You're using ultra-wide player graphics for the floors between levels, and missiles for the boxes?
  3. You're using custom character graphics for the brick, and are rotating different character sets to give illusion of movement?
  4. You're animating the color palate?

Am I even close?

 

At any rate, I must say that it looks really cool!

 

6 hours ago, Preppie said:

I luv FastBasic 

+1 on that!  ?

Link to comment
Share on other sites

 

On 3/7/2020 at 10:59 AM, erichenneke said:

 

 

 

...officially christened as "Palisade" now.  

 

 

I've officially submitted my Atari PUR-80 entry, "Palisade".   

 

2020_10linerPUR80code.JPG.979af4def8a5c464281963979a258c09.JPG

 

It runs in plain Atari Basic, as required by the PUR-80 rules.

If also runs as-is in Altirra Basic too with no modifications needed.

 

The zip file includes user instructions and detailed code explanation.

 

PALISADE.ATR

PALISADE.zip

 

-Eric

  • Like 4
Link to comment
Share on other sites

2 hours ago, erichenneke said:

I've officially submitted my Atari PUR-80 entry

Gratz.  I think getting everything completed and finally deciding that it's finished is the hardest part.

 

6 hours ago, AngryDill said:

As someone who's not an Atari graphics guru (and always impressed by those of you who are), it's not obvious to me. 

Also not a graphics guru :)  The bricks themseleves are the simplest part, there's 4 characters and you just swap in the correct one depending on the scroll postition.  It's ony 8 bytes and FB can easily do this with a MOVE, you just need to procede it with a PAUSE 0 to initialate a fake VBI.

 

Having anything other than P/Ms or square character blocks move over the scrolling bricks is harder.  The rings are 4 characters, so extending the MOVE command from 8 bytes to 40 bytes isn't too much of a strain but each ring graphic also needs 4 different backrounds.  So this ends up being  4 characters x 4 scroll offsets x 4 animations  = 64 characters x 8 bytes = 512 bytes

 

So it's not really a hard concept just a memory hog for preset 'sprites'.  Assembler could merge the rings and background on the fly, but FB needs them pre-rendered.

 

  • Like 1
Link to comment
Share on other sites

Sorry for the delay. I was updating it for a 256 bytes per line listing. It is working now.

 

To use it with FastBasic programs, just extract your GAME.BAS file from the ATR and then give it to the ATASCII Printer in the File parameter. Then select "ATASCII listed file" as the Filetype, the line length in the Page parameter and choose one of the Background options. The printer will wrap lines longer than the selected size, but when a line has exactly the same amount of chars than the line size, a blank line will be included, just like when you LIST in Atari BASIC, and to avoid that blank line, check the Skip empty lines option. Please note that an "ATASCII listed file" should have ATASCII char $9B=155 as EOL (end of line), not the CR-LF from MS-DOS or WINDOWS.

 

You can use any tool to extract the GAME.BAS file from the ATR, but I got used to use drag&drop from the "Explore disk..." option in the "Disk Drives..." at the File menu of Altirra.

 

  • Like 1
Link to comment
Share on other sites

5 hours ago, Preppie said:

I've seen this kind of graphic a lot.  Is there a tool that does it?  or is it just a lot of cut&pasting  in a gfx program?

When I worked on my game, I couldn't find anything out there that did this, so I created a little command-line utility in Python to render ATASCII as a png.  If you're interested I put it up on my GitHub site here: https://gist.github.com/angrydill/bee002354bfffcdae36b2bb8d7e036fe

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, vitoco said:

drag&drop from the "Explore disk..." option in the "Disk Drives..." at the File menu of Altirra.

That's what I needed :)

 

6 hours ago, erichenneke said:

MemoPad on the PC.

That looks like it will be useful.

 

3 hours ago, AngryDill said:

I created a little command-line utility in Python

Thanks, but everytime someone says 'command line' or 'dos' I switch off lol.  When I got a PC I used windows and avoided anything without drag&drop.  Pure laziness that has now started to bite me in the arse.

 

Link to comment
Share on other sites

On 3/5/2020 at 10:44 AM, carlsson said:

The main site now has 69 entries plus some that may not yet have been posted. I believe the all-time record is 89 entries, so if this contest on average receives more than 1.25 new entries per day from now until the deadline, a new record will be set.

By Grabthar's hammer, a new record has been set! I count to 128 entries so far with still one more day to go.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

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