"Gauntlet" engine

Bill Kendrick wrote:

True Gauntlet (arcade, NES version, etc.) usually uses sprites for the
players’ characters, meaning they can move wherever. The way I’ve coded it,
I could actually be dropping the players onto the map as cellular-automata
cells. :slight_smile: I don’t… nor with arrows (so far).

Without having a Gauntlet handy to check, I can’t confirm that. But a
lot of games that use sprites like that actually are quantized
movement based, rather than arbitrary movement. Even Diablo 2 only
seems arbitrary, because of the small cells used.

Well, when you get down to it, all sprite-based games use “cells” for positioning the sprites. Sometimes the cells are only 1 pixel in size, though…>----- Original Message ----

From: NBarnes
Subject: Re: [SDL] [Getting OT] Re: “Gauntlet” engine

Except when they’re anti-aliased, right?

Jonny DOn Wed, Mar 4, 2009 at 5:57 PM, Mason Wheeler wrote:

----- Original Message ----

Well, when you get down to it, all sprite-based games use “cells” for
positioning the sprites. Sometimes the cells are only 1 pixel in size,
though…


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Right now it runs at 10fps. Bad guys can move max 10x per frame.
I was thinking I could increase the screen redraw to say, 30 fps.
The bad guys would still only move at 10fps (once every 3 frames).
I could draw them in in-between positions, though, depending on
which frame I’m drawing (1st, 2nd or 3rd).

This would mean expanding the bad guys’ representation on the map
(they already have two, but are generally “A”, “B” or “C”, for
the type of bad guy they are). There’d need to be 4 more of each,
to repreent what direction they’re going. (i.e., if it’s “A-northwest”,
then I draw them at slightly further positions to the up/left, until
the final landing frame).

Sounds like a collision-detection nightmare, since the arrows’d
probably want to have the same trick applie, otherwise they’d look
like they’re going slow-mo…

And anyway, I’ve got work to do, and this is getting way off-topic for
the SDL list. :slight_smile: (Fun to chat, tho, damnit!)On Wed, Mar 04, 2009 at 02:54:24PM -0800, NBarnes wrote:

Without having a Gauntlet handy to check, I can’t confirm that. But a
lot of games that use sprites like that actually are quantized
movement based, rather than arbitrary movement. Even Diablo 2 only
seems arbitrary, because of the small cells used.


-bill!
“Tux Paint” - free children’s drawing software for Windows / Mac OS X / Linux!
Download it today! http://www.tuxpaint.org/

Well the point here is that the resolution of the map cells is the same
as the bad-guy cells.

This could also lead to other cellular-automata-based fun, the kind you
see in a game like BoulderDash. (Bad guys who hug walls; bad guys who
multiply (like the aeomeba), etc.)

Hell, I’ve wondered if it’d be possible to make ‘big boss’ bad guys
using the cells. A snake or something like the centipede in Centipede.On Wed, Mar 04, 2009 at 02:57:10PM -0800, Mason Wheeler wrote:

Well, when you get down to it, all sprite-based games use “cells” for positioning the sprites. Sometimes the cells are only 1 pixel in size, though…


-bill!
“Tux Paint” - free children’s drawing software for Windows / Mac OS X / Linux!
Download it today! http://www.tuxpaint.org/

Well, when you get down to it, all sprite-based games use “cells” for
positioning the sprites. ?Sometimes the cells are only 1 pixel in size, though…

Except when they’re anti-aliased, right?

No and no.

First, saying that “the cells are only 1 pixel in size” belies the
reality that you can have movement precision that is smaller than one
pixel. Second, it also implies that integer types are used for
coordinates, which isn’t always the case either!On Wed, Mar 4, 2009 at 5:57 PM, Mason Wheeler wrote:
On Wed, Mar 4, 2009 at 5:59 PM, Jonathan Dearborn wrote:


http://codebad.com/

