Jump to content
IGNORED

2019 BASIC Ten-Liners contest!


Savetz

Recommended Posts

Incredibile Victor!

What editor do you use to code?

In your FastBasic code I see Atari special characters.

 

Special character can be inserted in FastBasic's IDE by pressing ESC key before a CTRL-something keystroke. I don't know if it is possible to lock the special characters insertion mode.

 

Anyway, I could use FastBasic's IDE, but my development cycle is different....

 

I use Ultraedit with a custom syntax highlight for FastBasic in my notebook, where I write the BASIC code as any other code with identation and comments. The source listing in the description page of every one of my games is the original one, except that comments were moved to a second column to group instructions, and the binary sequences were replaced by a placeholder to keep the listing clear.

 

Then, I parse the BASIC code with a small script I've programmed similar to dmsc's TBXL-Parser, which removes the comments, abbreviates the instructions, encodes some escaped hex codes into ATASCII (special characters as a binary sequence) and joins all the statements with ":", splitting before reaching the max length allowed for the required category. I keep a FastBasic IDE opened in Altirra with my working folder mounted as drive "H:" or "D2:" , so I can load the abbreviated PROGRAM.LST listing file directly into it without an intermediate ATR file, and then parse it and run to test.

 

But in early stages of the development and when I'm debugging, I just encode the source into ATASCII but do not join the statements in few lines, so I can use FastBasic's IDE to do small tests and tweak it a little in the emulator until it is OK, and then Update my source listing in the PC with the final changes. For long programs, I use F1 key in Altirra to accelerate the parsing stage ;)

 

The hard part is when I try to fit instructions inside the 10 available lines, without leaving too much space at the end of every line, because that means that more FX should be done. Sometimes it is possible to change the order of the statements when there is no dependencies between them, but sometimes I have to split a long expression in two... It's like playing Tetris!!!

 

BTW, the development cycle for TurboBASIC XL and stock Atari BASIC programs is the same, except that the script to encode into ATASCII is a bit different, because the statements abbreviations are not the same and it insert line numbers (not required in FastBasic), and then type NEW, E."H:PROGRAM.LST (or ENTER from D2:) and RUN to test.

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...

Hi!

 

Cool! Would you please share your script? I am writing a 10-liner in Atari BASIC and I would like to have a simple way to transfer my code onto Altirra without having to re-edit the inverse/small characters each time I test my game.

Vitoco's script is for FastBasic (se https://github.com/dmsc/fastbasic), not for Atari BASIC. See https://github.com/dmsc/tbxl-parser for a full parser and minimizer for Atari BASIC and TurboBasic XL.

Link to comment
Share on other sites

Cool! Would you please share your script? I am writing a 10-liner in Atari BASIC and I would like to have a simple way to transfer my code onto Altirra without having to re-edit the inverse/small characters each time I test my game.

 

My script is far from being a finished product. I'm always changing something to manage special cases.

 

As dmsc said, for Atari BASIC and TurboBasic XL you can use his tool. It does the same and more, like to validate the length of every tokenized line and to change variable names into shorter ones.

Link to comment
Share on other sites

 

Special character can be inserted in FastBasic's IDE by pressing ESC key before a CTRL-something keystroke.

 

I ended up using Omnivore in Windows to edit the source code file inside the ATR disk image to put the special characters in for my PM graphics.

 

Amazing character graphics Victor! So impressed how you used the inverse video to get the extra color.

  • Like 1
Link to comment
Share on other sites

Here's my PUR-120 (FastBasic) entry for this year - reactorX

Description at http://jeffpiepmeier.blogspot.com/2019/02/reactorx.html

Download ATR and XEX at: https://github.com/jeffpiep/reactorX

 

attachicon.gifreactorx.xex

reactory.avi_snapshot_00.26_%255B2019.02

 

 

I'm glad to see more people using FastBasic.

 

