MRC Tenliner Challenge

MRC Tenliner Challenge

by snout on 08-10-2012, 21:03
Topic: Challenges
Languages:

More than seven (!) years ago the Oneliner Challenge generated an outburst of creativity and diversity with no less than 36 single-lined MSX-BASIC listings - ranging from complete games and demos to character and sprite editors. All entries of that challenge, won by Germán Gómez Herrera, can still be enjoyed over here.

"If such nice and inspiring releases can already be made with one single line of BASIC, how much should be capable with ten times as much?", we wondered, and that is why we now start the MRC Tenliner Challenge. The rules of the challenge are as follows:

  • Entries can be made for every MSX generation, so MSX1, MSX2, MSX2+, turboR and even One Chip MSX is allowed
  • To make things even better, the inclusion of one (1) media file is allowed. The loading of this file should - of course - be handled within the 10 lines of your MSX-BASIC listing
  • As usual: fun and fair play, so don't rip and steal, but create and invent! Other than that: anything goes!

You can submit entries as soon as they are ready, by submitting them as a download right here. The challenge closes on December 17th, exactly 10 weeks from now, on 23:59 CET.

The entries will then be rated by our jury, which consists out of MSX-BASIC Games blogspot webmaster Adolfo Gonzalez and the MSX Resource Center crew members Meits and Fukenko. When their work is done, we will announce the winner of the challenge. Depending on the amount of entries, there might even be multiple prizes! The winner(s) can pick their own prize from a collection of prizes that include MSX T-Shirts and girlies, but also the original MSX games Realms of Adventure, Moonlight Saga, Bomb Jack, The Lost World and Be-Bop Bout.

If you would like to support this and future MSX Resource Center challenges by donating a prize, please contact us or make a generic donation. Thank you very much in advance!

So there you have it. 10 weeks to code 10 lines of MSX-BASIC. Gentlemen, start your engines!

Comments (51)

By mars2000you

Enlighted (5470)

mars2000you's picture

08-10-2012, 21:07

Nice initiative, especially because it includes this rule :

"To make things even better, the inclusion of one (1) media file is allowed. The loading of this file should - of course - be handled within the 10 lines of your MSX-BASIC listing"

So, there's place for a nice picture on which you add an animation and even a music Cool

By Meits

Scribe (5399)

Meits's picture

08-10-2012, 21:21

I add a prize to the can of goodies... 1 cart only Salamander with a very discrete SCC switch... The case just has some issues staying shut, but that's where ducktape comes in Wink

By NYYRIKKI

Enlighted (5283)

NYYRIKKI's picture

08-10-2012, 22:21

10 lines!!! Aargh...

I want to remind you, that Rally-X was only 8-lines. (and not even in full length... and no external files)
http://www.msx.org/downloads/mrc-challenges/iombcc/rally-x-f...

By wolf_

Ambassador_ (9758)

wolf_'s picture

08-10-2012, 22:52

So, add some epic intro/endtro with the extra lines! ^^

By KdL

Paragon (1199)

KdL's picture

08-10-2012, 23:32

I want 10 lines of AG Software! oO

By PlainSpooky

Resident (51)

PlainSpooky's picture

09-10-2012, 00:58

How many assembly routines can I use? Perhaps only BIOS calls like LDIRVM, LDIRMV, KILLBUFF etc...

By ro

Guardian (4085)

ro's picture

09-10-2012, 09:53

So, what exactly is a "media" file? should be careful here, I can include loads of stuff in just one file. One BASIC file should be sufficient to run the damn thing
10 bload "mediafile.bin",r

besides that, it was time for another challenge indeed!

By Turrebo

Expert (77)

Turrebo's picture

09-10-2012, 10:46

@ro Good question! Well, I suppose that 'media' includes music, graphics and text. The challenge also calls out for being creative. Hmmm...

I suppose that the actual program code would have to be put in those 10 lines, but if you make a nice loading/background screen, you could also put a lot of music and/or text in that same file. I would definitely call that creative.

