Possibility of Freelancer-style flight in VS

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
Post Reply
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Possibility of Freelancer-style flight in VS

Post by nihilocrat »

I've only just started playing VS, so I'm not really familiar with the engine, but I was wondering if Freelancer-style flight and aiming were possible in the vanilla VS engine, or whether it would be easy to implement.

I'm helping to develop a Homeworld-themed Freelancer mod, and very often we're encountering limitations to the Freelancer engine that we have to make funny workarounds for, or establish codes of conduct rather than implement them in the game (jumpgates, resource collecting, etc.)

I informed a friend that I wanted to build my own Freelancer-style space sim engine from scratch, and he pointed me to VegaStrike as a simpler alternative than starting from nothing. I like the fact that "mouse glide" flight is implemented, which essentially handles the flight characteristics I'm looking for, but I still want the player to be able to aim at anything within a 90-degree-or-so forward-firing cone. Of course, seeing as how we're making a Homeworld mod and none of the ships have forward-firing turrets, this might not be necessary for realism's sake but perhaps for the sake of gameplay and interface.

I'd also want to have a 'sloppy' chase cam that's not rigidly pointing at the rear of the ship but swerving with it, but I presume that's pretty easy to implement once the math is worked out.

There are more issues with the larger capships, which would need to have turret controls etc., but what I want to know is how deep I would need to get into modifying VS to make it act like Freelancer purely from a flight control perspective. I might also want to overhaul other portions of the game to have a more freelancer-esque interface, but that could possibly get really complicated and be more of a fork of the VS project than a mod.

I guess what I'm ultimately wondering is if the VS engine could be easily modified to act like Freelancer, or whether I might want to start from scratch with Ogre3D or some other engine.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

Not there, but not difficult either.
Seems to me like a variation on autotracking (where the shots go towards the target, as if the guns automatically aimed for you).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Post by nihilocrat »

klauss wrote:Seems to me like a variation on autotracking (where the shots go towards the target, as if the guns automatically aimed for you).
That's basically the idea if I'm getting you right. In vanilla freelancer, you actually see the turrets rotate but in the HW mod they just appear out of nowhere. Having the turrets when a ship doesn't genuinely have a turret would look corny.
Paslowo
Mercenary
Mercenary
Posts: 121
Joined: Mon Dec 05, 2005 10:01 am
Contact:

Post by Paslowo »

I don't like the ideas of guns auto tracking towards a target.

I.E. You target a ship, and then you pull the trigger. I mean it takes the fun out of aiming.

However, I am for guns pointing where your mouse cursor crosshair is at.

But technically I don't think the original vegastrike game will have that type of feature..

Mabie a seperate mod instead?
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

Too late paslowo.. there are already autotracking weapons in Vegastrike (as there have been for a long time) including ones that target the ITTS point- for auto-leading of targets.

As for the "Sloppy" chase cam, perhaps we could align the camera with your approx. true vector? This would create some "sloppy lag" while also providing valuable information as to what direction you are actually travelling in.

Frame-of-reference could be dealt with in two ways: either however star streaks are drawn (they seem to be pretty good indicators of your vector) or with a selectable frame-of-reference... basically it would rely on whatever object you've selected with the [home] key for its frame-of-reference, defaulting to the sun.
Paslowo
Mercenary
Mercenary
Posts: 121
Joined: Mon Dec 05, 2005 10:01 am
Contact:

Post by Paslowo »

Well thats ok as long as the autotracking feature is not used in multiplayer.

For the sake of player skilled based combat. :)
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Post by nihilocrat »

Halleck wrote:Too late paslowo.. there are already autotracking weapons in Vegastrike (as there have been for a long time) including ones that target the ITTS point- for auto-leading of targets.

As for the "Sloppy" chase cam, perhaps we could align the camera with your approx. true vector? This would create some "sloppy lag" while also providing valuable information as to what direction you are actually travelling in.

Frame-of-reference could be dealt with in two ways: either however star streaks are drawn (they seem to be pretty good indicators of your vector) or with a selectable frame-of-reference... basically it would rely on whatever object you've selected with the [home] key for its frame-of-reference, defaulting to the sun.
Yeah, it would basically work that way, but also pan the camera slightly in the direction of the way you're heading. Just play Freelancer sometime and you'll see what I mean.