BTW, please specify the FastBasic version required for this game, as there are major differences between them. At a quick view of your code, I found a MSET statement, which it is not available in version 3.4 and I cannot recall if it was available in version 3.5. OK, I did not test for this and there is no changelog AFAIK. FastBasic is a WIP and sometimes you will get more things in a new version, but sometimes things change, like statement's abbreviations, breaking "old" BASIC code.

  • Like 2
Link to comment
Share on other sites

Hi!

 

 

Here's my PUR-120 (FastBasic) entry for this year - reactorX

I'm glad to see more people using FastBasic.

 

BTW, please specify the FastBasic version required for this game, as there are major differences between them. At a quick view of your code, I found a MSET statement, which it is not available in version 3.4 and I cannot recall if it was available in version 3.5. OK, I did not test for this and there is no changelog AFAIK. FastBasic is a WIP and sometimes you will get more things in a new version, but sometimes things change, like statement's abbreviations, breaking "old" BASIC code.

 

See the changelog at https://github.com/dmsc/fastbasic/releases

 

MSET was added in version 3.6, with CHR$ and CLS.

 

I just released v4.0, this adds (rather minimal) P/M graphics support, you can use P/M without a single POKE now:

 

 DATA TST() BYTE = 24,36,66,129,66,36,24
 PMGRAPHICS 1
 
 MOVE ADR(TST), PMADR(0) + 100, 7
 MOVE ADR(TST), PMADR(1) + 110, 7

 SETCOLOR -4, 4, 8
 SETCOLOR -3, 12, 12

 REPEAT
  FOR X=48 TO 200
    PAUSE 0
    PMHPOS 0, X
    PMHPOS 1, 248-X
  NEXT X

  FOR X=48 TO 200
    PAUSE 0
    PMHPOS 0, 248-X
    PMHPOS 1, X
  NEXT X

 UNTIL KEY()

 PMG. 0
Have fun!
  • Like 5
Link to comment
Share on other sites

Pixelated Puzzle

Category: PUR-120
Language: TurboBasic XL 1.5
Description and download: http://www.vitoco.cl/atari/10liner/PIXPUZ/

PIXPUZ.PNG

https://youtu.be/5S6dcdu89YM

This is the classic sliding puzzle, but with a random missing piece, dificulting on how to start solving it.

 

The core of the program has only 7 lines, and the image is stored in the last 3 lines, and these could be changed to play different puzzles.

The ATR contains a lot of images, including:

PIXPUZ-pikachu.png

PIXPUZ-yoshi.png

PIXPUZ-rihanna.png

A compilation of the puzzles ready to play is in a program called MENU in the ATR.

There is also a puzzle editor in the ATR, so everyone is invited to create their own puzzles and share them here!!!

Have fun!!!

  • Like 13
Link to comment
Share on other sites

@Doc, what is the easy way to put all these various BASIC programs onto a cart?

 

Diff BASICs, diff compilers.

 

Please shine light on to the subject.

 

Can the output of all those BASIC compilers be made into an xex or rom file?

 

Which BASICs allow this? Please explain.

 

Thanx.

 

Edit:

 

Nevermind. WHY would anyone want to load a BASIC proggie from a cart?

 

Ugh, this is just crazy.

Edited by Kyle22
Link to comment
Share on other sites

@Doc, what is the easy way to put all these various BASIC programs onto a cart?

 

Diff BASICs, diff compilers.

 

Please shine light on to the subject.

 

Can the output of all those BASIC compilers be made into an xex or rom file?

 

Which BASICs allow this? Please explain.

 

Thanx.

 

Compiling these games is not an option, as timings would change, making a game unplayable. Alternatively, you could pack them as a rutime plus the original game. I did that once and also found some XEX using the same trick.

 

Be aware that many of the tenliners use static memory addresses and they assume some defaults like the range of free memory. If you change that, the program could fail.

