Jump to content
IGNORED

Challenge: Write a game in Atari Basic under 4K


NuY

Recommended Posts

]That's pretty nice, and probably far beyond the standards I was expecting for anything done in Basic. I'll need to get my copy of Mapping out to work out what you're doing with all those POKEs though, I fear :)

 

Thanks! The POKEs aren't very scary. Most of it is just working with screen memory... eg: S=PEEK(88)+256*PEEK(89):POKE S+5,50 - and behold, you get some character on your screen. POKE S+6,PEEK(S+5):POKE S+5,0 - and now it's moved over a character. My tiles are 2x2 characters wide, and I set A,B,C,D to be the top-left, top-right, bottom-left, bottom-right corners... then I have batches of POKEs like the above for each direction, to move the tiles in two steps with a small delay, to give a vague idea of sliding motion! I then wanted a quicker version for when it shuffles the tiles, so I wrote another set to do it in one step without the delay.

 

Some of the early things I tried to keep within 4k were a bit messy though...

Edited by wesmond
Link to comment
Share on other sites

  • 3 weeks later...

Here is my game work (in progress) for this topic's debate of pure Atari BASIC coding. It is dice board game, in which your goal is to move all your 4 figures to their destination with throwing dice to make the moves. Other player figures have the same goal and if two figures appear in the same cell, the one underneath is moved back to staring point. For now I only show screenshots of the game, because it is really just a basic concept. It will be real challenge to fit it in 4K boundary. I doubt I will finish the game till deadline, but I will try. If not, I will publish it here later on.

 

post-7301-0-83397900-1348171707_thumb.png post-7301-0-62410300-1348171720_thumb.png

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

Well I was hoping for a clone of the Intellivisions sking.......so don`t get your hopes up. :D

After crunching it down it`s quite a mess and hopefully comes in at just under 4k.

 

Some instructions.....

Due to the Hi-rez fractal tree renderer ;) it takes 30 secs or so to start.

Control is left and right on the joystick and fire restarts the run.

You get 3 goes on the the same course to improve your time.

Blinking in time with the graphical glitching can give the impression of smooth scrolling :-o (does anyone know of a flag/location thats set during vblank?)

Think thats it.

 

 

SKIING.zip

  • Like 2
Link to comment
Share on other sites

Good work, IronWorks, considering the rules in this topic.

 

Stratching fair game in 4K, with pure BASIC allowed only. Hmm, quite a challenge. I also took the time to put something together and hoped to finish it till deadline. I optimized it as much as possible, but what I figured out is that way everything becomes quite unreadable and prone to new bugs. Considering some more game logic has to be put in game, there is no way I can manage to fit it in 4K.

Link to comment
Share on other sites

Well I was hoping for a clone of the Intellivisions sking.......so don`t get your hopes up. :D

After crunching it down it`s quite a mess and hopefully comes in at just under 4k.

 

Some instructions.....

Due to the Hi-rez fractal tree renderer ;) it takes 30 secs or so to start.

Control is left and right on the joystick and fire restarts the run.

You get 3 goes on the the same course to improve your time.

Blinking in time with the graphical glitching can give the impression of smooth scrolling :-o (does anyone know of a flag/location thats set during vblank?)

Think thats it.

 

 

SKIING.zip

That's pretty neat :) Can't help with the VBLANK stuff unfortunately, but can give some tips in crunching it down slightly, which might help if you want to add in some scoring mechanism or anything else:

 

1. The READ statements in line 170 onwards - because you're reading the same amoun of bytes every time, what you could do here is have the different POKE locations in the DATA itself. This could make the ten or so loops you have into just one, saving you a good chunk of RAM - each number in each line of those loops will be taking up 5 (6?) bytes of RAM.

 

2. To crunch further, you could convert all the DATA at the end into ASCII strings and shove them into the right bit of RAM. This will also free up a big chunk, potentially by as much as a factor of 4. See wesmond's prog for an example of this.

 

But it looks pretty cool already, so what the hell, let's extend the deadline until the end of October! Especially as I haven't finished my contribution yet ;)