The style of aiming in Freelancer isn't automatic. You shoot where you point, but it's up to you to point in the right direction. Even though this style makes it much easier to aim at stuff, when you get into big capship battles it won't really matter so much, as your ability to aim won't really matter as your targets are so big. The important part there is what sort of tactics and maneuvers you make, and the orientation of your turrets and other weapons.

I think I will take a look at the VegaStrike code to see where I would implement this change... I'm curious as to the status of multiplay in Vega Strike and the port of the graphics engine to OGRE3d. The former is essential and the latter would probably just be more convenient and better for the long run.
Sunfire
Bounty Hunter
Bounty Hunter
Posts: 143
Joined: Sat Apr 08, 2006 11:41 pm
Location: Livin the Dream... kinda

Post by Sunfire »

forgive me for mhy retrdendss.... but are you trying to make a freelancer game, a homeworld game, or a freelancer mod of VS with which to mod into a homeworld game? im so confused.... :?
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

AFAIK, a homeworld-themed mod for freelancer, which he is considering making into a homeworld-themed mod for vegastrike.
Paslowo
Mercenary
Mercenary
Posts: 121
Joined: Mon Dec 05, 2005 10:01 am
Contact:

Post by Paslowo »

Vegastrike isn't really designed to be an RTS but more to be like a privateer style of a game.

Unless if you can hack the code, RTS would be possible.
Oblivion
Artisan Extraordinaire
Artisan Extraordinaire
Posts: 1269
Joined: Tue Mar 21, 2006 10:55 am
Location: Philippines

Post by Oblivion »

No no. He is working on making a space shooter that uses the Homeworld universe (which I love :D ) That doesn't mean it has to be RTS. It means it just has ships like the Bomber or Probes, etc. factions like the Hiigarans, the Vaygr, the Benthusi...
A Step Into Oblivion

Dreams of things that will never be,
Songs of thoughts only I can hear,
Leave me be to sleep forever,
To dream my dreams,
And sing my hymns,
Of things that will never be...
Privateer Ferrius
Venturer
Venturer
Posts: 538
Joined: Tue Mar 21, 2006 12:54 am
Location: Delta Prime
Contact:

Post by Privateer Ferrius »

Paslowo wrote:Vegastrike isn't really designed to be an RTS but more to be like a privateer style of a game.

Unless if you can hack the code, RTS would be possible.
You obviously haven't heard of PiArmada
Cmdr. Micheal Ferrius (Ret.)
Retired Confederate Pilot

For Hire!
Post jobs to the BBS!

Tengoku de omachi shite imasu
Oblivion
Artisan Extraordinaire
Artisan Extraordinaire
Posts: 1269
Joined: Tue Mar 21, 2006 10:55 am
Location: Philippines

Post by Oblivion »

:shock: vega strike is REALLY customizeable. Went ahead and looked for PiArmada. Didn't find any downloads for it, though I did wade through some forums that were VS bashing :evil:

that was last year, hurleybird as there though. to the rescue :D
A Step Into Oblivion

Dreams of things that will never be,
Songs of thoughts only I can hear,
Leave me be to sleep forever,
To dream my dreams,
And sing my hymns,
Of things that will never be...
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Post by nihilocrat »

If anyone is interested, I'm looking at the latest vegastrike code from SVN right now. It's really hurting my head (so much code!), but I guess understanding how to work with big projects takes time.

I still want to try to make a mouse-driven space sim, but I'm not sure how I should go about it. VegaStrike might have just way too much crap that I don't need, so I might just want to start from scratch with OGRE3D along with some open source audio and physics libraries. I should still try helping out somehow, though, so I actually know how to work with other programmers on big projects.
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Post by nihilocrat »

In case anyone is curious, I actually did get around to working with Ogre3D to get what I want.

Here's a very, very simplistic demo which simply shows off spaceflight and some of the models.
http://nil.cjb.net/flydemo-2.zip
Here's a screenie:
Image