Putting lots of code (or indeed, any code at all) in that media file would be cheating, in my book.

Besides that; 'media' is plural ('medium' being the singlular of that), so combining graphics, music and text in one media file is, by definition, allowed.

I just bought an NMS8250 last week, so I think I'm going to have a shot at it. I used to be quite resourceful (although that was more than 20 years ago), so good luck everybody, I'm looking forward to your entries!

By wolf_

Ambassador_ (9758)

wolf_'s picture

09-10-2012, 12:55

As far as I can see, with media we (although I came up with this particular media file idea) mean gfx, music etc. The idea was that we could as well have entries that look decent, and usually creating gfx using commands/draw would eat up the bigger part of your source code. So, I think it'd be best when you can spend your ten lines really on AI and structural management. Of course.. "what is media"? Can we all agree on including binary code being not within the spirit of this challenge? The idea is really that your code is 10 lines o' BASIC. The media file is merely here to make things look better. If you manage to add musical data and gfx data in one file (vram filled with music), then you'll have that freedom, as far as I'm concerned. You'll need to spend some of your code on that then. Either way, this is mostly a first reaction.. may need to discuss things internally, though I hope not. ^^

By Huey

Prophet (2642)

Huey's picture

09-10-2012, 13:37

Erh where did you get those prize 'girlies'?
Any pictures?

By wolf_

Ambassador_ (9758)

wolf_'s picture

09-10-2012, 13:39

We had a batch o' girlies made for Nijmegen'12.

By AxelF

Champion (339)

AxelF's picture

09-10-2012, 14:12

Another thing:
Is it allowed to use a small part of ML code, POKE'd in to memory via the basic programm with DATA lines ?.

To what extent it is possible to use mL code....
-1- 1 of the 10 lines code may be used for ML data.
-2- Only BIOS calls, like #41 and #44 to turn screen on/off.
-3- NO ML code at all.

like some clarity on this.

By wolf_

Ambassador_ (9758)

wolf_'s picture

09-10-2012, 14:56

Sooner or later I'd have expected a question like this. I think I'll have to discuss this internally.

The pro argument would be that poking data into memory using READ and DATA would be perfectly BASIC. Just like using DRAW would be perfectly BASIC and it would save you from countless LINE, CIRCLE and PSET statements.

The con argument would be that asm coders would have a technical advantage. Asm code is compact on its own already, so, in 255*10 minus some characters there could be quite some lines o'asm. One of the nice aspects of a challenge in general is the level playing field, where only individual creativity matters.

So, I'll discuss and I'll be bak!

By mars2000you

Enlighted (5470)

mars2000you's picture

09-10-2012, 15:03

Wolf, there's also the problem of KUN-BASIC as some MSX2+ machines have KUN-BASIC built in. Someone could write a program that can only be runned on these machines, as binary forms of this extension are clearly out of this challenge.
If you compare with a program using screen 9 and therefore working only on MSX2 Korean machines, it should be allowed to use built-in KUN-BASIC, from my point of view.

By wolf_

Ambassador_ (9758)

wolf_'s picture

09-10-2012, 15:06

Yea indeed. Well, how about "let expectations partly rate the entry"? If someone uses Kun @ 2+ and someone else uses a plain MSX1, then the 2+ entry should be *really* good compared to the MSX1 entry. So, more options also means a bigger responsibility to deliver some juice!

By snout

Ascended (15187)

snout's picture

09-10-2012, 18:04

Good to hear you are all enthusiastic about the challenge, guys! In general I'd like to say the rules are clear enough. Please, realize it is an MSX-BASIC competition (not a KUN-Basic competition, not an ASM competition) and some common sense should really be enough.

If you need more guidance, please refer to Turrebo's post of 09-10-2012, 10:46. We couldn't have said it better ourselves. Be creative! That is what this challenge is about! We chose the word 'mediafile' carefully, to allow exactly the kind of creativity that has been discussed in these comments.

