Bunsen Posted February 11, 2014 Share Posted February 11, 2014 After the fun and success of last year at the NOMAM there is another programming competition this year. This year Turbo Basic XL is allowed. Besides speed advantages there are a few other advantages in Turbo Basic.Here are the conditions of the competition:- 10 lines of Turbo Basic XL code (pure Atari Basic is also allowed)- It must be a game- Input medium of the game arbitrarily (joystick , paddle , keyboard, ... )- Abbreviations may be used to increase the maximum line length- No reloading of data or parts of the program- Call of machine language programs is not permitted ( X = USR ( 1536) )- POKing is allowed (eg change the DL, PM graphics)- Deadline: Saturday 26 April , 11 pm (remote posts : Wednesday, April 22)- Voting: Saturday 26 April , 11.30 pm , Awards Ceremony : Sunday, 27 April , 0 am- Only physically Attendants may vote- Remote contributions are nevertheless allowed. They have to arrive until Wednesday 22 April 11.59 pm at GKANOLD - äht - GMAIL dot COM (all times CET - central european time)We also have some donated prizes, more donations are still gladly accepted . 7 Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/ Share on other sites More sharing options...
Synthpopalooza Posted February 12, 2014 Share Posted February 12, 2014 Question: I know USR calls aren't allowed, but what about VBI routines that don't use USR calls ... that is, you set the VBI pointer to execute code every VBI. Are these allowed? Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926595 Share on other sites More sharing options...
Bunsen Posted February 12, 2014 Author Share Posted February 12, 2014 Bobby, I would say: allowed. Example? So far there are already 3 entries. Jumpsheep by fdingler Paddleship by Bill Kendrick Sijmen by me Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926719 Share on other sites More sharing options...
Synthpopalooza Posted February 12, 2014 Share Posted February 12, 2014 Well, the idea was, I wanted to use a Super IRG style mode which runs off of a VBI., and to use this in Graphics 2. The idea is, it would save space (1K needed for font) and help the game to run faster. It wouldn't use USR calls, just a change to the VBI pointer. To get to less than 10 lines will be a challenge to be sure. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926723 Share on other sites More sharing options...
Bunsen Posted February 12, 2014 Author Share Posted February 12, 2014 Bobby, rules above allows it, I think. 1 Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926728 Share on other sites More sharing options...
Sikor Posted February 12, 2014 Share Posted February 12, 2014 (edited) Only source-code are allowed? With no external data? (for example: font set)? =====================EDIT: One more question: can we use POKE 82,0 to edit sources? Edited February 12, 2014 by Sikor Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926800 Share on other sites More sharing options...
Synthpopalooza Posted February 12, 2014 Share Posted February 12, 2014 Any trick you can think of to squeeze code into one logical line is allowed, I am sure. This includes abbreviations, POKE 82,0, removing unneeded spaces. As for font set, I have a program which can fix that, called CONVERT.BAS ... converts your font set into either DATA statements or string assignments. Only prob is, those string assignments can eat up a lot of lines, unless you are working in Graphics 1 or 2 which only allows you 512 bytes for your char set. That will still eat up 5 lines of your code tho. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926823 Share on other sites More sharing options...
Rybags Posted February 13, 2014 Share Posted February 13, 2014 I should think no USR also means no VBI or DLIs. In 10 lines using ASCII in DATA, an assembler routine of ~ 1K could be fitted, that would be an extreme unfair advantage. VBI or main loop, little difference - and a VBI routine could quite easily just break out and become the mainline program anyway. I might have to whip something up... I have a trick or 2 to cram more stuff in 10 lines. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2926966 Share on other sites More sharing options...
+therealbountybob Posted February 13, 2014 Share Posted February 13, 2014 Thanks for the invite Bunsen This contest is a great way for anyone to learn to program on the Atari If there is anyone needing any help getting started just post, there are lots of people who can help. Don't be put off by some of the tecnhical discussions you only need a few commands to have something moving around the screen, and before you know it you will have a little game running; it's all a bit of fun p.s. I'm in Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927183 Share on other sites More sharing options...
Bunsen Posted February 13, 2014 Author Share Posted February 13, 2014 Now I am a lttle bit unsure of myself. Bobby, I don't know exactly what you mean. As Rybags explains use of VBI is some kind of machine language use and similar to USR calls. But on the other hand I think it makes no sense to draw too many rules, because it should be a fun contest. It also does not really matter whether one is first, third or fifth. Maybe it is better to allow machine calls? But then it is not likely a basic contest. Paweł, yes POKE 82,0 is allowed and yes, only source code is allowed, no loading of fonts or other data. Jason, great that you are in Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927236 Share on other sites More sharing options...
Bunsen Posted February 13, 2014 Author Share Posted February 13, 2014 4th game registered Jumpsheep by fdingler Paddleship by Bill Kendrick Sijmen by me Squirrel by fdingler Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927245 Share on other sites More sharing options...
Sikor Posted February 13, 2014 Share Posted February 13, 2014 O.K. Thx for info. In 90% I'm in it too Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927442 Share on other sites More sharing options...
Bunsen Posted February 13, 2014 Author Share Posted February 13, 2014 (edited) Fine Sikor! Edited February 13, 2014 by Bunsen Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927447 Share on other sites More sharing options...
Synthpopalooza Posted February 13, 2014 Share Posted February 13, 2014 I think I will stay away from VBI's. Don't think I can fit it into mine anyway. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2927453 Share on other sites More sharing options...
Bunsen Posted February 14, 2014 Author Share Posted February 14, 2014 5th game registered Jumpsheep by fdingler Paddleship by Bill Kendrick Sijmen by me Squirrel by fdingler Shmup by Bill Kendrick Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2928178 Share on other sites More sharing options...
Rybags Posted February 15, 2014 Share Posted February 15, 2014 (edited) I've got one in the pipeline - 8 lines so far but hoping to compact down a bit. There's some exploits that can be used to cram more into a line and some programming trickery that can help too: - normal limit with E: is only 120 bytes input to a line. Actually, BASIC allows 256 bytes to be input but this limit is rarely approached and can only occur when doing something like ENTER "<filespec>". To get such large lines, an editor on the PC can be used, then use the H: device in the emulator with ATASCII translation to get the lines into memory. There are downsides though, changing the program will be tedious and including special characters somewhat harder. Best method is probably to do the program e.g. as 30 lines of code then combine lines in an editor once finalized. Note also that there's a limit to a stored line of program (256 bytes?) and it's fairly easy to overrun this. Especial case is if there's lots of numeric constants in a line. - use boolean logic. e.g. in the game I'm doing, speed/size advantage for moving something vertically: S=STICK(0) : V=(S=13)-(S=14) : Y=Y+V - use infinite loop, change loop variable to break out. The problem with using GOTO for program control within the main loop is that the main loop will start at the beginning of the line and the end of the main loop with the GOTO can't have anything following it. FOR L=1 TO 2 STEP 0 <rest of main loop> IF C=1 THEN L=2 : REM set breakout condition so we can get out of loop NEXT L Edited February 15, 2014 by Rybags 3 Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2928483 Share on other sites More sharing options...
+therealbountybob Posted February 15, 2014 Share Posted February 15, 2014 I think using PC editor/emulator tricks might be outside the spirit of the contest; should just be the margin poke and abbreviations 1 Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2928582 Share on other sites More sharing options...
Rybags Posted February 15, 2014 Share Posted February 15, 2014 I'll do what's needed to keep it in the 10 lines... equally you could do the same trick using legacy Atari gear only, so it's not really cheating. I might have a handicap anyway - I'll probably only use the standard Basic, so you lose out a little there. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2928591 Share on other sites More sharing options...
Bunsen Posted February 15, 2014 Author Share Posted February 15, 2014 Hey, you guys fight with all means Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2928680 Share on other sites More sharing options...
Irgendwer Posted February 16, 2014 Share Posted February 16, 2014 - use infinite loop, change loop variable to break out. The problem with using GOTO for program control within the main loop is that the main loop will start at the beginning of the line and the end of the main loop with the GOTO can't have anything following it. You can use remaining line space for DATA: 1 IF A=B THEN 3:DATA 1,2,3,4,5,6 Does not look nice, but helps to work within the given limit... Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2929584 Share on other sites More sharing options...
fadix Posted February 16, 2014 Share Posted February 16, 2014 I don't get how poke 82,0 helps with this contest. Doesn't it just make the left margin disappear (be 0 pixels)? Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2929658 Share on other sites More sharing options...
Sikor Posted February 16, 2014 Share Posted February 16, 2014 I don't get how poke 82,0 helps with this contest. Doesn't it just make the left margin disappear (be 0 pixels)?You has longer lines. Atari Basic (and Turbo Basic XL) get maximum line lengths 3-lines. So, you has 6 letter more for each line (60 at all). Only few? Example: PL.0,0 - one instruction more in line. Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2929665 Share on other sites More sharing options...
+therealbountybob Posted February 16, 2014 Share Posted February 16, 2014 Be sure to use line numbers 0-9 too Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2929710 Share on other sites More sharing options...
billkendrick Posted February 17, 2014 Share Posted February 17, 2014 I can't help myself! I've written two more! "Planets"two-player, joystick-controller 'artillery game' with planets and orbital gravity "Slice"one-player, Touch Tablet-controlled (paddle should work, too, but might be difficult) game where you collect dots before they fly off the screen. ("Fruit Ninja", but not really; kinda also like "Stampede" or "Kaboom!") I've got 2 or 3 more ideas, and apparently have some small amount of free time lately to work on these. So you may see more! If it turns out that I have too many submissions (there was no limit mentioned in the rules, but I'd fully understand) then I'm happy to pick one or more games that I'd like to submit. (I'd pick one(s) that I think have a chance at winning the contest, of course ) I have to say, this has been devilishly fun. My day job involves numerous huge Linux servers and giant databases on systems with 16GB of RAM each, so trying to fit 11 lines of code for a working game down into 10 lines, so that it adheres to the rules, is a very different kind of puzzle. 5 Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2930331 Share on other sites More sharing options...
Bunsen Posted February 17, 2014 Author Share Posted February 17, 2014 8th game registered Jumpsheep by fdingler Paddleship by Bill Kendrick Sijmen by me Squirrel by fdingler Shmup by Bill Kendrick Colfusion by Irgendwer Planets by Bill Kendrick Slice by Bill Kendrick Quote Link to comment https://forums.atariage.com/topic/221948-basic-ten-liners-contest-2014/#findComment-2930423 Share on other sites More sharing options...
Recommended Posts
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.