I want to eventually try making a very simple space sim engine out of it. I would want to avoid a lot of the features VegaStrike has (or is planning) and instead try to make mechanisms which would allow developers to add them if they really felt like it. A lot of the higher-level portions of OGRE (material scripts, particles, etc.) would allow developers to make the game look a bit more "realistic" without need to recompile. However, the "vanilla" distribution would use the theme and aesthetic in the demo, with an emphasis more on cap ships but still an ability to fly fighters and such.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

A few quick tips:

a) Be careful with rendering distance. If you use the octree scene manager, which is the best (excepting a special purpose I'm going to give a try at implementing eventually), it won't help unless you set rendering distance accurately.
b) If you don't want to go through the trouble I'm going in creating the GUI subsystem, use CEGUI and OIS. I can't use OIS since it lacks MAC support, and I really await the time MAC support is added to it - the scheme I'm working on (oh... it's been quite long since I did work on that... I should try to find time and get back to it) would be able to take OIS as a plugin. They both provide the greatest data-driven functionality and flexibility.
c) Try to make it easy to recompile your sim and Ogre with typedef double Real, instead of typedef float Real. You may need it anytime.

Be warned... what you attempt is actually more difficult than what we want. You want every interesting feature to be pluggable - that's harder than making every interesting feature builtin, since it needs very careful and well thought design. But... if you're content with a lot pluggable, as much as possible without making the implementation too hard, then you'll do fine.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
robothead
Merchant
Merchant
Posts: 39
Joined: Sun Jun 19, 2005 7:54 am

Post by robothead »

do you happen to have a website for your new game project?

someone would be willing to contribute some ship chassias model(not textures) to yo game.
nihilocrat
Explorer
Explorer
Posts: 11
Joined: Wed Feb 22, 2006 8:53 pm
Location: Greensboro, NC, USA
Contact:

Post by nihilocrat »

robothead wrote:do you happen to have a website for your new game project?

someone would be willing to contribute some ship chassias model(not textures) to yo game.
Sort of. I have the site which I'm hosting the demo off of. I haven't found the time / motivation to really make a site out of it, especially if by 'site' you mean 'dynamic CMS like drupal or something'.

I'm actually not very interested in content (ship models, etc.) for the time being, except maybe for sound effects and GUI elements. I want 0.1.0 to be basically 'quake in space': a game which simply allows people to connect to a server and dogfight their friends in fighters, perhaps with teamplay and carriers which act as spawn points / objectives. My concerns right now are very much coding-specific: getting the physics system to work, getting networking to work (as well as getting some interpolation to make lag less noticeable), creating a robust game object class and instance manager, and implementing a simple event framework to allow for pluggable game rulesets (i.e.: when carrier A dies, team B wins, or when a player gets y amount of kills, they win). All sorts of fun things that feel sort of like re-inventing the wheel.
klauss wrote: advice
1. That's what I was planning for. Thanks for the input, though.
2. I'm already planning to go with CEGUI. Why reinvent the wheel?
3. I already have a typedef which represents all of the double/float values in my code. So yeah, doing that at compile-time would be easy.

Features : I already have some experience with implementation problems down the line, and I'm still afraid and uncertain of what sort of obstacles might show up later. I am planning to make a very clear division between pluggable and builtin game content: builtin content stops with the classes at the bottom of the object hierarchy, and from there I'll implement a data-driven interface for user-created properties and functions to existing classes so as to avoid the headaches that can occur from static inheritance. There are going to be a lot more restrictions on the pluggable content than what comes with a general-purpose gaming engine because I don't want it to be general-purpose for performance and ease of development.

Right now I'm experiencing a lot of problems with getting the physics system (OgreNewt) to link properly. I'm trying to implement weapons as well as somewhat more 'realistic' (i.e. inertia-aware) flight. I'm thinking the goals for 0.0.5 is to get everything working for a single player experience with just a bunch of dumb AI opponents, and then work on all of the stuff for multiplayer up to 0.1.0.
www2
Venturer
Venturer
Posts: 537
Joined: Sat May 14, 2005 10:51 am
Location: milkyway->the sol system->earth->Europe->The Nederland->Soud Holland->Leiden
Contact:

Post by www2 »

@nihilocrat
your mean v1.0.0 / 0.5.0 and not v0.1.0/ v0.0.5
All Your Base Are Belong To Us
Post Reply