Grid-run


Eclipse

Member
Joined
May 18, 2006
Messages
196
Age
38
Location
Italy
Website
0xdeadc0de.org
Hi dudes,
Hangman and I started a new homebrew game for gp2x, It's called Grid-Run in homage to Jeff Minter's LLamasoft games.
The player will move a sphere with four cross-placed cannons on the top with the stick and every cannon will blast in his direction using A B X Y buttons.
This strange ship will move on a spectacular colorful grid that will let the arena to scroll in every direction.

here's some screens from our first tests

Graphics was also made by me in about 10-15 mins (the sprites not the special effects! the code is heavly optimized to almost not use floating points and sin\cos)

enemies with spikes, how original ;)
2rf61k9.png


WIP explosion-wave effect
2nq6wk9.png


running on hangman's gp2x
4chpt1j.jpg


we don't know if this will ever see an end because i'm also working on a pc\wii\psp game (for job, and i've deadlines for gamecon!) and hangman is very busy too!
Btw we will do something for f200 too and it will use touchscreen and a 2d physic engine!

Cheers B)
 
Eclipse said:
thanks! looks prettier in-game because colors are not static and the grid and the "plasma" effect behind changes
Looks great, I love plasma animations. You should get this finished, too gorgeous not to.
 
Last edited by a moderator:
This looks beautiful, I can't wait to see it in full motion :)
 
PokeParadox said:
That looks damn sweet! I want pointers in how to do similar effects! ^_^
Hope you do get it finished guys!
thanks :D

The grid is made taking the negative colour of the background using a mask and then blended over the screen in multiply to give that "dark" effect.

i did the effect on the background looking at the Sol's sdl 3d tunnel tutorial, it's an heavly modified and optimized version of it.. it also uses semi-random colors instead of a texture

For the explosion waves i did a function that blit a circle on the screen then modified it to make a torus depending on how large the radius is (it is strong when the radius is small, then became less tick and disappear...) and finally i replaced the pixel color of this circle with one pixel from the screen took using a function, for that function i used sin and cos so it was VERY slow. I've managed that doing a lut (an array with the sin values from 0 to 360 degrees) so instead of doing sin(degree) i'm doing sin[degree] ;)
 
Last edited by a moderator:
Awesome, anything based on the works of the mighty Minter must be worth a look.
 
This looks really good. I like stuff like this. It looks almost like an old Amiga scene demo that you can play. The "plasma" effects look cool, I hope it makes it to completion.
 
360 degrees. bah.

seriously though, you can gain a significant amount of efficiency in a lot of places if you give up traditional trig and move to a 256-degree-based system. helps with lookups, AND with non-lookup functions.
 
Sparr said:
360 degrees. bah.

seriously though, you can gain a significant amount of efficiency in a lot of places if you give up traditional trig and move to a 256-degree-based system. helps with lookups, AND with non-lookup functions.
would be almost the same, if not, explain with pondered arguments what, why and where i could gain in performance :rolleyes:
oh yay I could move to a 2-degree based system and earn a lot more! :eek:

btw i exlained all that stuff in a simple manner, is not that simple, actually i haven't a real 360° array 'cause sin changes only from -90 to 90 degrees because the others 180 are the same values *-1.

btw actually i'm messing around with all that toolchains trying what seems better, what's the one you guys are using?

@Dave, yep, i love oldskool demoscene too! ;)
 
Last edited by a moderator:
http://www.oopic.com/pgchap15.htm#Heading
http://www.google.com/search?q=%22binary+radian%22

using a char for angles means you don't need modulus, 255->0 happens automagically
256 entries take up less memory than 360
less memory means it is easier to keep in cache (possibly not applicable)
half-angles are integers all the way from 256 down to 1
the sign bit of a signed char binary angle provides left/right rotation information

i am sure there are other reasons.
 
nice, btw i'm using 180 values not 360 and don't need to be cache friendly and i proved that using 256 values uhm, don't influence my framerate in any way :p

closing the OT, what toolchain are you using on gp2x?
 
nice work dude!
I saw you did it in a 128 array taking out the best of we wrote.

I think that the right way to do good homebrews is a simple and yet original gameplay with some artistic touches on it so keep experimenting in stuffs like that!

Would be cool having a wiki for this type of tips&tricks... I think we've a lot to share each others to improve our works.
 
Thanks! Yes I tend to agree with you! Some of the best homebrew are the ones which have a very simple and original gameplay idea.

About the Wiki: http://projectinfinity.org.uk/wiki/doku.php/ <-- that has always been the intention of the wiki I setup. If you feel inspired please feel free to add some coding wisdom in the tutorials section! ;)

Anyway I don't want to derail your thread any further so *cough* Grid-run. It looks damn sweet already and I can't wait to play it :)
 
i'll be working on Grid-Run and also on a game that i accepted to make for a friend, he's also the italian gp2x releaser and he helped a lot our small community so I'll code also that other one ;)

and then i've in mind a big project that will reshape the homebrews on 2x!!! :eek:
lol ok, i need to calm down and finish one project first :p

all of you out there, take an F-200 NOW!!!!!!!
 
Back
Top