By mars2000you

Enlighted (5470)

mars2000you's picture

09-10-2012, 18:30

Announced on MSX blue and MSX dev websites :

http://www.msxblue.com/?p=7870

http://msxdev.msxblue.com/?p=1587

:)

By Konamito

Paragon (1027)

Konamito's picture

09-10-2012, 23:43

Good news here!

I'm afraid that our MSX-BASIC contest this year won't have any contestant... But it's cool that people can choose where to participate.

By the way, I´m giving out a nice T-shirt from Konamito.comWink Can I choose the category to whom the prize goes?

By snout

Ascended (15187)

snout's picture

10-10-2012, 16:04

Thanks for the support & publicity, mars & Konamito! Much appreciated!

As for the Konamito MSX-BASIC contest -- you never know, there might still some entries dropping in near the deadline, right?

Cool to see you're donating a Konamito T-Shirt! We came up with the idea of a prize pool in order to let the winners pick the prize they like the most out of the available prizes (prizes not picked will move on to future challenges), but that does not necesarrily exclude specifically set prizes either, does it? Wink

So, by all means, pick a category and the Konamito T-Shirt will go to the winner of that category. Thanks again! ^_^

By viejo_archivero

Paragon (1372)

viejo_archivero's picture

11-10-2012, 19:14

Mmm, /me likes this. Thumbs up for initiatives like this one! Also it's nice to see the deadline is that close ;-), makes your brain start thinking. Gonna try somethin!

By wolf_

Ambassador_ (9758)

wolf_'s picture

11-10-2012, 22:25

Ok, so we'll probably have at least one MSX1 entry! ^_^

By wolf_

Ambassador_ (9758)

wolf_'s picture

11-10-2012, 22:29

Btw, needless to say, but although the spotlight picture hints at games, anything else is valid too. A demo, a tool etc. as long as it fits 10 BASIC lines max!

By Jorito

Mr. Ambassadors (1761)

Jorito's picture

11-10-2012, 23:01

Since my BASIC skills are very rusty, all I could contribute is some ASCII art. But as long as I can fit that in 10 lines, even that would be a valid entry, eh? Smile

By Samor

Paragon (2022)

Samor's picture

12-10-2012, 09:04

My skills are terrible, but I think I'm gonna try this time, just for fun

By Metalion

Paladin (989)

Metalion's picture

12-10-2012, 15:59

Count me in guys ...
I'm developping an entry for this contest.

By PlainSpooky

Resident (51)

PlainSpooky's picture

14-10-2012, 00:11

I've sent my entry. How can I view (and compare) the entries?

By snout

Ascended (15187)

snout's picture

14-10-2012, 09:36

Wow, that is quick! One of our crew members will add this and other entries soon after they are submitted. It might take a little while though. I'm currently on a mobile connection and can't handle your upload just yet. Hang in there and watch the homepage, every entry will be announced by a news post. Thank you very much for your patience - and your entry!!!

By viejo_archivero

Paragon (1372)

viejo_archivero's picture

17-10-2012, 08:11

Well, just submitted mine. It has been funny to try to come up with something that small, keep the contest up! Wink

By Turrebo

Expert (77)

Turrebo's picture

17-10-2012, 09:41

Just received the monitor I bought online. As soon as I fixed the power switch I'm good to go!

Question: can I submit more than one program? I'm not going to flood your inbox with shot lead, but I might have more than one idea I'd like to work out.

By anonymous

incognito ergo sum (109)

anonymous's picture

17-10-2012, 11:06

Sure, there's no limit to how many entries you send in, as long as they are 10 lines of BASIC max and don't abuse the media file for a big old lib of ASM code Smile

Very interested into seeing your ideas come to live. And to see more entries for the challenge of course Smile

By wolf_

Ambassador_ (9758)

wolf_'s picture

17-10-2012, 13:31

Has there ever been an MRC challenge where the amount of entries per person or per group was capped? I don't think so.. Smile

