Drive Mode

Discuss the future of Warzone 2100 with us.
Post Reply
sicanjal
Rookie
Rookie
Posts: 29
Joined: 11 Sep 2006, 11:44
Location: United Kingdom

Drive Mode

Post by sicanjal »

Those who read Tammo_Korsai's topic here would be aware that the PS1 version of Warzone had a driving mode in which you could directly command a droid. I've made a new topic so we could discuss this.

I had a look at /src/drive.c and it appears that most of the code required for the drive mode already exists. Is this sufficient for implementing the drive mode into the game? Can the current camera system support this, and is driveControl(DROID *psDroid)'s control conditionals sufficient enough to control the driving mode without conflicting with other keybindings?

I think this would be a good opportunity to get some thought from devs more familiar with the game structure.
Last edited by sicanjal on 27 Nov 2006, 17:34, edited 1 time in total.
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Drive Mode

Post by Watermelon »

probably you need to add a few functions to tell whether a droid is player-controlled/a droid is a follower of player-controlled droid to avoid AI state/order conflicts,or just re-enabled the ones got commented out with '#INLINED',this will definitely be a rather big change,since almost all AI state/order related functions need a 'isDroidPlayerControlled()' bool check before proceeding to its 'normal functions' imo.Besides,we need to figure out how to treat a player-controlled droid in mp games,treat it as a 'normal' AI controlled unit with very frequent order rate or an entirely new type of net info.

just my 2 cents.
tasks postponed until the trunk is relatively stable again.
cybersphinx
Inactive
Inactive
Posts: 1695
Joined: 01 Sep 2006, 19:17

Re: Drive Mode

Post by cybersphinx »

most of the code required for the drive mode already exists
That should be "still exists". Most of the PSX code was removed when the project was still on Berlios. Unfortunately, the SVN repository isn't publicly available anymore, so you can't check that code...
We want information... information... information.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Drive Mode

Post by DevUrandom »

Uh... If that was all PSX code (in #ifdef PSX parts) then it is probably gone by now. ::)
User avatar
lav_coyote25
Professional
Professional
Posts: 3434
Joined: 08 Aug 2006, 23:18

Re: Drive Mode

Post by lav_coyote25 »

would it not still be in the original source files?? ???
‎"to prepare for disaster is to invite it, to not prepare for disaster is a fools choice" -me (kim-lav_coyote25-metcalfe) - it used to be attributed to unknown - but adding the last bit , it now makes sense.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Drive Mode

Post by DevUrandom »

Sure. And as we use Subversion those stuff Christian's patches removed (which I commited) could be easily restored.
cybersphinx
Inactive
Inactive
Posts: 1695
Joined: 01 Sep 2006, 19:17

Re: Drive Mode

Post by cybersphinx »

lav_coyote25 wrote: would it not still be in the original source files?? ???
Yes, and it was removed in the Berlios SVN, which isn't publicly accessible anymore. My current patches removed just some leftover stuff, most was long gone.

Of course the original source also contains the code, but isn't in a very usable state.
We want information... information... information.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Drive Mode

Post by DevUrandom »

So someone should get BerliOS up again, but leave the big fat note that it is discontinued...
Kim, could you do that?
We probably need the SVN and the mailinglist archives might also be useful.
cybersphinx
Inactive
Inactive
Posts: 1695
Joined: 01 Sep 2006, 19:17

Re: Drive Mode

Post by cybersphinx »

Or we could combine both repositories, I have a local copy of the Berlios SVN to look into that, but it's not that easy. I thought about the following steps: Take the Berlios SVN, then move everything about to get the initial layout of the gna.org one, and then just reapply all revisions. The problem is keeping the dates and usernames.

But yes, (read-only) access to the Berlios SVN and mailing list archives sounds good. By the way, to get the actual patches on the -commit list, you need to file a support request with gna.org.
We want information... information... information.
User avatar
lav_coyote25
Professional
Professional
Posts: 3434
Joined: 08 Aug 2006, 23:18

Re: Drive Mode

Post by lav_coyote25 »

DevUrandom wrote: So someone should get BerliOS up again, but leave the big fat note that it is discontinued...
Kim, could you do that?
We probably need the SVN and the mailinglist archives might also be useful.

ok did that...
‎"to prepare for disaster is to invite it, to not prepare for disaster is a fools choice" -me (kim-lav_coyote25-metcalfe) - it used to be attributed to unknown - but adding the last bit , it now makes sense.
Solitaire
Trained
Trained
Posts: 32
Joined: 05 Dec 2006, 22:47

Re: Drive Mode

Post by Solitaire »

IIRC the code remapped camera rotation controls to throttle and rotation of the chosen unit; it seemed to cause a temporary override of navigational AI when input to those controls was detected. If no controls were used for around two seconds the AI would kick in again. Weapon behaviors were unaffected but obviously locked weapons (howies, mortars) would have a tough time as user input would knock them out of firing position. Also, the cursor kept running allowing you to call targets and order construction but it was tricky to say the least (trying to pick out a specific hardpoint to demolish from a row was always fun ;D )

IMHO being an old lover of those rare Battlezone-type "action RTS" games I'd love it if this became a reality and it really adds to small- and mid-scale online battles but the basic implementation of this form of gameplay in PSX WZ was primitive to say the least. It'd need a lot of fine-tuning and feature-addition in its own right to become really useable, a huge requirement in code-hours
Post Reply