Release Gravity Force


Dave18

Member
Joined
Mar 16, 2003
Messages
352
Age
49
Hi


I've uploaded my remake of Gravity Force into the repo.


It's been updated to include all game modes. You can define controls by pressing select on the title screen and use external joysticks. If you change the input device make sure you press B to define controls afterwards.


There are 27 levels added so far, will try to get all 50 done one day!


Let me know of any bugs.


Dave
 
please see if you can add a preview pic or two to the pnd/pxml. it really helps a lot, especially with games
 
Last edited by a moderator:
Whee! Will try. Now, I only need to recreate the musty smell of sewage and the rather weird old-keyboard-rewired-as-joystick to recreate hours and hours of my life spent in the school computer club :)


(Sewage? Well, the computer club had a room in the basement, and the caretakers of the school didn't care much about fixing the plumbing over that way, since it was only the weird computer freaks there anyway...)
 
Two players is included. Press select on the title screen to define controls, you can change to input device to make use of any joysticks/gamepads connected. I've successfully played using two ICPs. If you change the input device, press 'B' on the Pandora game buttons to redefine keys else none of the buttons will be mapped.


Once the TV Out cables are available I'll try to get this working so that proper two player action is available. Although the current version only has one dogfight level (as per the original) it wouldn't take a major change to allow dogfights on any level, i'll look to include this in a future release.


Races have to be limited to levels with race gates, but the level format allows for the creation of addition race maps. I may look at creating some more for the future.


I'll have a look at including some preview pics.


Dave
 
online mutiplayer please :)

If this is like the Amiga version, with destructable backgounds, then I would love to know how this would be approached by somebody else. With LSDL, I have constant communication, so every frame is updated from the network data. This means that the overall framerate is dependant on the ping between the two machines. I tried having the network comms on a seperate thread to the game but it resulted in the two-games becoming wildy out of sync.


I would imagine this would have the same problem. For instance if part of the landscape is destroyed on one machine but the other doesn't get that udpate, one player may get destroyed in one game but not the other. Nightmare.


How would others approach this then?
 
surly if your only sending input data via the network the same thing should happen at both ends (unless ping time is high meaning the actions happen later on one device than the other?
 
Not sure what you're getting at but in LSDL everything happens on one thread, the game takes input from the user, sends/recieves network data, then updates the screen. So, both games are affected by the sending/recieving of the network data. This way the games never go out of sync BUT it means it's crap trying to play some in America (if you're in the UK)...probably, I've never tried.


I understand 'proper' network games, only send data when something actually changes (eg. user presses fire-button, user release fire-button) but then you have the problem of the games going out of sync as player A sends the change at frame N, whilst player B recieves it at frame N+10.


The added problem with Lemmings is that the background can change (dug up, built on etc), so if you recieve a change meant for frame N but you're on frame N+10, you need to 'rewind' the game (changes to background an' all) then replay with the new information, ensuring that all the little lemmings are in the same position on both machines. Difficult problem I reckon.


With Gravity Force, there's not quite so much data to rewind but all other issues remain - so I would love to know how it would be approached.
 
Did Gravity Force have destructible backgrounds? I can't remember that. Am I getting senile?
 
Ah. Gravity Power is a souped up version of Gravity Force 2, coded by some aquaintances of mine as a very, very unofficial sequel to the original GF :) Actually, writing sequels to GF was a quite popular pastime around then - My best pal at the time did one, too. Too bad I don't think I have a copy any longer.
 
Ah, now things are becoming clearer. So the original did not have destructable backgrounds then. Still, surely a tricky problem making it two-player over the internet.
 
I need to read up on SDL net but it should be possible. A lot of stuff is predetermined, for instance the flight patterns of enemy ships. All that would need transmitting each frame would be:


Host to client: ship position, ship angle, player bullet positions, enemy bullet positions and tank positions.


Average 100 bytes


Client to host: ship position, ship angle and player bullets


Average 50 bytes


So we are taking ~3k per second (game runs at 50hz)


Anyone know if this would cause problems over TCP?
 
Gravity Power was the dog's danglies, and all GF games since have failed to measure up. I'll be checking this one out, certainly.


D.
 
I need to read up on SDL net but it should be possible. A lot of stuff is predetermined, for instance the flight patterns of enemy ships. All that would need transmitting each frame would be:


Host to client: ship position, ship angle, player bullet positions, enemy bullet positions and tank positions.


Average 100 bytes


Client to host: ship position, ship angle and player bullets


Average 50 bytes


So we are taking ~3k per second (game runs at 50hz)


Anyone know if this would cause problems over TCP?

If you passing data every frame, it's easy. The only things you would have to pass would be the users input, so I guess fire-button/left/right/thrust/missile(?)


These could bitmasked into a single byte. So very little data is passed. BUT THIS ISN'T THE PROBLEM. The problem is that the frame rate is then dependent on the speed of a single packet of data being sent from machine-to-machine. This is why the likes of Quake and stuff have all net-data running on seperate thread and then clever algorithms that ensure that all games match up (based on direction of travel of individual players and stuff)


I have never actually played LemmingsSDL (which uses the 'lame' method of net-play) over the internet but it stands to reason what I say (in fact I seem to recall somebody else trying it and claiming it ran slower - but this _may_ have been related to an old problem of bit-depth conversion causing a drop in speed on one of the machines)


If you don't use TCP then you will (as I'm sure you know) run into sync problems if packets get lost, so you're back to the problems caused from running net-stuff on a seperate thread.


You can look at the source-code for LemmingsSDL if you want - it's pretty simple to do it the 'lame' way!


EDIT: A stupid nonsense sentance!
 
Last edited by a moderator:
Just out of curiosity, can "Gravity Force 2" and/or "Gravity Power" be played single player? I vaguely recall them having split screens. Since I have no friends I have nobody to play with but myself - but it's something I've embraced and now enjoy heartily.
 
Just out of curiosity, can "Gravity Force 2" and/or "Gravity Power" be played single player? I vaguely recall them having split screens. Since I have no friends I have nobody to play with but myself - but it's something I've embraced and now enjoy heartily.

TitanUranus - your words make me sad :-( - I'll play with you!


Pretty sure they could be played single player though :)
 
Back
Top