Jump to content
Bunsen

BASIC Ten-Liners - Contest 2014

Recommended Posts

 

I was thinking to do something, but after seeing this game, it is pure masked ASM :)

 

But seriously you know it is not? It is just moving with BASIC command MOVE graphics data saved as character strings. No machine code at all.

 

By the way - when making these 10 liners I have realised how much processor time custom chips save - no probs with smooth vertical scrolling at all, horizontal is a bit more difficult but doable as well (:flappy). Totally inconceivable with simple framebuffer machines like Apple ][ or ST.

 

Best,

 

pirx

  • Like 1

Share this post


Link to post
Share on other sites

 

But seriously you know it is not? It is just moving with BASIC command MOVE graphics data saved as character strings. No machine code at all.

 

By the way - when making these 10 liners I have realised how much processor time custom chips save - no probs with smooth vertical scrolling at all, horizontal is a bit more difficult but doable as well (:flappy). Totally inconceivable with simple framebuffer machines like Apple ][ or ST.

 

Best,

 

pirx

 

hahaha, sorry my mistake, I didnt look the code :P

Share this post


Link to post
Share on other sites

Absolutely astonishing what's possible in 10 lines of Turbo Basic.

We have decided to split the contest into 2 categories.a) "E:-Games"; =games that can be typed in with Atari E: device screen editor. b)"unlimited"; =games with longer lines

This is not a change of rules, but only a means to better structure the abundance of games.

 

The voting will be different to all other contests like Abbuc, kazkompo and silly venture.

  • Like 3

Share this post


Link to post
Share on other sites

Hi,

 

Absolutely astonishing what's possible in 10 lines of Turbo Basic.
We have decided to split the contest into 2 categories.a) "E:-Games"; =games that can be typed in with Atari E: device screen editor. b)"unlimited"; =games with longer lines
This is not a change of rules, but only a means to better structure the abundance of games.

The voting will be different to all other contests like Abbuc, kazkompo and silly venture.

 

Ah, good, as my two entries are already type-able on E: :-)

Share this post


Link to post
Share on other sites

35th game registered :)

 

Jumpsheep by fdingler

Paddleship by Bill Kendrick

Sijmen by Gunnar Kanold

Squirrel by fdingler

Shmup by Bill Kendrick

Colfusion by Irgendwer

Planets by Bill Kendrick

Slice by Bill Kendrick

GozMind by gozar Retracted

Carrera by Daniel Serpell

Minijong by Bill Kendrick

Jump! by Xuel

Count1ng Zoo by 1NG

Hanged Man by Jakub Husak

Gwobby Micro by Jason Kendall

Minidash by Bill Kendrick

Puzzler 2014 by Sleepy

Drunk Pistol by mgr inz. Rafal

Crack My Luggage by gozar

Roguelike by Jakub Debski

Nimx by Cliff Hatch

Catch by Chris Read

Grue Killer by Reaperman

Joyas by Daniel Serpell

Dodge Racer by Reaperman

Abyss by Jakub Debski

Fuky Bird by 1NG

Puzzler Duell by Sleepy

Flappy by pirx

BluesJam by Savetz

Abduct10 by Savetz

Maze by Bill Kendrick

Bagh Chal by Bill Kendrick

Isol by Bill Kendrick

2047 by pirx

Cavern 10 by Xuel

Share this post


Link to post
Share on other sites

Now! Finally! My little attempt in creating a game in only 10 lines of »Turbo Basic XL« code. I call this one

ATLAS TXL

post-38426-0-33829000-1397601070_thumb.jpg

ATLAS.zip

I have to admit ... well ... how should I say ... well ... please don't call me as arrogant when I say the following. But in my RL daily life I am used to object oriented programming (OOP) using the programming language PHP and JavaScript. Which means you can relay on well formed and therefore nearly self documented code.

So, this was exactly the opposite: It was WILDE WILDE ANARCHY HACKING. Nothing less. Don't do this at home kids! But I am so glad my little game could fit in those 10 lines of TBXL. :)

You all know this type of game from the glorious company »Imagic« in the mid-80s. They made a game called »Atlantis« for the Atari 2600 and later for other systems as well as for our lovely 8-bit-machine. My game has the same purpose: Defend a city from deadly enemies from above.