Donny Viszneki <donny.viszneki at gmail.com> wrote:

First, saying that “the cells are only 1 pixel in size” belies the
reality that you can have movement precision that is smaller than one
pixel. Second, it also implies that integer types are used for
coordinates, which isn’t always the case either!

Using integer types instead of floats for coordinates and ranges can
lead to serious problems if you end up wanting to be able to zoom in
and out or use similar effects, as well

i rack my brain about 8 way isometrics when i’m sure i should be working…
but… iirc… i had a system where each isometric tile actually had 5 cell,
one for the center, one for each corner, so each isometic section would
actually share its cells with adjacent cells, then i would set if it was
wall or not, hold on i’ll try and dig out the possibly incomented ( apart
fro //this is rubbish or // fix this or // parp ) most likel;y
incomrensible, definaley broke code, i cant remeber why i stopped on this,
if it was i gave up trying to figure out a* or just started something else,
but the whole best way to program isometric stuff has bugged me most of my
adult life, so you’d hope after all that ponderment this way is pretty good
:wink:

ok, that was slightly wrong… must be 9 per isometric grid, its hurting my
brain now, i dont want to look at the code cos i’ll probably end up doing it
for the next week or something… but i have found a half working bit of code
which was the level designer, you are welcome to rip it up fix it turn it
inot its original intention whatver, i have put it here for your amusement
http://www.cloudsprinter.com/random/crazee8way.zip yet another day i think i
thould set upo myself a versioning code svn type scenario :wink:

www.cloudsprinter.com/random/crazee8way.zip

have fun!

please if anyone want to finish my dream of 8 way isometic pacman clone with
a* i’ll pay you with a jelly bean or 3, of whicheve colour you like ( as
long as it is possible to obtian jelly beans in that colour, no i want an
ultraqviolet jelly bean )

2009/3/5 Neil White

ok, that was slightly wrong… must be 9 per isometric grid, its hurting my
brain now, i dont want to look at the code cos i’ll probably end up doing it
for the next week or something… but i have found a half working bit of code
which was the level designer, you are welcome to rip it up fix it turn it
inot its original intention whatver, i have put it here for your amusement
http://www.cloudsprinter.com/random/crazee8way.zip yet another day i think
i thould set upo myself a versioning code svn type scenario :wink:

www.cloudsprinter.com/random/crazee8way.zip

have fun!

please if anyone want to finish my dream of 8 way isometic pacman clone
with a* i’ll pay you with a jelly bean or 3, of whicheve colour you like (
as long as it is possible to obtian jelly beans in that colour, no i want an
ultraqviolet jelly bean )

i really should proof read before i click send, sorry i came to windows land
to find this and firefox isnt set up with idiot check on

Here is a makefile for unixes systems:
<<

Project: crazeedood

Makefile created by Dev-C++ 4.9.9.2

CPP? = g++
CC?? = gcc
RES? =
OBJ? = src/crazeedood.o $(RES)
LINKOBJ? = src/crazeedood.o $(RES)
LIBS =? $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -s
INCS =? $(shell sdl-config --cflags)
BIN? = crazeedood
CXXFLAGS = $(CXXINCS)?? -fexpensive-optimizations -O3
CFLAGS = $(INCS)?? -fexpensive-optimizations -O3
RM = rm -f

…PHONY: all all-before all-after clean clean-custom

all: all-before crazeedood all-after

clean: clean-custom
??? ${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
??? $(CC) $(LINKOBJ) -o “crazeedood” $(LIBS)

src/crazeedood.o: src/crazeedood.c
??? $(CC) -c src/crazeedood.c -o src/crazeedood.o $(CFLAGS)

You have to replace the crazeedood header by:
<<
#ifdef WIN32
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#define DATA_PREFIX “./”
#else
#include “SDL.h”
#include “SDL_image.h”
#include “SDL_mixer.h”
#define DATA_PREFIX “./”
#endif

(“SDL_mixer” instead of “SDL_Mixer”, and “DATA_PREFIX” was left undefined in non WIN32 systems …)

The program crashes even with sound disabled. GDB gives no relevant information even with the “-ggdb” switch turned on.

When you put “#ifdef WIN32” 's in your source code, be sure that it won’t crash in other systems … example if you allocate memory only in a #ifdef WIN32? section or something like this. I didn’t take time to look at the source code.

Julien

— En date de?: Jeu 5.3.09, Neil White a ?crit?:de: Neil White
Objet: Re: [SDL] [Getting OT] Re: “Gauntlet” engine
?: “A list for developers using the SDL library. (includes SDL-announce)”
Date: Jeudi 5 Mars 2009, 11h30

2009/3/5 Neil White

ok, that was slightly wrong… must be 9 per isometric grid, its hurting my brain now, i dont want to look at the code cos i’ll probably end up doing it for the next week or something… but i have found a half working bit of code which was the level designer, you are welcome to rip it up fix it turn it inot its original intention whatver, i have put it here for your amusement http://www.cloudsprinter.com/random/crazee8way.zip yet another day i think i thould set upo myself a versioning code svn type scenario :wink:

www.cloudsprinter.com/random/crazee8way.zip

have fun!

please if anyone want to finish my dream of 8 way isometic pacman clone with a* i’ll pay you with a jelly bean or 3, of whicheve colour you like ( as long as it is possible to obtian jelly beans in that colour, no i want an ultraqviolet jelly bean )

i really should proof read before i click send, sorry i came to windows land to find this and firefox isnt set up with idiot check on

-----La pi?ce jointe associ?e suit-----


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

heh, told you it might be a bit screwed :wink: windows binary works tho ;))

