Gridwars2x


motorollin

Member
Joined
Jul 31, 2007
Messages
163
I am writing a clone of GridWars/Geometry Wars for the GP2X. I will keep this thread up to date with my progress.

DONE:
- Player controls
- Scrolling
- Shooting
- Collision detection
- Diamond enemies
- Pinwheel enemies
- Square enemies
- Seeker enemies
- Butterfly enemies
- Bombs
- Lives
- Titles
- Scoring
- Sound - might need to replace samples later
- Music
- Cheat mode

IN PROGRESS:
- Cube enemies

TO DO:
- Snake enemies
- Intercepter enemies
- Triangle enemies
- Black holes
- Automatic enemy placement code
- Enemy "generators"
- Difficulty levels
- Powerups

Once the to-do list is complete I should be ready to release a beta :D
 
Ok! Here are some very early screenshots:

Being chased by a square, a pinwheel and a diamond.
2007-08-29-1.png


Pew pew! ;)
2007-08-29-2.png
 
looks cool. should be fun to play. try to make it at least somewhat unique and not have to be a complete clone. a clone would be fine just that if you're gonna make a whole game from scratch might as well throw in couple of your own ideas or your own version of how something should be.

good luck with this project
 
Interesting. How do you handle the controls? If I remember correctly (not having an xbox, see), GW is a twin stick shooter thingy, and here we have only one stick.
 
@jbrodack
I will consider adding extra features at a later date, but initially the game will be as close to the original as possible. If I do add new features, there will be a "Classic Mode" which will switch them off, for those who want to play the original Grid/Geo Wars.

@sam fisher
Drawing the sprites as vector graphics would be hard due to the small size of the sprites. When they rotate, the edges become very imperfect. Photoshop dithers the edges so they look good enough, but I don't think the lines could be made straight with a true vector image. I'll give it a try though.

@Moxie
jbrodack is right, the controls work the same way as SmashTV/Robotron. The joystick is used for 8-way movement of the player, and A/B/X/Y are used for 8-way firing (e.g. Y alone fires up, A alone fires left, Y+A fires up and left)
 
Bombs work :-D Here is a video. (360k QuickTime file)

Implementing this helped me to learn about surface transparency. Thread here details my issues, so hopefully this will be of help to others.
 
Last edited by a moderator:
I have just overcome a big hurdle. The AI for the green enemies has been completed so they now attempt to avoid being shot. I really can't take much credit for this, since I used Mark Incitti's GridWars code, written in BlitzMax. I converted his code to C++ and modified my Green enemy class slightly to take notice of the command from the bullets to run away if they get too close.

I need to adjust the speed of the bullets and the enemy as I have artificially lowered the bullet speed to a crawl for testing purposes. Hopefully I will be able to find a balance which allows the enemies to avoid getting shot without making the game unplayable!

The lesson I learned from this phase of the game development is that sometimes it's best to keep things simple. After wracking my brains and getting some input from the dev forum on how to achieve this, I was considering complex combinations of trigonometry functions, arrays of coordinates mapping bullet trajectories and some other crazy shit, I found the solution devised by Mark Incitti is very elegant.

When a bullet gets close to a green enemy, it triggers a routine in the enemy, passing the bullets own coordinates and directions. The enemy then uses these values to calculate new directions for itself in order to attempt to avoid the bullet. Easy huh ;)
 
motorollin said:
Well why didn't you answer my thread in the dev forum then? :p
Because they want to generate paths and find out where they intersect and shit. They'd insult me for my simple solutions.
 
Last edited by a moderator:
sam fisher said:
motorollin said:
Well why didn't you answer my thread in the dev forum then? :p
Because they want to generate paths and find out where they intersect and shit. They'd insult me for my simple solutions.

although, if you used a cosine table...
ah, forget it. :D
 
Last edited by a moderator:
@sam
I don't think anyone would have insulted you. I'm open to all suggestions since I'm so new to this. And remember, if you had suggested it you would have been right :)
 
Scoring works, and I have also added a display for the player's lives and bombs. I have also drawn the title screen, and a quick game over screen using a stolen picture, so this will need to be replaced before the game is released.

2007-09-01-Score-Stats.png


title.png


gameover.png


This update taught me about the difference between C style strings, which I now know are effectively arrays of char, meaning that an indexed position is type char, not const char*. This caused me problems in my routine for drawing the score on the screen. Details of the problems and solution here.
 
Last edited by a moderator:
Yaaaay!

Since the warping grid effect is (I assume) too resource-intensive to have on the gp2x, maybe you should have black holes (and maybe shots, to a lesser extent) give out particles or something.
 
Back
Top