You have three canons: One in the middle, one to the left and one to the right. You choose which canon to fire by pressing the joystick to the left, right or leave it in the middle. Hitting a ship gives you 50 points from the middle cannon and 200 points from the side cannons. Every three hits by the side canons you get an extra life. When your score reaches 1000 the enemy ships sometimes get faster than before. Don't let the enemy ships come all the way down to the bottom or you lose a life. When are lives are gone the game is over.

I programmed the game ... err, sorry ... I mean I HACKED the game using »Altirra 2.40« so I am not sure if it runs on real hardware. But I am pretty sure it does. For the ones interested I had two heavy bugs in the program which were extremely hard to track due to the packed content of the program lines. Here's some insight of my TBXL nightmares:


a) Variable Name And Keyword Concatenation
Due to space limitations I first deleted every space characters in the lines. Man, that was a damn bad idea. Look at this statement (originally found in line 4):

IF Q THEN K=0

removing the spaces gives you

IFQTHENK=0

But TBXL interprets this as

IF QTHENK=0

So I now had a variable with the name QTHENK which if course did bad things in the code.


b) IF-THEN-Problems
It appears that TBXL seem to have problems with the following construct:

IF A:IF B=0 THEN C=1:ENDIF

Not sure if this example demonstrates the strange behavior but I had similar code fragments in my game. I wasn't able to track down an error for hours. A voice in my head told me to replace this line with the following:

IF A:IF B=0:C=1:ENDIF:ENDIF

And suddenly everything works as expected. Well ... good old TBXL I guess! :)

 

 

I hope you enjoy the game a little. The game was made during the time period of nearly a month hacking here and there. For squeezing the long lines into BASIC I used an external editor named »Notepad++« with the »Hex Editor« PlugIn. This editor is so hot I instantly switched to this for my daily real life work! :)

Oh, and I nearly forgot: I am now so deep into this game and it gave me some ideas ... I am most probably doing a real game written in machine language from it.

Kind regards,
Henrik (Island2Live)

Edited by Island2Live
  • Like 6

Share this post


Link to post
Share on other sites

Hi Henrik,

IF A:IF B=0:C=1:ENDIF:ENDIF

is totally logical - think of it as of

if (A!=0) {
    if (B==0) {
       C=1;
   } //first ENDIF
}//second ENDIF

Without ENDIF you are not closing enough blocks.

 

Best,

 

pirx

Share this post


Link to post
Share on other sites

Hello pirx,

thank you very much for your comment on my code. I fear there is slight misunderstanding. The code you showed definitely IS totally logic. And that's what I already and finally used in my game as explained in my original posting. The problematic code fragment was this one:

IF A:IF B=0 THEN C=1:ENDIF

THIS did not work even though it is also logical, did not produce any errors AND works fine when executed on a single program line. It did NOT work in my game though ... probably because Turbo Basic XL got confused by too many IF:ENDIF constructs spanned over too many lines. ;)

Kind regards,
Henrik (Island2Live)

Share this post


Link to post
Share on other sites

36th game registered :)

 

Jumpsheep by fdingler

Paddleship by Bill Kendrick

Sijmen by Gunnar Kanold

Squirrel by fdingler

Shmup by Bill Kendrick

Colfusion by Irgendwer

Planets by Bill Kendrick

Slice by Bill Kendrick

GozMind by gozar Retracted

Carrera by Daniel Serpell

Minijong by Bill Kendrick

Jump! by Xuel

Count1ng Zoo by 1NG

Hanged Man by Jakub Husak

Gwobby Micro by Jason Kendall

Minidash by Bill Kendrick

Puzzler 2014 by Sleepy

Drunk Pistol by mgr inz. Rafal

Crack My Luggage by gozar

Roguelike by Jakub Debski

Nimx by Cliff Hatch

Catch by Chris Read

Grue Killer by Reaperman

Joyas by Daniel Serpell

Dodge Racer by Reaperman

Abyss by Jakub Debski

Fuky Bird by 1NG

Puzzler Duell by Sleepy

Flappy by pirx

BluesJam by Savetz

Abduct10 by Savetz

Maze by Bill Kendrick

Bagh Chal by Bill Kendrick

Isol by Bill Kendrick

2047 by pirx

Cavern 10 by Xuel

