Click here to download an ADF disk file or here for a
zip file containing Tic Tac Toe and my Tetris game Chock A Block.
This is the first thing of mine I've made available and its by no means
spectacular. But they are some of the few things I've actually finished
so here you go you might be able to learn something from them. They are
commented but not too much.
Tic Tac Toe
Simple game which everybody has played. Had to make this to
prove to myself I could actually finish a project. It features
one, two players, and the CPU can play against itself (See war
games movie). The board is drawn using simple lines and shapes and
can be scaled to different sizes. Keeps track of scores and uses
mouse to play. Nothing special but helped me to think about AI in
games.
Chock A Block
Tetris clone. Pretty standard really. About four versions included.
Final version plays best and is probably better programmed. Sound
effects or music, hi-score table, title screen, pause facility,
joystick/keyboard control, difficulty levels and a neat screen shake
effect when you complete lines. Entertaining for a while but nothing new
I'm afraid.
AMOS
source code
--> Download Zip file <--
In this archive there is some useful little procedures
such as my spatial sound effects, mini bars, progress bars and some cool
collision detection routines for different shapes.
Some graphics/bob images including AJ Marsh my side
scrolling platform hero. Level screenshot mockups and other misc bobs.
Definitely worth a look.
Projects
A lot of my programming has been put off at the moment, purely
because of required work which is needed to pay bills, buy food, live
etc. But every now and again I get the energy to sit and work on a few
routines, those routines being...
Particle Systems
The are mainly used in games today for special effects such as
spectacular explosions,
effects like rain and sparks. Basically anything that can be made up of
lots of individual
objects. The visual side of the particles can be anything from a pixel
to a line to complete
animation sequence. And so particle systems are widely used and are
present in most of
the games I see today. So far I have created Rain, Explosions, Sparks
and Fireworks.
I have also implemented collision detection of floors/walls. I think
collision detection between
each particle would be overkill and wouldn't really be necessary.
Water Splash
Another effect I recently attempted was the old splash in the water when
an object jumps
in and out of a pool of water. I think this looks quite good and has
been used in games since the SMS I suppose, maybe even before.
I was inspired to try this after playing the game Return of Shinobi on a
Genesis emulator,
this was one of the best looking games I can remember from my childhood.
Still looks
good today, but then it's still really hard today too! Screenshot
2D Spatial Positioning Sound Effects
This procedure was written a little while ago, with a little help
from Jess. This program
plays a sound effect emanating from position SX, SY and the volume of
the sound effect
heard is dependant of the distance of the sound from the microphone. It
thought this would
be a very useful effect to implement as it allows a great deal of depth
to be added to a game
such as Enemies getting louder as they get nearer, A waterfall quiet
in the distance, a cop car,
speeding by with it's sirens wailing. Loads of possibilities.
Reflection effect
Reflections can be achieved by making mirror areas, these flip and
copy the image to create...a mirror image. Might be useful with water.
It can copy the area with a mask and so some nice effects can be
achieved.
On the subject of mirroring stuff, I am now working on a way to
automatically flip and rotate sprites/bobs at loading time. I'm doing
this because Amos is too slow to flip sprites in real time for fast
games. My way will allow storing the sprite images in one direction and
rotate them as necessary on loading, So it saves disk space.
Now here is a section on procedures that I have written. If you want to use
any of these functions you can, but try to credit me in your program.
Easy requester - I wrote
this procedure after needing and easy way to allow users to select from
X amount of options with the mouse and buttons to press.
Future projects
- 'Local Objects' i.e. object that can be attached to
objects, also animations etc.
-
File loader - Depending on the extension of the filename, load the
data correctly.
This would be useful in making loading files easier.
-
Collision detection. Although collision detection itself is easy,
deciding what to do when this happens is a problem for me. Need to
look into physics, weight etc. I want semi-realistic collision
reaction.
-
Cheat codes - Things like FLY_ON and GOD_MODE etc. level skipping,
weapons and item summoning etc. Use in conjunction with
console?
- Credits system.
- Background Animations. Can be of any size
really. Would need to think about using AMAL for icons. or . using
bobs for background animations.
-
Instructions screen - shows moves, enemies and scoring, items and
credits.
- Console - In-game input. Useful for
testing and having control over the program.
I did get this working. It parses commands and values and runs the
correct command. Commands are registered in console_handler and
dealt with there. Console window disappears when not needed. No
return values. If command is not registered or recognised then it
will just be ignored.
- Simulate light coronas. Simple enough
concept. Fading out too please.
- Log files. Have code document its
progress and dump it to a file when something goes wrong. Could go
into as much detail as needed.
- Create a framework for using text
set-up/configuration files. Take a leaf out of my console book and
use that method. Use comment-able files.
- I just read about about a texture
manager that controls animating textures and swaps the textures in
and out when needed. Could be useful.
|