Link to comment
Share on other sites

Good work, IronWorks, considering the rules in this topic.

 

Stratching fair game in 4K, with pure BASIC allowed only. Hmm, quite a challenge. I also took the time to put something together and hoped to finish it till deadline. I optimized it as much as possible, but what I figured out is that way everything becomes quite unreadable and prone to new bugs. Considering some more game logic has to be put in game, there is no way I can manage to fit it in 4K.

Hey Gury, your screenshot looked kind of nice, even though it's meant to be a 4K compo, it's only an informal thing, so by all means carry on and post it in this thread :) As above, it can have sort of a rolling deadline, till say end of October now, so more time is good :) I'd like to get between 5 and 10 entries to make up a nice disk, with yours we're now up to 4.
Link to comment
Share on other sites

Thanks for the comments/tips guys. The scoring was one of the things that got trimmed so I may get

that back with some more space saving. :twisted:

The glitching is tougher....if I can detect vblank is in progress to time the character scroll

and basic is fast enough?!?

 

As I`ve already done the complete character set and Pmg`s I should do a proper m/code version. :-D

 

charset-3.jpg

Link to comment
Share on other sites

Nice game Ironworks! The scrolling is smoother than I thought BASIC could do - except for that glitch! Is there any chance VCOUNT - PEEK(54283) - could be used to find a good place to coarse scroll? (Mapping the Atari posted below for quick ref)

 

Vertical line counter. Used to keep track of which line is currently being generated on the screen. Used during Display List Interrupts to change color or graphics modes. PEEKing here returns the line count divided by two, ranging from zero to 130 ($82; zero to 155 on the PAL system; see 53268; $D014) for the 262 lines per TV frame

Edited by wesmond
Link to comment
Share on other sites

Hey Gury, your screenshot looked kind of nice, even though it's meant to be a 4K compo, it's only an informal thing, so by all means carry on and post it in this thread :) As above, it can have sort of a rolling deadline, till say end of October now, so more time is good :) I'd like to get between 5 and 10 entries to make up a nice disk, with yours we're now up to 4.

Thanks, NuY. I will try to shorten my game little more, but I am afraid it will fit 5K boundary.

Link to comment
Share on other sites

Hello fellow Atarians!

 

Here is my attempt of making 4K game in pure Atari BASIC. First I must say I failed, because my game reached 5K limit. Limit constraints didn't allow me to make a full game, so I had to make some hard decisions and optimizations, which led to limited (2 players instead of choosing up to 4 players, no computer opponent), slow gameplay and some bugs, of course.

 

Before moving on Atari game, here are some basic rules of real game:

It is classic board game with dice, which I used to play with my family and friends in my childhood, called Don't Angry. The board is standard cell playfield with up to 4 players, which play against each other or teamed up. The goal of the game is to move player figures to the final four cells, which belong to her/him. Each player has 4 figures available, which are moved across the cell playground depending on number got from throwing a dice. The winner is player who first fills last 4 cells belonging to her/him. Throwing a dice would become boring at time, but fortunatelly, there is a catch. You must plan smart, what figure to move where and when, deciding of removing opposite figures or escaping from them, or move on with another figure, etc. So there is a strategy of thinking, what move to do next.

 

Rules of throwing a dice:

Each player has three tries to release first figure to starting position. To do that, he/she must throw dice with number 6. Next moves are done by throwing dice once, and figure is moved accordingly. There is one exception where you can move twice or more in a row, and this is by throwing dice 6. This way you can decide to move current figure further or release another figure to starting position. If there is other player's figure in the same spot, it is removed of your way and moved out of playground.

 

My game is little different, because limit constraints didn't allow me to follow strict rules of standard boad game. So I have made some little changes in rules. Only two players can play, 1 and 2. Other two are here just for observation with no effect to the gameplay at all. Unfortunatelly, there is no computer player, of reasons described (5K limit). If you are alone, you can play for both players :) The winner is player who move any two of their four figures first to the final four colored cells. The rules could be different, but I didn't want the game to last very long.

 