Atlas TXL by island2live

Share this post


Link to post
Share on other sites
IF A:IF B=0 THEN C=1:ENDIF

 

Hi Henrik,

 

That is because "THEN" means do everything to the end of the line. So the first IF is missing the ENDIF - it is inside the "THEN" block. You just can not mix these two idioms in one line. Basically what I have learnt from this competition is to leave "THEN" alone for good :)

 

Best,

Pawel /pirx/ Kalinowski

Edited by pirx

Share this post


Link to post
Share on other sites

... Basically what I have learnt from this competition is to leave "THEN" alone for good :) ...

Yes, exactly, same here! :D

 

Kind regards,

Henrik (Island2Live)

Share this post


Link to post
Share on other sites

Close date for remote posts - would that be Wednesday? OP says Wed 22 April but 22nd is Tuesday.

 

Got one entry that's been nearly ready for weeks, just got to trim down a bit. If I get some momentum going might be able to get one or two more in.

Share this post


Link to post
Share on other sites

OK, my mistake. Wednesday, the 23rd. Would love to see one or two (or three :-)) entries from you.

On Thursday I will drive to Lübeck to NOMAM, there I will have limited access to internet and can't manage things correct (no possibility to bring ATR's from iphone to Atari...)

Share this post


Link to post
Share on other sites

So to clarify: entries need to arrive by the end of the day Wednesday the 23rd, central european time. Correct?

Share this post


Link to post
Share on other sites

when i tried to use enter:"filename" for longer lines (up to 256) bytes. Nothing happens.

 

for sure there is an issue but the emulator doesn't complaint

Share this post


Link to post
Share on other sites

when i tried to use enter:"filename" for longer lines (up to 256) bytes. Nothing happens.

 

for sure there is an issue but the emulator doesn't complaint

I encountered the same issue. Program lines for the Atari Basic, »Turbo Basic XL« and probably all text files need to end with the Atari-typical end-of-line character 0x9b instead of the usual CR/LF for Windows. That was an issue I solved by using a Hex-Editor inside my beloved - and beginning from this contest - new editor »Notepad++«.

 

Hope this helps a little. :)

 

Kind regards,

Henrik (Island2Live)

Share this post


Link to post
Share on other sites

So to clarify: entries need to arrive by the end of the day Wednesday the 23rd, central european time. Correct?

 

Yes, correct.

Share this post


Link to post
Share on other sites

If the entrants of the competition were to be released on a datasette, the total code released thus far, combined, would be pretty close to filling up a whole hour , wouldn't it? Or is there still room for.. for a 90 minute cassette ... keep coding...more, more, more.. :D

Share this post


Link to post
Share on other sites

That Game, Flappy.xex

 

It seems not working properly.

 

When I loading up and it will not stop flying. On Commodore 8 bits side, it suppose to wait for the user to press the space bar and start the game. On the Atari version, it automatic start the game WITHOUT wait until pressing the space bar first and play the stage .

 

to Voy.

Edited by Caterpiggle

Share this post


Link to post
Share on other sites

I encountered the same issue. Program lines for the Atari Basic, »Turbo Basic XL« and probably all text files need to end with the Atari-typical end-of-line character 0x9b instead of the usual CR/LF for Windows. That was an issue I solved by using a Hex-Editor inside my beloved - and beginning from this contest - new editor »Notepad++«.

 

Hope this helps a little. :)

 

Kind regards,

Henrik (Island2Live)

 

thanks a lot !

 

I was replacing LF with npp++ however something went wrong, now using the convert tool from a800win+ works correctly.

Share this post


Link to post
Share on other sites

Hello guys

 

So to clarify: entries need to arrive by the end of the day Wednesday the 23rd, central european time. Correct?


Yes, correct.

 


Not sure if it makes any different, but we're at central european daylight savings time. Which gives you one hour less to complete your 10 liner.

Sincerely

Mathy

Share this post


Link to post
Share on other sites

Hi,

I made a few modifications to the Joyas game, it's a little faster now, added an intro screen, high-score, sounds on each move, and make turn-based, with 15 turns before ending.

 

DMSC.

 

post-18634-0-52526000-1398222504_thumb.png post-18634-0-35857500-1398222517_thumb.png

 

joyas2.zip

Share this post


Link to post
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.

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...