I'm still not sure what to make myself.. something big/insane is tempting.. ^^

By Turrebo

Expert (77)

Turrebo's picture

17-10-2012, 14:45

wolf_ wrote:

Has there ever been an MRC challenge where the amount of entries per person or per group was capped? I don't think so.. Smile

You tell me... I never participated in any programming contest whatsoever. In my day I used to make some pretty clever stuff in ASM, but BASIC is an entirely different league!

So I'm still thinking about what to make. I can't do anything before my monitor is fixed, though Sad

By Huey

Prophet (2642)

Huey's picture

17-10-2012, 15:18

Turrebo wrote:

So I'm still thinking about what to make. I can't do anything before my monitor is fixed, though Sad

Using emulation could speed up the development process Wink

By wolf_

Ambassador_ (9758)

wolf_'s picture

17-10-2012, 15:38

Yea, if you boost the emulated Z80 to kingdom come, yet let your program work with a VDP-timer, then things should run orderly.

By Turrebo

Expert (77)

Turrebo's picture

17-10-2012, 18:16

@Huey / wolf_

I prefer a real MSX (somehow it just feels better, it gives me more inspiration. A bit silly, I know) but you're right and I should give the ole emulator a try.

By Manuel

Ascended (15450)

Manuel's picture

17-10-2012, 21:16

Quote:

In my day I used to make some pretty clever stuff in ASM, but BASIC is an entirely different league!

Turrebo: so, can we know you from something?

By nanochess

Master (218)

nanochess's picture

17-10-2012, 22:26

NYYRIKKI wrote:

10 lines!!! Aargh...

I want to remind you, that Rally-X was only 8-lines. (and not even in full length... and no external files)
http://www.msx.org/downloads/mrc-challenges/iombcc/rally-x-f...

Just plain amazing! I didn't know that there existed a IOMBCC, I suppose it means International Obfuscated MSX Basic Code Contest :)

I was checking it at downloads index, I think it would be great if at the downloads center was included the year of each MRC competition and some small description of how it started or a link to the corresponding news.

By Turrebo

Expert (77)

Turrebo's picture

17-10-2012, 22:45

@Manuel Probably not, as I didn't attend to club days much (exactly once, really. Gouderak I think it was. Didn't like it much, sorry...). I mostly did requests.

I wrote a routine that loaded Eggerland2, Vampire Killer, Metal Gear and King Kong II in just under 7 seconds instead of the usual 1 minute (or more). Edited Ancient Ys Vanished Omen so that you could save your games on the game disk without overwriting the game. Wrote a little program to find graphics data in games, like sprites and stuff, and save it to disk. I even tried to make an archiver (like rar and pkzip), but that was juuuust a little bit out of my league LOL!

Mostly I tried to take away everyday annoyances (long loading times, the need for a separate save disk). I was bugger all at creating original stuff, but I was usually good at spotting flaws in others' and finding a way to improve it. It always surprised me that I was apparently the first to tackle those 'problems'.

This was before the Internet era, of course, so it all stayed very local. There's nothing online that I created. I probably still have the speedload thingy somewhere, though. I was very proud of that Big smile

It was years ago when I last programmed anything, but I have some good ideas I want to work out.

By ARTRAG

Enlighted (6181)

ARTRAG's picture

24-11-2012, 15:38

my 2 cents:
Original version from CREATIVE COMPUTING MORRISTOWN, NEW JERSEY, adapted to fit in less than 10 lines