yes but I want to see your master-work :wink:

— En date de?: Jeu 5.3.09, Neil White a ?crit?:de: Neil White
Objet: Re: [SDL] [Getting OT] Re: “Gauntlet” engine
?: “A list for developers using the SDL library. (includes SDL-announce)”
Date: Jeudi 5 Mars 2009, 12h13

heh, told you it might be a bit screwed :wink: windows binary works tho ;))

-----La pi?ce jointe associ?e suit-----


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

well there must be bits of the code still work or readable at least in
there, dunno where i might have a half working version :wink:

When you blit the tiles, I assume you are using color-key masking,
right? If that’s the case, then there is no reason that your tiles
have to be square. Have you considered hexagon tiles? or triangles?

-RayOn Thu, Mar 5, 2009 at 9:04 AM, Neil White wrote:

well there must be bits of the code still work or readable at least in
there, dunno where i might have a half working version :wink:


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

All this talk of 2D isometric games is compelling me to point this
out: you can build an isometric game with relatively arbitrary/free
player movement using an ordinary 2D orthogonal tile map. The only
feature you probably need to add is collision semantics for the funny
edges your isometric map will generate (which depends on the pitch
angle of the “camera.”)–
http://codebad.com/

2009/3/5 Donny Viszneki <donny.viszneki at gmail.com>

All this talk of 2D isometric games is compelling me to point this
out: you can build an isometric game with relatively arbitrary/free
player movement using an ordinary 2D orthogonal tile map. The only
feature you probably need to add is collision semantics for the funny
edges your isometric map will generate (which depends on the pitch
angle of the “camera.”)

this is what mine does, each isometic tile share a few cells with the next
one, the only issue i had was plotting verical walls, i have it so all the
tiles on the screen are plottest across and down, which give the best way to
avoid overlapping issues

i am now taking my laptop home to work on this a bit possibly

i am now taking my laptop home to work on this a bit possibly

anyone have a 20 volt 8amp laptop powerpack?

found my workingish isometic code, i say working ish cos i havnt actually
cmpiled it yet, just the binarys seem to work so you might be able to figure
out what is going on http://www.cloudsprinter.com/random/crazeee.zip