A different way is to make a "multi-BASIC" ATR... I've put all the Atari entries of a year in the same ATR (just check 2016 and 2018 compilations from my tenliners page). Is not that difficult... Atari BASIC, TurboBasic XL, OSS Basic XL, FastBasic are the flavors that had been managed at the same time by menu programs

 

But I don't know, for instance, if a game that must be run by Atari BASIC could be loaded from an ATR within another cartridge that is used just as a loader.

Link to comment
Share on other sites

Kevin, you beat me with your Kaboom clone.

 

Last week I was writing my own version for the PUR-80 category in plain Atari BASIC, but I still don't know if it will be playable and good looking when it is finished. As you might know, PUR-80 is the only category in which I could not put a game on the podium, and I wanted to achieve it this year.

 

It currently has 8 lines and lacks of the charset setup, a main loop and score. I'm not sure if I could do all of that in only 2 lines (160 chars).

 

These are prototypes screenshots:

 

post-20192-0-17307400-1552090228.png

 

post-20192-0-39856200-1552090290.png

The first one had raw chars waiting for a charset modification with an infinite loop, and the second one uses standard fonts, but has rounds with increasing dificulty and better control of the misses.

 

 

  • Like 5
Link to comment
Share on other sites

This year the Atari 2600 represents with a musical! :)

 

post-30777-0-14148100-1552427539_thumb.png

 

Simon Says Touch Me

 

This game is a simple Memory challenge based on the classic Atari Touch Me and Simon says programmable games.

 

These musical games were some of the first programmable sequencers a la BigTrek command entry where the commands had to be repeated each time and rekeyed perfectly in order to continue sequencing.

 

The melodious tones change to a musical Jenga whenever you mess up, but the next player can try their hand or you can try again.

 

Reset will restart the game when it becomes too dificult to remember the sequence.

 

  • Like 6
Link to comment
Share on other sites

UFO Attack!

Category: PUR-80
Language: Atari BASIC
Description and download: https://www.vitoco.cl/atari/10liner/UFOATAK/
Requires: Paddle controllers

UFOATAK.PNG

https://youtu.be/miqW_894aQs

If you think this game is very similar to Kevin's Bomber, you are right... This is the evolution of my prototype. Just read the history in the description page. The ATR includes a joystick version and my original idea as a Kaboom! clone, both PUR-80 compliant.

  • Like 12
Link to comment
Share on other sites

Please, fix the download link as it is broken.

 

Regards,

 

- Y -

 

 

Pixelated Puzzle

Category: PUR-80
Language: Atari BASIC
Description and download: https://www.vitoco.cl/atari/10liner/PLATES/

PLATES.PNG

https://youtu.be/2C-K0NOmvII

 

This is a memory challenge. Try to memorize plate numbers that appears in screen, every time for a shorter moment. How many hits can you do in a row?

 

Link to comment
Share on other sites

Please, fix the download link as it is broken.

 

Regards,

 

- Y -

Sorry... I not only forgot to store the ATR in my page, I also copied and pasted the wrong game name in that post. My bad! :ponder:

 

As I cannot update that post, here it goes again:

 

 

---------------

 

License Plates

 

Category: PUR-80

Language: Atari BASIC

Description and download: https://www.vitoco.cl/atari/10liner/PLATES/

 

PLATES.PNG

 

https://youtu.be/2C-K0NOmvII

 

This is a memory challenge. Try to memorize plate numbers that appears in screen, every time for a shorter moment. How many hits can you do in a row?

  • Like 6
Link to comment
Share on other sites

 

IAs I always say, Atari building BASIC XL into XLs or XEs would have rocked,

 

The official Atari distributor in Poland, PZ Karen, released the modified Atari computers in the late 80's, models: 128 XT, 192 XT and 256 XT with extended memory, Centronics port and Basic XL/Basic XE build in. Thus, keeping the compo rules, you can use these implementations of Basic... :D

post-12107-0-95798600-1553122753_thumb.jpg

  • Like 6
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...