100 PRINT "BUZZWORD GENERATOR":PRINT:PRINT "THIS PROGRAM PRINTS HIGHLY ACCEPTABLE PHRASES IN 'EDUCATOR-SPEAK' THAT YOU CAN WORK INTO REPORTS AND SPEECHES."
200 PRINT:PRINT:PRINT "HERE'S THE FIRST PHRASE:":DIM A$(40): FOR I=1 TO 39 : READ A$(I) : NEXT
300 PRINT A$(INT(13*RND(1)+1));" "; A$(INT(13*RND(1)+14));" "; A$(INT(13*RND(1)+27)) : PRINT
400 PRINT "OTHER BUZZWORDS";:INPUT Y$ : IF Y$="Y" or Y$="y" THEN 300 
500 DATA "ABILITY","BASAL","BEHAVIORAL","CHILD-CENTERED","DIFFERENTIATED","DISCOVERY","FLEXIBLE","HETEROGENEOUS","HOMOGENEOUS","MANIPULATIVE","MODULAR","TAVISTOCK","INDIVIDUALIZED","LEARNING","EVALUATIVE","OBJECTIVE"
600 DATA "COGNITIVE","ENRICHMENT","SCHEDULING","HUMANISTIC","INTEGRATED","NON-GRADED","TRAINING","VERTICAL AGE","MOTIVATIONAL","CREATIVE","GROUPING","MODIFICATION","ACCOUNTABILITY","PROCESS","CORE CURRICULUM","ALGORITHM"
700 DATA "PERFORMANCE","REINFORCEMENT","OPEN CLASSROOM","RESOURCE","STRUCTURE","FACILITY","ENVIRONMENT"
999 PRINT "COME BACK WHEN YOU NEED HELP WITH ANOTHER REPORT!":END

By ARTRAG

Enlighted (6181)

ARTRAG's picture

03-12-2012, 00:04

another contribution, a maze generator in 2 lines:

10 screen 1:width 32: key off
20 print chr$(1)+chr$(92+rnd(1)*3);:  goto 20

Candidate for the prize in the category of the shortest listing ;-)

By Jorito

Mr. Ambassadors (1761)

Jorito's picture

03-12-2012, 00:37

ARTRAG wrote:

my 2 cents:
Original version from CREATIVE COMPUTING MORRISTOWN, NEW JERSEY, adapted to fit in less than 10 lines

100 PRINT "BUZZWORD GENERATOR":PRINT:PRINT "THIS PROGRAM PRINTS HIGHLY ACCEPTABLE PHRASES IN 'EDUCATOR-SPEAK' THAT YOU CAN WORK INTO REPORTS AND SPEECHES."
200 PRINT:PRINT:PRINT "HERE'S THE FIRST PHRASE:":DIM A$(40): FOR I=1 TO 39 : READ A$(I) : NEXT
300 PRINT A$(INT(13*RND(1)+1));" "; A$(INT(13*RND(1)+14));" "; A$(INT(13*RND(1)+27)) : PRINT
400 PRINT "OTHER BUZZWORDS";:INPUT Y$ : IF Y$="Y" or Y$="y" THEN 300 
500 DATA "ABILITY","BASAL","BEHAVIORAL","CHILD-CENTERED","DIFFERENTIATED","DISCOVERY","FLEXIBLE","HETEROGENEOUS","HOMOGENEOUS","MANIPULATIVE","MODULAR","TAVISTOCK","INDIVIDUALIZED","LEARNING","EVALUATIVE","OBJECTIVE"
600 DATA "COGNITIVE","ENRICHMENT","SCHEDULING","HUMANISTIC","INTEGRATED","NON-GRADED","TRAINING","VERTICAL AGE","MOTIVATIONAL","CREATIVE","GROUPING","MODIFICATION","ACCOUNTABILITY","PROCESS","CORE CURRICULUM","ALGORITHM"
700 DATA "PERFORMANCE","REINFORCEMENT","OPEN CLASSROOM","RESOURCE","STRUCTURE","FACILITY","ENVIRONMENT"
999 PRINT "COME BACK WHEN YOU NEED HELP WITH ANOTHER REPORT!":END

Is this an entry as well? Then please submit it as a download!

By ARTRAG

Enlighted (6181)

ARTRAG's picture

03-12-2012, 09:59

Shouldn't it be totally original? If it is acceptable to have rearranged the code from an acient program, I can submit it, otherwise keep it as post

