Help Add Features To My Next Game


wow, its like Snake It and Vektar had a baby! i cant really suggest anything cause all of my ideas have been suggested, well keep up the great work! cant wait for a release!
 
Just a small update. I lost focus on this because I just started reading Masters of Doom (what a great read it is!).

Now I'm reading deeper on C file I/O, because I want levels to be stored in an external file. The way it works now is with a series of functions that do the setup for each level, something I never really liked from day one.

- Alex
 
This looks awesomme, and there's already been loads of great ideas put forward, but i'll go ahead and add mine to the list (building on the baddie CPU snakes idea). You could add a "slug" mode, in which the snakes leave trails behind them, and you have to cover as much of the surface as possible, but different trails can go over yours and vice versa. This would obviously have to be timed, otherwise it would go on forever, and the slug with the most ground covered wins.
 
There won't be any CPU snakes in this release, first reason being that the game would probably run dead-slow, especially after adding background music. The reason is that the snake is drawn with many semi-transparent squares with SDL_gfx, which, when used too much slows the game down, a lot - if you have a better idea of how to draw the snake, with SDL, please tell me! I realize that the current way is very inefficient.

Today I'll work in special objects and different types of apples, and do some more level design. I'll have the first demo out tomorrow.

- Alex
 
slick1.png
slick2.png


Things are going really well with this. I got it reading levels from an external file, added features such as apple layering (once you eat all apples from a level, more apples may appear), and drew eight backgrounds in total, which vary in size and looks.

http://artraid.com/alex/index.php/2006/12/27/slick-updates/

The next things on the list are special objects and tying all levels together. And of course, level design, which I won't start on until I finished the engine.

If there'll be time, I'll also include different snakes to choose from and other such niceties ;)

- Alex
 
hi alex,
i'm v. new to sdl and games programming, bt not programmibg in general, so take with pinch of salt, but maybe it'll get a discussion going.....
uploaded something here for you to look at
http://www.podulator.com/pig.tar.gz
its a v. quick port of fixed rate pig by dave olofson (kobo deluxe chap) to see how it worked on gp2x.
left + right joystick = left & right, b = jump, start to start, select to exit, x & y toggle dirty rectangles and interpolation.
source is there, and its good fun for a couple of minutes as well....
bounce on baddies heads to kill. :)

its a 2 points in one tech demo, fixed frame rate render with variable frame rate logic and dirty rects,
the one that might interest you the most is the dirty rectangles idea.
it only works on a fixed background (hard to tell from screenshots but i assume so in your case),
and there's going to be a point where its more effecient to render the whole screen rather than track all damaged screen areas...

summary of idea is this ::
you have rectangle of area :: top, left, width, height.
per render frame it moves x && y by x1 && y1 pixels
so, you really only need to render a rect the size of
top + y1, left + x1, width + x1, height + y1

too many moving objects and this sucks, but i don't think you do in your case if you consider the entire snake as a rect.

regards the other bit, about alpha blending, i'd assume that if you had a struct or class along the lines of..

int x
int y
int width
int height
SDL_SURFACE *surface;

for snake segment (x y width and height could be sdl_rect, surface is pointer to one textured surface)

and snake as
int heading
segment **segments

(array of segements)

then you'd ony need to load one texture surface for the snake (that you don't render),
with each segment pointing to the same surface but with different render coords,
keeping load time and memory down.

this is only gonna be of any use if segments are same size, again, can't tell from screenies.

this could also all be a really bad idea :)
but it might get someone to pitch in with a better suggestion,

cheers for the games, btw,
really enjoying air hockey.
 
Hi poddy, thanks for taking the time to go through this for me :)

The idea to only update a small rectangle each render would work well, unfortunately all objects are animated in a way or another. I could give that up, but I don't want to sacrifice any of the visual design, at least for the time being.

I'll try your other idea to have a same surface pre-drawn. I think I tried to do that a couple of days ago and didn't get anything out of it, but I'll try to work it in, hopefully in a more efficient manner. My guess is that the hardware blitter does not have alpha support, so it blits it through software. In that case, it seems that the drawing primitives functions from SDL_gfx are just as fast if not faster.

Thanks again!

- Alex

Edit: also, the backgrounds aren't fixed, all levels except the one pictured here scroll through larger maps.

