Login
Sand-stormer
Title:Sand-stormer
Category:Game/Action
Release Date:
Language:English
Size:16K
Machine:PAL & NTSC
Code Type:Basic
Distribution:Freeware
Game ending type:Has an end, game ends
 Play Online!
Code by:RoePipi
Notes:A desert survival exploration game.
  External links:
    itch.io

User Rating: 8.4/10 (3 votes)
Sand-stormer Screenshot


Compos
ComposCategoryRankScoreNotes
BASIC 10Liner 2025PUR-80(awaiting voting)(n/a)


Description

INTRODUCTION
============
Desert survival exploration game. Escape in any direction from the heart of the desert! Navigate wisely, and you might succeed. Rocks block your path, your water supply constantly dwindles - replenish it from palm tree trunks. The heat keeps rising, but you can cool down in scattered stone bunkers - though your water will still decrease... Good luck!


FEATURES
========
- a classic arcade game that needs only the arrow keys
- 277 different screens of scorching desert
- fitting sound effects
- delicious palm trees and chill rock bunkers included
- you can even draw your own map!


STARTING VIA EMULATOR
=====================
Recommended emulator: YAPE http://yape.homeserver.hu/
How to start the game:
1. Go to File / Attach disk image...
2. Select and open the .d64 image
3. Enter the command: DLOAD"*" and press Enter
4. If you wish to LIST the program code, see the PROGRAM LINES OVERVIEW section.
5. Enter the command: RUN and press Enter


GAME INSTRUCTIONS
=================
At the start, you'll immediately see the desert screen, with your water depleting and your body temperature rising rapidly.

Use the arrow keys to navigate the desert. Your goal is to get far enough from the starting point - to where the grass is green... well, where there's any grass at all. It should be around 10 screens away, at least horizontally.

You'll encounter 3 different objects:

1. Small rocks - You can't pass through them.

2. Palm trees - Press against their trunks to get 10 sips of water. You can hold a maximum of 99 sips.

3. Rock bunkers - You can step inside their entrance (if it's not blocked) to slowly cool down. Your body temperature ranges from 35–50°C, with anything above 50 being deadly.

That's it! The desert layout never changes, so you can plan your route wisely, remember where the bunkers are, or even make a map!

Have fun!


PROGRAM LINES OVERVIEW
======================
Use the LIST command to view the program lines. You can use the LIST from-to syntax to list certain intervals, eg. LIST 1-5.

LINE 0 game init:
Set sound volume to 4.
Set variables.
Read object data.

LINE 1 screen init:
Set value under player to space.
Set drawing color to brown and clear screen with it.
Update map x,y distance from start screen.
Update success signal based on whether if player reached an edge of the desert
Init random values according to map x,y pos and set screen color to yellow or green based on success signal.
Calculate player's starting screen address.

LINE 2:
Place objects to screen according to screen properties.

LINE 3:
Make placing sound in loop.
If success then
display "YOU MADE IT OUT!",
end game.
(gfx data)

LINE 4 game loop:
Place player.
Decrease water.
Display water, heat.
If in cave and heat>36 then
decrease heat,
slow down water decrease.

LINE 5:
Increase heat.
If overheat or out of water then
turn screen "red",
display "YOU DIED!",
wait a while dropping keypresses,
wait for a keypress,
run program again.

LINE 6:
Get a keypress.
Set player moving directions according to keypress.
Set desired screen address according to player moving directions.
Set target value according to desired screen address.
If not moving then
goto 4.
Else
make tapping sound.

LINE 7:
If target value is tree trunk and water<90 then
increase water by 10,
make splurting sound,
set target value to depleted tree trunk (indistinguishable),
goto 4.
Else if target is a graphical character (>63) and not a cave then
goto 4.
Else
update player x,y pos.

LINE 8:
If player reached left border then
decrease map x pos,
set player x pos to next to right border,
goto 1.
Else if player reached right border then
increase map x pos,
set player x pos to next to left border,
goto 1.
Else if player reached top border then
decrease map y pos,
set player y pos to above of bottom border,
goto 1.

LINE 9:
If player reached bottom border then
increase map y pos,
set player y pos to below top border,
goto 1.
Else
remove player,
update player screen address,
store value under player,
goto 4.
(more gfx data)


VARIABLES
=========
A$ pressed key
A map x distance from start screen = ABS(M)
B map y distance from start screen = ABS(N)
D(0-2) move deltas for use with INSTR (-1/0/1)
E desired address' PEEK value (target value) = PEEK(R)
H heat (36-50)
I,J loop variables, player moving direction x,y
L line = 40
M map x pos (-10 - 10)
N map y pos (-15 - 15)
O(0-2) object probabilities (0-98)
O$(0-2) object gfx
P player screen address (3072-4071)
R desired screen address (3072-4071)
S success? = A+B*0.6>9 (yes:-1, no:0)
T sound pitch, waiting loop time = 800
U POKE value under player (0-255)
W water (0-99)
X player x pos (0-39)
Y player y pos (0-24)
Z right border x pos = 38


BONUS: MAP OF THE DESERT
========================
. game screens
B game screens with bunkers
x game screens with wrecked (unusable) bunkers only
S starting screen

-1 1
098765432101234567890
-15 . 1
-14 . 1
-13 ..B 3
-12 .B. 3
-11 ...B. 5
-10 ....... 7
-9 ....... 7
-8 ....x.... 9
-7 BBB.B.... 9
-6 ..B...x..B. 11
-5 B..B......... 13
-4 .Bxx.B..B...B 13
-3 B.....B..x..B.. 15
-2 .B...B..B..B... 15
-1 ...BBB...x..B.... 17
0 .B.......S........x 19
1 ..BBBB..B.....B.. 17
2 ....B.BB....... 15
3 ....B.BB.B.BB.. 15
4 .........BB.B 13
5 .....x..B..B. 13
6 ....B...... 11
7 ..xB..... 9
8 ..B....B. 9
9 ...BB.. 7
10 ....... 7
11 B.B.. 5
12 .x. 3
13 ... 3
14 . 1
15 . 1
TOTAL: 277 SCREENS
READY.


Copyright © Plus/4 World Team, 2001-2025. Support Plus/4 World on Patreon