3rd person game kit?
by Michael Bacon · in Torque Game Engine · 11/14/2007 (3:36 am) · 5 replies
So I'm really interested in producing kits for other developers to work with. I've noticed the lack of 3rd person support and thought that this might be an area that I can stick my toe into.
So what would make a good kit for a 3rd person style game?
- Already I have a wonderful Camera resource that is getting better every day.
- I have implemented a generic object attach process for allowing players to ride of platforms.
- An advanced AIPlayer class that supports a little more than just the basics.
- Advanced shape skinning.
What else? I know I'm overlooking some good stuff but I'm intersted in what other people think.
I would also include a lot of little bug fixes and stuff in any kit I produced.
Ideally I want this to be as useful as the RTS kit while being geared more towards any third-person style of play.
So what would make a good kit for a 3rd person style game?
- Already I have a wonderful Camera resource that is getting better every day.
- I have implemented a generic object attach process for allowing players to ride of platforms.
- An advanced AIPlayer class that supports a little more than just the basics.
- Advanced shape skinning.
What else? I know I'm overlooking some good stuff but I'm intersted in what other people think.
I would also include a lot of little bug fixes and stuff in any kit I produced.
Ideally I want this to be as useful as the RTS kit while being geared more towards any third-person style of play.
#2
I will need to finish the collision fixes on the camera resource and implement more modes but I am already devising a better way to implement camera behaviours.
I plan to also add the ability to track a point, not just an object.
I like the scope/binocular examples. Those are easy enough to implement and are good, sweet candy.
New, selectable movement styles are also pretty cool. Just being able to select whether "forward" is relative to the camera, object or world would be a big improvement. Add in a bit for recentering on the player..
Anyways, I really like those ideas. Thanks David!
11/14/2007 (7:28 am)
The camera has become a full orbit style camera with restrictable yaw/pitch movement to maintain it's current behaviour. Still I fear it will require modifying the game connection's move manager to properly allow for the full range of camera operation. I really didn't want to do that for a resource but a kit.. that would be different.I will need to finish the collision fixes on the camera resource and implement more modes but I am already devising a better way to implement camera behaviours.
I plan to also add the ability to track a point, not just an object.
I like the scope/binocular examples. Those are easy enough to implement and are good, sweet candy.
New, selectable movement styles are also pretty cool. Just being able to select whether "forward" is relative to the camera, object or world would be a big improvement. Add in a bit for recentering on the player..
Anyways, I really like those ideas. Thanks David!
#3
A passive combat system would be cool like WOW. Click target, click attack, player performs attack, player clicks special attack, the attacks would have timers.
11/22/2007 (10:00 pm)
You could add object/NPC selection. A means of interacting with the world while in 3rd person view. Selecting a target, click to use obect, etc. A passive combat system would be cool like WOW. Click target, click attack, player performs attack, player clicks special attack, the attacks would have timers.
#4
@All:
So I put a little more thought into this today. I'm certainly taking it slow, building, gaging. I don't want to try to rush into anything. Careful planning is a good thing.
Selection System:
Having recently purchased both AFX and the RTSKit I have seen some good examples of selection systems. I mostly need exactly what AFX provides. I don't know if I can use that portion. I also will need to keep compatibility with AFX while hopefully not needing to rely on it.
I'm considering making a selection manager object that can track selections on both client and server side. I think it would be easier to script calls to the manage to add and update selections rather than hacking the game connection all to heck. With just a few script calls and preference variables we could have a customizable manager for single selection, multi selection, complex selection behavior. Using the hooks we can provide our more complex selection behavior whether it be dealing with an AFX zodiac or just attaching a GUI element to it.
Camera System:
The GameCamera is growing steadily. I am almost ready to release the next rendition. From there I want to not only keep expanding it's functionality but I've set it up to be a little more modular so that it can easily be derived from. I want to build a few more camera styles on top of the game camera. Many basic modes are already supported. Orbit, god, third person, first person, static, etc. I can easily expand upon this and there are still some features that are not incorporated like terrain following.
I plan to implement several view/selection systems. Currently the cursor (crosshair) is fixed in the middle of the screen. To select an object would be done by pointing directly at it. However I've some ideas to be able to free the cursor but it requires some more complex AI, which leads us to
Extended AI System:
The extended AI system has my own custom AIPlayer with some extra functionality. Already the AI is a little more natural feeling as he keeps a distance from his target. I have many plans but currently no time for this area. I plan to add a decent A* implementation that will support both precomputed and real time path finding. This will be based on several implementations found here.
Currently I have moved to using an AIPlayer instead of a real player. With few modifications I have a player object that I can also direct to travel to destinations and follow paths! Turning the Player into a Player controlled AIPlayer allows us to easily implement the delayed actions. Click... walk... attack.. follow..attack..run.. All with one click because it's just scripted AI.
Objective Manager:
I just want to create an object that can track objectives for any system that needs them, be it player, AI or team. With an objective manager we can setup different styles of game play or quests or even script AI logic.
A lot of this stuff isn't particularly third-person oriented, but it will add value to the code.
11/23/2007 (4:04 am)
@John: Its funny that you mention object selection, I was just thinking about this earlier. What I hadn't thought of was the passive combat system but I total have the capabilities.@All:
So I put a little more thought into this today. I'm certainly taking it slow, building, gaging. I don't want to try to rush into anything. Careful planning is a good thing.
Selection System:
Having recently purchased both AFX and the RTSKit I have seen some good examples of selection systems. I mostly need exactly what AFX provides. I don't know if I can use that portion. I also will need to keep compatibility with AFX while hopefully not needing to rely on it.
I'm considering making a selection manager object that can track selections on both client and server side. I think it would be easier to script calls to the manage to add and update selections rather than hacking the game connection all to heck. With just a few script calls and preference variables we could have a customizable manager for single selection, multi selection, complex selection behavior. Using the hooks we can provide our more complex selection behavior whether it be dealing with an AFX zodiac or just attaching a GUI element to it.
Camera System:
The GameCamera is growing steadily. I am almost ready to release the next rendition. From there I want to not only keep expanding it's functionality but I've set it up to be a little more modular so that it can easily be derived from. I want to build a few more camera styles on top of the game camera. Many basic modes are already supported. Orbit, god, third person, first person, static, etc. I can easily expand upon this and there are still some features that are not incorporated like terrain following.
I plan to implement several view/selection systems. Currently the cursor (crosshair) is fixed in the middle of the screen. To select an object would be done by pointing directly at it. However I've some ideas to be able to free the cursor but it requires some more complex AI, which leads us to
Extended AI System:
The extended AI system has my own custom AIPlayer with some extra functionality. Already the AI is a little more natural feeling as he keeps a distance from his target. I have many plans but currently no time for this area. I plan to add a decent A* implementation that will support both precomputed and real time path finding. This will be based on several implementations found here.
Currently I have moved to using an AIPlayer instead of a real player. With few modifications I have a player object that I can also direct to travel to destinations and follow paths! Turning the Player into a Player controlled AIPlayer allows us to easily implement the delayed actions. Click... walk... attack.. follow..attack..run.. All with one click because it's just scripted AI.
Objective Manager:
I just want to create an object that can track objectives for any system that needs them, be it player, AI or team. With an objective manager we can setup different styles of game play or quests or even script AI logic.
A lot of this stuff isn't particularly third-person oriented, but it will add value to the code.
#5
It will be great if your camera supports over the shoulder mode. In relation to that, just like in Gears of War,
Rainbow 6- Vegas, enabling player to do more actions such as leaning , jumping and rolling will be a great help to torquers including me.
11/23/2007 (4:35 am)
@Brian,It will be great if your camera supports over the shoulder mode. In relation to that, just like in Gears of War,
Rainbow 6- Vegas, enabling player to do more actions such as leaning , jumping and rolling will be a great help to torquers including me.
Associate David Montgomery-Blake
David MontgomeryBlake
I think one of the things that people would like is to have a well-documented, expandable resource for third-person cameras. You have an excellent start. I quite like your camera system (plus it was extremely easy and intuitive to set up).
Oh, and I thought of another one, though it moves into player control versus simple camera control. It is to have a platformer-esque movement style. I constantly see posts asking how to orient their character semi-independently of the camera. And while this is more of an orbit camera feature, it would definitely get some people excited.