Jump to content
IGNORED

BASIC 10 Liner Contest 2021


carlsson

Recommended Posts

5 hours ago, Mark2008 said:

i just found someone did an entry last year called poke pig.  even described it as inspired by the dice game pig.  well at least it wasnt literally the same game 

 

i like contests, real competitions where you compete to win, what the hells wrong with that

 

nothing, ya i thought you’d agree—-silliness 

Nothing wrong with competing to win, but you'll have to beat my entry and it makes Patrol look like a game & watch ;)

 

Link to comment
Share on other sites

I´m just trying something new each year and only compete with myself. So I ended up actually writing a diskmenu (not in 10 lines) for the Commodore 64 entries last year. It simply doesn´t make sense to write it for the Atari, as vitoco always is faster and much better with that. ;)

Link to comment
Share on other sites

43 minutes ago, skr said:

I´m just trying something new each year and only compete with myself. So I ended up actually writing a diskmenu (not in 10 lines) for the Commodore 64 entries last year. It simply doesn´t make sense to write it for the Atari, as vitoco always is faster and much better with that. ;)

it doesn't matter about that, if you keep going on your Atari you will get there... and they will often help you out and you learn something and sometimes you may even win... it doesn't matter if you had someone teach you a thing...

Link to comment
Share on other sites

1 hour ago, skr said:

I´m just trying something new each year and only compete with myself. So I ended up actually writing a diskmenu (not in 10 lines) for the Commodore 64 entries last year. It simply doesn´t make sense to write it for the Atari, as vitoco always is faster and much better with that. ;)

Well, I wrote a menu to be used by myself and to publish the released games in my site, but it suddently became the official one for a couple of years... ?

 

I'm doing this for fun. The first time I tried to program a game in 10 lines, I realized that it could be done. I did them in my free time, and I learned a lot, so I could do many iterations and updates to my first set of games. After some months of fun, I sent 5 different games to the contest and, surprisingly, I got two 1st places!

 

This is adictive... My comfort zone is the A8, and there are many flavors of BASIC avaliable with many similar or different capabilities, so when I get an idea for a new game concept or when I see a game that it could be simplified to 10 lines, I write a prototype in the flavor I think it will do better. If the game could be completed for any of the categories and it is playable and enjoyable, it will be send to the next contest. But if it didn't work as expected, it is stored for a while, and sometimes I bring one of them back and try another way (or BASIC flavor) to finish it.

 

I just try to build the most complete version of a game (or redux from a classic one) with the shortest/smallest code I could do and fit in 10 lines. This is the challenge. Sometimes you have to decide which features include and which ones discard to fit the category's coding limit. And sometimes you can program the same game in two versions and sizes for different categories, but do not expect them to get the same score.

 

I've got many 1st places since then... that is fine and I like it, but in terms of the contest, yes, I'd like to get a place in the podium for the PUR-80 category, just because I've not got one yet. I think that the smallest category is the most challenging one for the Ataris, as it only allows Atari BASIC code, and there are many other 8bit platforms/machines with better tools/statements to program an attractive small game with few and short 10 lines of code. I think "Hubert" will be my last try...

 

BTW, all my completed games are published in my website, and include the source listing with comments, development blog and extra material that can be downloaded and tried: 10-liners: My collection of small BASIC games.

 

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

On 2/1/2021 at 12:51 PM, carlsson said:

The 2021 edition of the BASIC 10 Liner Contest was just announced. Last year marked 10 years anniversary, this year marks the 10th time it is held.

 

Just like previously, the following categories are available:

 

PUR-80 (only using the built-in BASIC version, max 80 characters including abbreviations)
PUR-120 (using any BASIC version, max 120 characters)
EXTREME-256 (using any BASIC version, max 256 characters)
SCHAU (demos, tools, non-game applications, max 256 characters)

 

Submitted programs that don't meet any of the above categories are summarized in a WILD category.

 

Of course it is open for all types of 8-bit systems with BASIC, though it feels like Atari 8-bit is the original?

 

The deadline for submissions is Saturday, March 27 2021 at 6 PM CET with awards on Saturday, April 10.

 

https://gkanold.server.deerpower.de/

https://twitter.com/Basic10L

 