By Jorito

Mr. Ambassadors (1761)

Jorito's picture

03-12-2012, 18:23

True, we should stick to originals Smile

By ARTRAG

Enlighted (6181)

ARTRAG's picture

03-12-2012, 22:08

Another maze generator, a bit improved IMHO

10 screen 1:width 32: key off
20 print chr$(1)+chr$(81+rnd(1)*11);:  goto 20

By Manuel

Ascended (15450)

Manuel's picture

03-12-2012, 23:25

ARTRAG: can you add some features: it has a start and an end and a guaranteed solution, and it's not 100% trivial Smile

By BlueCrystal

Expert (68)

BlueCrystal's picture

04-12-2012, 12:08

ARTRAG wrote:

Another maze generator, a bit improved IMHO

10 screen 1:width 32: key off
20 print chr$(1)+chr$(81+rnd(1)*11);:  goto 20

Inspired by: Click me! ?

By ARTRAG

Enlighted (6181)

ARTRAG's picture

04-12-2012, 23:04

Now it is ! This version is by far the best one: faster and with better results !

10 screen 1:width 32: key off
20 print chr$(1)+chr$(93.5+rnd(1));:  goto 20

By ARTRAG

Enlighted (6181)

ARTRAG's picture

05-12-2012, 23:09

this is fascinating as well

10 screen 1:width 32: key off
20 print chr$(1)+chr$(222.5+rnd(1));:  goto 20

Manuel, do you ask for a maze with guaranteed solution in two lines ?
Wink

By Jorito

Mr. Ambassadors (1761)

Jorito's picture

05-12-2012, 23:26

Again, ATRAG, if you want to participate in the Tenliner challenge, please submit your entry as a download.

By ARTRAG

Enlighted (6181)

ARTRAG's picture

06-12-2012, 21:14

I did it but I would like you keep them outside the competition
I've just been inspired by the tenliner completion to do some basic code after 25 years

By KdL

Paragon (1199)

KdL's picture

18-12-2012, 16:00

out of time, sorry! Wink

1 COLOR0,0,0:SCREEN1:KEYOFF:CLEAR200,&HC04A:A%=&HC04A:DEFUSR=A%:READA$:FORI%=1TO99STEP2:POKEA%+I%\2,VAL("&H"+MID$(A$,I%,2)):NEXTI%:GOSUB9:DATA21401811F4C001C002CD590021F4C011601801A002CD5C0021F4C0362011F5C0012000EDB021F4C0114018012000CD5C00C9
2 READA$:IFA$="@"THENGOSUB8:GOTO2ELSEIFA$="@@"THENRUNELSEPRINTA$:GOSUB10:GOTO2
3 DATA"and I pretend to pray","well, I got down on my knees","I passed along the way","stopped into a church",,"on such a winter's day","California Dreamin'"
4 DATA"if I was in L.A","I'd be safe and warm",,"on a winter's day","I've been for a walk","and the sky is grey","all the leaves are brown","@"
5 DATA"on such a winter's day (x3)","California Dreamin'","I could leave today","if I didn't tell her",,"on a winter's day","I've been for a walk"
6 DATA"and the sky is grey","all the leaves are brown",,"on such a winter's day","California Dreamin'","he knows I'm gonna stay","             likes the cold"
7 DATA"you know the preacher","@","  1963-1966 New York City",," The MAMA'S and The PAPA'S",,,,,,,,"@","  Tenliner Challenge 2012",,"    Merry Xmas from KdL",,,,,,,,"@","@@"
8 COLORABS(RND(-TIME)*13)+2:LOCATE0,22:PRINT"PRESS A KEY ";:A$=INPUT$(1):CLS
9 PRINT"California Dreamin' (lyrics)":PRINT"-=-=-=-=-=-=-=-=-=-=-=-=-=-=":RETURN
10 COLOR10:A%=USR(0):LOCATE0,2:RETURN

Merry Xmas !!