Edit 2: and thanks for that game, it's surprisingly addictive and fun! :)
 
Alex. posted on Dec 27 2006 at 06:53 PM said:
Edit 2: and thanks for that game, it's surprisingly addictive and fun! :)

sorry about the distraction ;)

scrolling background = 100% damage, so dirty rects is no good i'm afraid.
v. possible sdl_gfx in software is faster in windows toolchain,
but i believe the sdl i was using for the pig compile is hardware alpha enabled.
its paeryn's sdl and is in the open2x toolchain by default now if you're on *nix...

http://wiki.gp2x.org/wiki/Paeryn's_SDL

might help speed wise.

other than that i'm stumped for suggestions.
 
Last edited by a moderator:
screenshot.png


I got doors working, which can take the snake from one level to another. The next on the list are special objects, different types of snakes to choose from, and a proper scoring system.

More updates will follow as things come along. :)

- Alex
 
I use Photoshop 6 for graphics, it's such a great software, everything Adobe churned out after it is simply overkill. For coding I use CodeBlocks :)

- Alex
 
Looks really excellent! I will need to get meself a new SD card - So much good-looking stuff coming out recently...

sehs33 posted on Dec 16 2006 at 12:41 PM said:
That s a nice game, may I suggest something like poisoning mushroms that appear when you eat other items and kills the snake if it ate them? I got that idea from an MSX game called "Snake it", which I consider to be the mother of all snakes games (at least it is the oldest game involves a snake I can remember, and for me it is one of the best :) ).

My first exposure to the snake game was "Masken" on the ABC80. The ABC80 was a swedish home computer, and "Masken" is swedish for "Worm". This would have been...Uh...The summer of -83 or something like that...

But apparently the guy who made "Masken" for the ABC80 claims that he invented it. In -81. I believe he's tried to sue Nokia :) Not very successfully, though :D
 
Last edited by a moderator:
I didn't work on this for about two weeks, but I'll get back to it one of these days after I finish Airplyr.

The engine is done, except for special objects, and it's quite flexible, so there'll be some interesting levels. :)

I don't want to promise a date (I already did, and look what happened ;)), but I can see a demo ready sometime in February-March.

- Alex
 
I didn't work on this for about two weeks, but I'll get back to it one of these days after I finish Airplyr.

The engine is done, except for special objects, and it's quite flexible, so there'll be some interesting levels. :)

I don't want to promise a date (I already did, and look what happened ;)), but I can see a demo ready sometime in February-March.

- Alex
AHHHH!! feb/mar!!!!???? how will i wait :ph34r: ?
ok :) take your time i don't mind waiting :p
 
Last edited by a moderator:
i would like to see a mode where it is possible to die by hitting your own tail - that's part of what i like about the Snake-type games.
i would like to see you hit-by-[an]-ambulance :lol: j/k
but that would be nice, i just want a playable build!

also: alex, why don't you make a level maker so we can make our own levels while we wait for the game (of course if that would take you more than 30 mins, don't waste your time :) )
 
Last edited by a moderator:
thx for your reply Alex.
cant wait for that demo. i'll go play something else untill it gets here...
hmm, but what i played everything by now :/
 
i would like to see a mode where it is possible to die by hitting your own tail - that's part of what i like about the Snake-type games.
At first the only purpose of the tail was to give you a bigger score at the end of each level, but now I'm set to make the snake die if it hits its own tail. Makes the game a bit more exciting :)

also: alex, why don't you make a level maker so we can make our own levels while we wait for the game (of course if that would take you more than 30mins, don't waste your time :) )
A level maker would mean that the engine should be finished, ie. all special objects are implemented, etc. Also, levels are not tile-based, so coding an editor for them would be slightly harder for me, and eat time I'd rather spend working on the game itself. However you can help me out with level design (the walls, apples, and snake starting position). Post/send pictures like this one, if you have time and feel like it:

levelexampleiy5.gif


Black lines are walls, blue dots are apples, and the red dot is the snake's start position. Don't worry about the picture's size or the scale of its elements, I'll take your idea and adapt it to existing backgrounds and game elements. I'd appreciate this from anyone who wants to contribute, I'll put your name in the credits! Also note that walls can be of any size and rectangular shape, even square :eek:

Thanks!

- Alex
 
Last edited by a moderator:
Back
Top