What does this mean "PUR-80 (only using the built-in BASIC version, max 80 characters including abbreviations)"

 

 

Don't abbreviations automatically expand?   Once you list it, there are no abbreviations, so what does it mean?  Does it mean, I should count the characters of each line, and keep it under 80 with abbreviations, and then when it expands beyond 80 when the abbreviations are automatically removed, thats OK? 

Edited by Mark2008
Link to comment
Share on other sites

Yes, that is how I understand the rules. You pretty much count keystrokes/characters so the limit is on how many characters the abbreviated line is before listing it. On e.g. the ZX Spectrum it pretty much is 1 character per keyword due to its input system. See also this page that tries to explain it. Obviously it means computers without abbreviations have a little disadvantage, but then again some BASIC dialects have features for various handling of graphics, sound and input as well so in the long run they're all pretty equal.

Link to comment
Share on other sites

Atari 2600 Entry - SuperBlitz Throttle Control: Waves and Missions! 

 

I missed the competition last year, here's my Atari 2600 entry this year, another remix of an 80's port of the same game with the same name :) 

 

SuperBlitz is my 5th entry into the BASIC 10 liners contest and the SQL to my first competition entry, 9 Line Blitz from 2016!

 

More info on the game thread: 

 

  • Like 2
Link to comment
Share on other sites

On 2/15/2021 at 2:47 AM, skr said:

I´m just trying something new each year and only compete with myself. So I ended up actually writing a diskmenu (not in 10 lines) for the Commodore 64 entries last year. It simply doesn´t make sense to write it for the Atari, as vitoco always is faster and much better with that. ;)

In that case my coding has gone down (instead of up) since 2017 :o 

 

I seem to do better when it comes to improving upon others code, rather than create my own games.

Edited by AMSDOS
Link to comment
Share on other sites

9 minutes ago, AMSDOS said:

In that case my coding has gone down (instead of up) since 2017 :o 

Oh, I think, I did not express my motivation correctly.

 

It´s not, that I want to make the best of its kind. My motivation is to make something useful instead of something redundant. So, when there already is an Atari-menu at the point where I start coding, why create another one? I prefer to try something else then, which does not already exist.

 

My menu for the C64 (the first program I wrote on the C64 ever) was far from being good or fast, but there was no menu for the 10liners before on that machine, which gets many entries every year, too. Another guy picked my code up and made it much faster. I totally like that. Creating something new which others improve is fun to me and I feel honored, if someone takes what I did and makes it better.

 

Also, I always try to do something, which I never did before. Not to make a unique thing, just to learn new tricks and skills. Of course I do not seriously compare myself with other programmers, who I know are much more experienced and always faster and better. When I finish a program and learned something during that I didn´t know before, I´m happy. :)

 

So: Keep on coding!

  • Like 3
Link to comment
Share on other sites

Yeah, I might of been a bit hasty with that comment since 2017 was a range of games between 7.8 and 3.2, 2018 I had two games with 7.5 and 5.67 and a WILD category game which came 2nd, 2019 was the bad for me with one late entry which scored 5.4 with last year been an improvement with 3 games scoring 6.83, 6.25 & 5.75, but there were a lot of game submittions and a lot of LOGIstuff!

 

If I were to av. it out over the 4 year I can say:

 

7.8 + 6.8 + 6.2 + 3.8 + 3.2 + 7.5 + 5.67 + 5.4 + 6.83 + 6.25 + 5.75 = 65.2 / 11 = 5.93

Link to comment
Share on other sites

I don't know if judging is done through a fixed set of qualifications or has an element of preference to it, meaning that you necessarily can't compare scores between years and get an overall score in the end. I mean in that case it would suggest there is a World Record in 10Liners and that a perfect 10 should be virtually impossible to reach.

 

Edit: Ok, I saw that Mini Bros scored 10.30 a couple of years ago which probably was including 0.5 bonus points for source code. There are other entries at 9.83 and 9.80 which I don't remember if that includes a source code bonus, but even then we can conclude that 10.50 would be the highest possible score.

Edited by carlsson
Link to comment
Share on other sites