The game has some bugs:

- Figures of the same player can overlay each other (this can become confusing)

- Opposite player figure is not removed when current player's new figure moves to starting position (if they are both in the same cell spot)

 

So here it is. Don't Angry, it is just pure short Atari BASIC game.

 

My observation... Atari BASIC is great, but also limited in some ways. But with more free RAM and using assemly language it becomes more powerful and many wondeful things can be done.

 

post-7301-0-73908100-1349730605_thumb.png post-7301-0-42901300-1349730618_thumb.png post-7301-0-36714800-1349730627_thumb.png

GAME.BAS

Edited by Gury
Link to comment
Share on other sites

Well as the abbuc entries have been let out of the bag here's my 4k game :)

On the ATR there are three versions: keeponk1.bas has remarks, keepon4k.bas (copied to menu.bas) and keeponab.bas (with the text for the abbuc software contest).

 

KeepOnKoastin.ATR [takes a few seconds to initialise after loading!]

Keep on Koastin.doc

Keep on Koastin’

By Jason Kendall

© Kendallsoft 2012

www.gwobby.webs.com

Game coded in Atari BASIC and squeezed into 4K! There is a short delay before the game runs.

All you have to do is stay on the rollercoaster until the ride finishes! You are the orange character, the roller coaster seats are blue with a yellow front section showing the way to move. The rollercoaster goes faster and faster. Grab bonuses for extra points or lives if you can!

 

On levels 1 and 2 you ride a five section Koaster, on levels 3 and 4 a four section Koaster and from level 5 it’s just three sections so it becomes much harder to grab the bonuses. From level 6 the Koaster can ‘loop the loop’ and double back on itself. You gain points riding the Koaster, if you fall off then the time restarts from 0 again.

 

CONTROLS:

[Fire] or [start] to play on level 1 "Easy"

[select] for level 5 "Hard"

[Option] for level 10 "Wild"

Use Ctrl-1 to pause/continue play

Use the joystick to move – KEEP THE STICK HELD do not try and tap the stick as you may miss a move and fall off! Emluator users keep the keys held to move.

 

BONUS ITEMS:

10 = 10 points

20 = 20 points

EX (Yellow) lights up the "EXTRA" collect five for an extra ride *

EX (Blue) immediately gets an extra ride and finishes the level.

* If you have collected any EXtras pressing fire will slow the Koaster down (usually) and any Extras you have will be cleared.

 

A good score to aim for is 750 points

Have fun and I hope to see some of you play in the High Score Club!

Jason

post-19705-0-95160800-1350057557_thumb.pngpost-19705-0-83526800-1350057576_thumb.png

Edited by therealbountybob
Link to comment
Share on other sites

Well as the abbuc entries have been let out of the bag here's my 4k game :)

On the ATR there are three versions: keeponk1.bas has remarks, keepon4k.bas (copied to menu.bas) and keeponab.bas (with the text for the abbuc software contest).

 

KeepOnKoastin.ATR

Keep on Koastin.doc

Keep on Koastin’

 

 

can't seem to load this on my incognito 800, anyone else tried?

Link to comment
Share on other sites

Hello there,

 

I present you educational game, called Slo-Quiz, written in Atari BASIC and 4K barrier. I thought it would be good for you to learn some Slovenian words. To make things more interesting, there is a drill to guess 10 words and make as many points as you can. The game includes maximum 15 words to guess from (4K limit) with appropriate pictures following the words.

 

post-7301-0-70796600-1350722888_thumb.png post-7301-0-90747700-1350722896_thumb.png post-7301-0-32244800-1350722906_thumb.png

 

Greetings,

Gury

SLO.BAS

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Hold that deadline my friend Bluecat started work on her entry (and 1st a8 program ever) yesterday ;)

 

The Slo-Quiz is fun :thumbsup: managed 9 out of 10 after a few goes; though it does show the same words more than once! Just when you're on for 10/10 it adds a new word to get you :D You could expand this with more words (and K)!

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