Jump to content
IGNORED

BASIC 10 Liner Contest 2021


carlsson

Recommended Posts

2 minutes ago, carlsson said:

I see. In that case, games like the above probably will go into the WILD category instead of EXTREM-256? If there was a vote, I'd allow machine code routines in EXTREM-256, possibly even PUR-120 but then again I understand it is not a matter of a majority decision to alter the rules.

In 2018 there was a category called FREI that allowed things like machine language, but as there were no entries, it was discarded for the next contest.

Link to comment
Share on other sites

For fun, I tried to see if I could come up with some obfuscated IRQ routine on the VIC-20 and this is what I got so far.

 

10 poke56,28:clr:a$=".opl?*p@hdlp"
12 fori=1to6:poke7167+i,asc(mid$(a$,i,1))+(asc(mid$(a$,i+6,1))-68)*16:next
14 poke37150,0:poke788,0:poke789,28:poke37150,130

 

Since not every binary value is possible to represent on its own in a listing, I'm splitting the code into a "low" byte followed by an offset in X*16 up or down, and store it into memory. This may look suspicious, but it happens to be a typical location for custom graphics and I actually used a similar technique with BAR10DER the other year to load the custom graphics in a more efficient way than DATA statements. POKE 37150 disables the interrupt, the IRQ pointer is located to 7168 and then the interrupt is enabled again.

 

The rule "POKEs in storage locations" is subject to own interpretation IMHO. We clearly can POKE various I/O registers for video and sound (or otherwise the C64 would be toast in this competition). We can POKE regular RAM locations, including low system pointers of which some are required to be changed for being able to do some things. Apparently we can't POKE machine code into anywhere and make it run either by a SYS/CALL or USR or by letting the system interrupt, keyboard handler etc take care of that for us. As noted some systems may allow SYS/CALL to ROM routines to set up graphics modes etc, when there is no other way to do it.

Link to comment
Share on other sites

On 3/24/2021 at 4:17 AM, carlsson said:
On 3/24/2021 at 4:12 AM, carlsson said:

Yeah. Eventually I'm sure people on other systems will come up with their equivalents to FastBasic in order to keep even pace with the Atari 8-bit.

I was working on something for my system which would take a high-level like BASIC language, and convert it to very optimized Machine Code. Which is a WIP, though in my approach, I don't see how how it could be used with a 10-Liner, it would also have to implement shorting keywords in the same way Tiny BASIC goes about it, though I would have to design a top down approach the same way Pascal goes about by defining Procedures prior to the Main Code.

In my coding I'm writing in BASIC and utilising a ROM to paste the approach MC, the code would have to run in the computers additional 64k, though I never expect it to reach the level of FastBasic, since I know little about Floating Point Numbers or handling them in Machine Code.

On 3/24/2021 at 4:13 AM, vitoco said:

In 2018 there was a category called FREI that allowed things like machine language, but as there were no entries, it was discarded for the next contest.

I think my entry 'Red Meets The Grumpy Grumbles' was the only one, which used a Software Sprite Driver to draw the Main Character and 'The Grumpy Grumbles'. When I look back at the game now, I probably should of added some extra colour to 'The Grumpy Grumbles' instead of just copying chr$(225) from the systems character set and have the Tree maze use the Sprite System as which, which would of drawn them faster, though at the time of that contest I was working on a 2nd & 3rd game, which might of costed this game some points.  

On 3/24/2021 at 4:17 AM, carlsson said:

Aha. FREI was for games up to 10 lines, essentially EXTREM-256 plus machine code and everything else you could add, while WILD is just a catch-all category without any judging.

The games in the WILD category I think were sorted from Best to Worst, my 3rd game 'Aliens Attack' in the 2018 contest had to go into the WILD category because I wasn't able to keep it within 10 Lines, in the end it blew out to 15 all because I wanted a Colourful game with BASIC redefined characters.

My entry for this year 'Pick a Path Red' is all BASIC and uses a little trick I picked up from a rare BASIC game, which involves drawing the initial outline of the character, switching the computers transparent mode on, backspace & changing PEN colours and filling in the extra bits and turning off the transparent mode at the end.

  • Like 2
Link to comment
Share on other sites

I didn't realize that the deadline is in two days, so I started packaging my latest entries for the contest.

 

I just sent Noxious to @Bunsen:

 

 

It is a shooter, a paddle shooter!!! It was written in FastBasic for the PUR-120 category, and it must be played in a real Atari computer with real paddles to really enjoy the experience.

 

  • Like 12
Link to comment
Share on other sites

8 hours ago, vitoco said:

I didn't realize that the deadline is in two days, so I started packaging my latest entries for the contest.

 

I just sent Noxious to @Bunsen:

 

 

It is a shooter, a paddle shooter!!! It was written in FastBasic for the PUR-120 category, and it must be played in a real Atari computer with real paddles to really enjoy the experience.

 

that looks fun, and I can see how paddle will be a natural fit for this shooter. 

Link to comment
Share on other sites

On 3/23/2021 at 12:42 PM, erichenneke said:

The problem isn't with setting up a DL that triggers DLI calls.  That would be okay by the rules. 

 

The problem is that you can only implement the actually interrupt routine itself by using machine code, which you would have to poke into memory, and that would break the rule about "The 10 lines must not contain any machine programs". 

 

Plus I've asked, specifically, if this would be okay to do and I was told no.   :(

 