In this case I was drawing on @skr remark and averaging my entries from the past 4 years and come up with an average. 2/3s were above the average, with means I did a little better last year. Though some of my earlier stuff will be tough to beat with scores like 7.8, 7.5, with one of my entries from last year just edging out one of my other popular games from 2017.

Link to comment
Share on other sites

In many sports events involving judging, they eliminate the lowest and highest scores before taking an average. In your case it would increase your average from 5.93 to 6.02. :)

 

Personally I kind of want to dig into some super obscure system, new to me. I won't know its innards and be able to optimize it, but it would yield fun to try something nobody else has developed for (in this contest) so far. I have a few candidates but don't know if I'll have the time and motivation to really make something beyond "Guess a number between 1 and 100".

  • Like 1
Link to comment
Share on other sites

7 hours ago, carlsson said:

In many sports events involving judging, they eliminate the lowest and highest scores before taking an average. In your case it would increase your average from 5.93 to 6.02. :)

 

Personally I kind of want to dig into some super obscure system, new to me. I won't know its innards and be able to optimize it, but it would yield fun to try something nobody else has developed for (in this contest) so far. I have a few candidates but don't know if I'll have the time and motivation to really make something beyond "Guess a number between 1 and 100".

I don't know why judges do that (elimate the highest or lowest scores).

 

When it came to making a 'Guess that Number' type game, I wanted to make it a really polished 'Guessing Number' game and wanted to give it a 'Slot Machine' based look, later I was playing around with some Sounds and so I decided to play a Sound when a Number is selected, the main problem was the game itself goes through playing these other Sounds during setup. The previous year (2016), I was able to produce a whole series of Letters & Numbers (3x8) from a single value then multiplied by 16, which seemed to be a good opportunity to put it in there. Though I was never expecting to get a high score for it and it was interesting a 2nd Guessing Number game was submitted, which came last in the category it was submitted to, my entry came 2nd last to my horror in the EXTREM-256 category though.

Link to comment
Share on other sites

I think there is some mathematical/statistical reasoning behind, to even out the extremes in case one judge strongly favors or disfavors you. Of course in this context it is something else, as those are scores from different games you have posted, not different judges for a single game.

Link to comment
Share on other sites

No game yet underway, but today I came up with this optimization:

 

A=A+1:IF A>10 THEN A=1

can be replaced with: A=1-A*SGN(A-10)

 

It is dynamic, it is only a few percent slower, it works on pretty much every BASIC including Atari 8-bit and ZX Spectrum, it obviously eliminates the IF statement.

 

There were several other solutions suggested, including A=1+AAND(A<10) which works on most Microsoft based versions that implement bitwise operators, but alas not on e.g. Atari. Also the solution using AND is a few percent slower (but one character/byte shorter).

 

Perhaps this is common knowledge among seasoned participants, but I found it to be a neat improvement.

  • Like 3
Link to comment
Share on other sites

If MOD is available, 

 

A=A+1:IF A>10 THEN A=1

 

can be replaced with

 

A=A MOD 10+1

 

I'm not sure how standard MOD is across BASIC, but is used to Return the remainder after dividing the first argument 'a' with the second '10+1', the +1 at the end is an important part for increasing the value of 'a', so if it was set to '11' rather than '10+1' the result would always be 0.

 

MOD also played a role in my past 10-Liner entries when I was able to add extra stages to a game and make the game run faster.

Link to comment
Share on other sites

Hi!

1 hour ago, carlsson said:

No game yet underway, but today I came up with this optimization:

 

A=A+1:IF A>10 THEN A=1

can be replaced with: A=1-A*SGN(A-10)

Shorter:  A = A*(A<10)+1

 

Real fun is using ON/GOTO to replace IF/THEN.

 

Have fun!

    Daniel.

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

Some nice ways of shortening there.  I tested speed in FastBasic(cross compiler), to run them 10,000 times took:

 

A=A+1:IF A>10 THEN A=1  (or a=a+1:if a>10:a=1:endif)
144 jiffies

 

A=1+AAND(A<10) 
245 jiffies

 

A=A MOD 10+1
323 jiffies

 

A=A*(A<10)+1
423 jiffies

 

A=1-A*SGN(A-10)
565 jiffies
 

 

Edited by Preppie
  • Like 3
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...