"Write a game in 10 lines of BASIC!"
For the fourth time this is the motto of the programming contest on the occasion of the retro computer meeting NOMAM. In the years 2011 and 2013 the BASIC Tenliners compo was a small internal competition and the programs were made live at the meeting. In contrast, in 2014 contributions from all over the world came. And only one contribution was produced live at the meeting. Over ABBUC and AtariAge forums the incredible amount of 40 games from Australia, USA, Chile, Poland, United Kingdom and Germany rolled in.
This year we want to give the competition a new impetus by opening it; both in terms of legal systems, as well as with regard to authorized BASIC dialects.
Legal systems:
Atari 8-Bit
Commodore 64
Commodore 128
Amstrad CPC
Authorized BASIC dialects:Atari BASIC (A8)
Turbo BASIC XL (A8)
Altirra BASIC (A8)
OSS BASIC XE (A8)
OSS BASIC XL (A8)
Commodore BASIC V2 (C64)
Simon's BASIC (C64)
Commodore BASIC 7.0 (C128)
Locomotive BASIC 1.0 (Amstrad CPC)
Locomotive BASIC 1.1 (Amstrad CPC)
Other BASIC dialects and computer systems are approved under the condition that the contributions will be presented by the programmer on the original hardware at the NOMAM (04.11.) in Lübeck.
Even if the fun of programming and the competition should be in the foreground, but a few rules are needed.Contributions are accepted in three different categories:Category "PUR":
Program a game in 10 lines (max. 120 characters per logical line, abbreviations are allowed)
Category "EXTREM":
Program a game in 10 lines (max. 256 characters per logical line, abbreviations are allowed)
Category "LIVE":
On 04/11/15 a programming assignment is made, which must be resolved within 2 hours
Further rules:
- No reloading of data or program parts
- Call of machine language programs are prohibited- the 10 lines of the programm can not contain self-written machine code
- POKEing is allowed
- Deadline: Saturday 04/11 at 9 pm (Central European Summer Time) (Remote posts: Wednesday 04/08, 9 pm)
- Voting: Saturday 04/11 at 11.30 pm, then awarding
- Together with the program a text file should be submitted with the program description and instructions
- The programmers agree to the publication of the programs, the description and the instructions by the organizer
- Only physically Attendants may vote
- Remote contributions, however, are permitted provided they are received by Wednesday, 04/08 at 9 pm at GKANOLD-ät-GMAIL dot COM
Damn this should be interesting!
There are some videos at yt of last year's entries. Search on "Tenliners". Also take a look at AtariAge for last year's entries (Sorry, only Atari Downloads, probably worth a look with an emulator?!)
Can you clarify the rules regarding machine code? I am not allowed to CALL any, even though POKE'ing is allowed? So converting a machine code program to BASIC DATA statements is forbidden?
Please no machine code. We want to show the power of BASIC on different 8 bit platforms. And I think Locomotive Basic is probably the most powerful of all. :)
Quote from: darkdog on 17:23, 27 January 15
- Call of machine language programs are prohibited
- POKEing is allowed
Sorry, but this example and other rules show me a clear bias to the C64 systems. I can't call no frame, but I can use pokes because the c64 can't change color otherwise.
If you guys want to make a fair contest, then overwork the rules.
Commodore BASIC V2 is a very weak BASIC dialect and Locomotive BASIC a very strong one. Very difficult to proclaim a contest that is equal fair to all platforms. But hey, it's just for the fun. Please don't take it too serious.
And: we are on the same side, I'm not a c64 guy, I am an atari maniac ;)
Atari is nice. :) But calls really should be ok. Because that can be used in all basics equally. :)
I don't know exactly what you mean. For example FILL and PLOT are subroutines in the ROM (in the Atari). And you call these subroutines with the keyword FILL (in Turbo BASIC) and PLOT (in Atari BASIC and Turbo BASIC). Of course this is allowed. But writing machine code, poke it in the memory and then call it (with X=USR() in Atari BASIC) is not allowed.
If you want to call a ROM subroutine with the command CALL, I think it's allowed, but writing machine code and CALL it, is not allowed. I'm not sure I got your point...
Yeah, CALL is like SYS... IIRC. It's not about poking MC code. Which would make an own kind of competition.
:)
Quote from: darkdog on 20:59, 27 January 15
Please no machine code. We want to show the power of BASIC on different 8 bit platforms. And I think Locomotive Basic is probably the most powerful of all. :)
Does that include the use of Control Codes?
Some ROM subroutine (the Firmware) requires Machine Code to work (Loading of Registers), which presents the problem of not being able to write M/C Subroutine.
Let me say in other words:
- the 10 lines of the programm can not contain self-written machine code
Maybe we need another category (next year ;D ): category "WILD": all is allowed?
Quote from: darkdog on 10:27, 28 January 15
Let me say in other words:
- the 10 lines of the programm can not contain self-written machine code
ok. The control code situation I was referring to is slightly different to M/C where someone can Incorporate a Command from within a PRINT quote, sometimes followed by a number if the command needs one. Normally this is done via chr$(), but can be condensed into a control code and inserted into PRINT quoted statement, handy for things like PEN for PRINTing Multicoloured Text from a single PRINT statement.
I dont see why there should be any issue printing control codes, they are after all standard ASCII just like all the normal characters 32+.
So with the clarification, I assume it would be acceptable to CALL &BB18 to save bytes for a "press any key" routine?
I hope to be able to give this contest a go. If I do, it will be a remote entry though.
Quote from: AMSDOS on 11:02, 28 January 15
ok. The control code situation I was referring to is slightly different to M/C where someone can Incorporate a Command from within a PRINT quote, sometimes followed by a number if the command needs one. Normally this is done via chr$(), but can be condensed into a control code and inserted into PRINT quoted statement, handy for things like PEN for PRINTing Multicoloured Text from a single PRINT statement.
Sounds ok.
Quote from: EgoTrip on 18:50, 28 January 15
So with the clarification, I assume it would be acceptable to CALL &BB18 to save bytes for a "press any key" routine?
Yes, that's ok.
That was my idea too. So we are all on the same page now.[nb]Frog protection![/nb] :) :) :)
Thanks for clearing it. :)
I've prepared a website with the rules and the newest entries. Too difficult to keep multiple 8 bit forums up to date...
homeputerium (http://gkanold.wix.com/homeputerium#!10liners/c15hi)
I don't understand the first rule "No reloading of data or program parts". Can you clarify this please?
You are not allowed to store data on disk (or ramdisk) or tape and load it.
Sounds like a neat competition, and not bypassing the point with people embedded a small MC loader and loads of DATA statements! (although this was a favourite in the CPC magazines, I think I even saw one using some form of base32/64 instead of the usual hex).
Making use of the firmware, via calls, pokes or otherwise is fine of course. As is any character you can enter on the keyboard.
20 entries so far:
Beitrag/Entry #1: Chase
Platform: Atari
Author: Holger "Rockford" Bommer
Language: Turbo BASIC XL
Category: PUR
Beitrag/Entry #2: Micronoid
Platform: Amstrad/Schneider CPC
Author: Markus "Devilmarkus" Hohmann
Language: Locomotive BASIC
Category: EXTREM
Beitrag/Entry #3: Get!
Platform: Atari
Author: Chris "atariland2600" Read
Language: Turbo BASIC XL
Category: PUR
Beitrag/Entry #4: K1nderc0mp
Platform: Atari
Author: Chris "atariland2600" Read
Language: Turbo BASIC XL
Category: PUR
Beitrag/Entry #5: Mini-Breakout
Platform: Atari
Author: Adrian Groves
Language: Atari BASIC
Category: PUR
Beitrag/Entry #6: Hearts & Bullets
Platform: Commodore 64
Author: Vincent "Bytebreaker" Truppe
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #7: Hangman
Platform: Atari
Author: Adrian Groves
Language: Atari BASIC
Category: PUR
Beitrag/Entry #8: Navigator
Platform: Commodore 64
Author: "e5frog"
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #9: Racer
Platform: Commodore 64
Author: Georg "Endurion" Rottensteiner
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #10: Bad Square Swarm
Platform: Commodore 64
Author: "Hexworx"
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #11: Simon
Platform: Atari
Author: Adrian Groves
Language: Atari BASIC
Category: PUR
Beitrag/Entry #12: Flappy Dot (http://gkanold.wix.com/homeputerium#%21flappy-dot/c1797)
Platform: Commodore 128
Author: M. "Plus4_fan" Quante
Language: Commodore BASIC 7.0
Category: PUR
Beitrag/Entry #13: Bounce
Platform: Amstrad/Schneider CPC
Author: "EgoTrip"
Language: Locomotive BASIC
Category: EXTREM
Beitrag/Entry #14: Stay Alive
Platform: Commodore 64
Author: "The Joker"
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #15: F*ck-Man (http://gkanold.wix.com/homeputerium#%21fck-man/c12gj)
Platform: Atari
Author: Gunnar "Bunsen" Kanold
Language Turbo Basic XL
Category: PUR
Beitrag/Entry #16: Pear Picker on Ice (http://gkanold.wix.com/homeputerium#%21pear-picker-on-ice/c5p5)
Platform: Commodore 64
Author: Davide "Naufr4g0" Fichera
Language: Commodore BASIC V2
Category: PUR
Beitrag/Entry #17: Broad's Revenge
Platform: Atari
Author: Frantisek "Fandal" Houra
and Christian "Irgendwer" Krüger
Language: Turbo BASIC XL
Category: EXTREM
Beitrag/Entry #18: can-MaP (http://gkanold.wix.com/homeputerium#%21can-map/c1ap2)
Platform: Commodore 64
Author: Fredric QJ "e5frog" Blåholtz
Language: Commodore BASIC V2
Category: EXTREM
Beitrag/Entry #19: Magic Cards
Platform: Atari
Author: Abel "ascrsoft" Carrasco
Language: Turbo BASIC XL
Category: PUR
Beitrag/Entry #20: Apple Max
Platform: Atari
Author: Cliff Hatch
Language: Turbo BASIC XL
Category: PUR
Just had a play with Micronoid, well impressed :)
I wonder if anybody else work on a contribution. There are already some C64 and Atari entries...
Quote from: Gryzor on 18:29, 08 February 15
Just had a play with Micronoid, well impressed :)
Well, this is awesome! :)
No promises, but i've got a 1 line dungeon generator so far... just need to put a game around it
Well, it's about 5 lines now, and does this: Rogue Tenliner - Album on Imgur (http://imgur.com/a/KEQqe) (can adjust settings, it's about finding a balance to make accessible but pretty caves/dungeons, in under a line of BASIC).
Looks promising. :o
Want play :)
Heres my attempt:
(http://i.imgur.com/HVEIvyL.png) (http://imgur.com/HVEIvyL)
Hopefully I will be able to do something else better than that before the deadline.
16 entries now.
17
20
How many of them are Locomotive User?
2
Look at post #22. But Micronoid and Bounce are very good games. Would be cool if there were some more locomotive games.
Take also a look at the contest homepage: homeputerium (http://gkanold.wix.com/homeputerium#!10liners/c15hi)
Results are online now...
Wow I didn't come last. Surprised I finished above Micronoid though.