I can see how this might be considered against the rules, so I've pushed a version to the above github repo sans DLI and submitted that version too. It's in the judges' hands now.

 

 Pro: it fits in 8 lines now, not 10.

Con: it's not as pretty without the sunset ?

 

I thought about using fastbasic instead, but there's no TEXT statement, I don't have time to rework it to not use go# labels, and I'm just not familiar enough with fastbasic yet. That said, I may use it next year, it looks like a terrific option, thanks @dmsc!


In case you're curious about the sound, I recorded a movie with sound:

  • Like 4
Link to comment
Share on other sites

23 hours ago, AMSDOS said:

My entry for this year 'Pick a Path Red' is all BASIC and uses a little trick I picked up from a rare BASIC game, which involves drawing the initial outline of the character, switching the computers transparent mode on, backspace & changing PEN colours and filling in the extra bits and turning off the transparent mode at the end.

If someone would be interested in porting my game to the Atari with Turbo BASIC, Fast BASIC or the generic BASIC, I would be interested if the game could be significally reduced in size, as it is I just barely scrape it into the EXTREM-256 and had to use the copy cursor to copy the characters into the PRINT string instead of using CHR$(###).

Link to comment
Share on other sites

On 3/25/2021 at 6:26 PM, Philsan said:

I am waiting The Matrix: Red Pill video... ?

 

These will be my last two entries for this year's contest:

 

Game: The Matrix: Red Pill

Category: PUR-80

Language: Atari BASIC

 

 

 

Game: The Matrix: Red or Blue?

Category: PUR-120

Language: Turbo Basic XL

 

 

The second one is a two players game, side by side, finding their path to The Matrix.

 

 

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

22 hours ago, Philsan said:

Ah ah, I've seen the nice screenshot on your website and I am curious to know how it plays.

Now, it is my turn to spoil... I found "AstroInvaders" from @jeffpiep in the list of entries:

 

astroinvaders.png

 

Is it a mixture of Space Invaders and Asteroids?

 

It looks nice, and I'm curious to know how it plays!!! ?

 

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

Just a reminder to everyone that entries must be in today by 6pm CET (5pm UK time, 1pm EST) - double check the time, I'm not an official :)

 

Guess I better get documenting my etreme-256 entry, and if I have time I'll see if i can do a pur-80 (got 1 half done atm)

Edited by Preppie
  • Like 1
Link to comment
Share on other sites

27 minutes ago, Preppie said:

Finaly got my entry in, left it to the last minute again - guess no pur-80 will get done now.

Excelent! I hope to see it in the listing soon... @Bunsen has to be very busy these days.

 

At the moment, the Atari entries are: 

  • Patrol
  • Nanorogue
  • Hubert
  • Jump
  • The Children
  • Mandelbrot Set Explorer - 10 lines Atari
  • AstroInvaders
  • Purge
  • Golf on Mt. Fuji
  • Noxious
  • Crasher

PUR-80 is the hardest category for the Atari. You need to get a simple and impressive idea at the same time to fit in it. Well, I think that @erichenneke is the master in this category.

 

 

  • Like 1
Link to comment
Share on other sites

Hi!

1 hour ago, vitoco said:

Excelent! I hope to see it in the listing soon... @Bunsen has to be very busy these days.

 

At the moment, the Atari entries are: 

  • Patrol
  • Nanorogue
  • Hubert
  • Jump
  • The Children
  • Mandelbrot Set Explorer - 10 lines Atari
  • AstroInvaders
  • Purge
  • Golf on Mt. Fuji
  • Noxious
  • Crasher

Not many entries, I think we are being overtaken by other systems :) 

I really want to see how "10 Lines Hero" plays!

 

Also, it seems this is the year of the Sokoban games.

 

Have Fun!

  • Like 1
Link to comment
Share on other sites

Excelent! I hope to see it in the listing soon... [mention=4699]Bunsen[/mention] has to be very busy these days.
 
At the moment, the Atari entries are: 
  • Patrol
  • Nanorogue
  • Hubert
  • Jump
  • The Children
  • Mandelbrot Set Explorer - 10 lines Atari
  • AstroInvaders
  • Purge
  • Golf on Mt. Fuji
  • Noxious
  • Crasher
PUR-80 is the hardest category for the Atari. You need to get a simple and impressive idea at the same time to fit in it. Well, I think that [mention=38281]erichenneke[/mention] is the master in this category.
 
 
I guess I'm just a glutton for punishment!

It's great to see how successful and popular this annual event has become, but I do wish there was a better Atari presence. It originated as an Atari-only event after all!


Sent from my E6533 using Tapatalk

  • Like 1
Link to comment
Share on other sites

2 minutes ago, carlsson said:

I forgot the deadline. ? Oh well, I suppose it gives me time to reevaluate my 2020 entry that I never submitted and intended to be my 2021 entry, to become an 2022 entry.

I feel that. This is the first year I have gotten off my duffer and set up my old machine and my development environment and gotten to work after having meant to do it for three years now. The good news is you have lots of time between now and next year to thank and optimize and plan!


I will add that the Fujinet made it a joy to test on a real machine — copious thanks to @tschak909, @mozzwald, et al. I do wonder if we will see a specific category in the future for networked Ten-liners? Speccy and Atari already have adapters, and C64 is coming... the network retrocomputing revolution is here!

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