RPGDXThe center of Indie-RPG gaming
Not logged in. [log in] [register]
 
 
Post new topic Reply to topic Goto page 1, 2  Next 
View previous topic - View next topic  
Author Message
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 22, 2003 5:51 am    Post subject: Control style [quote]

Okay I've got a quick question, I'm working on a 3D RPG as some of you may have read already. Its going to play similarly to Final Fantasy where you walk about freely, and then go into turn based combat when you bump into a bad guy.

My dilemma is, what control setup do you think I should use? I'm not sure if I should use the mouse and click where I want to move, or use the keyboard. Anybody out there got an opinion on this?
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
DrunkenCoder
Demon Hunter


Joined: 29 May 2002
Posts: 559

PostPosted: Thu May 22, 2003 5:57 am    Post subject: [quote]

I would say mouse based, it gives you more than enough control
just look at D2 and NWN
_________________
If there's life after death there is no death, if there's no death we never live. | ENTP
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 22, 2003 6:02 am    Post subject: [quote]

Do you know if either NWN of D2 ever have multi-level maps? Like where you can run down a staircase and be underneath the floor? I don't recall them doing that... just thinking it might make the whole mouse click to 3D coordinate algorithm a lot harder to implement. Slap me if you think I'm being lazy :)
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
DrunkenCoder
Demon Hunter


Joined: 29 May 2002
Posts: 559

PostPosted: Thu May 22, 2003 6:13 am    Post subject: [quote]

D2 definetly don't do it, that's just an ISO game, and I don't think NWN does either I can surly don't recall it doing it.

But should it really complicate things that much?
Im no 3D expert but I got a clear picture in my head how I would
like it to work, when the player decends a staircase the higher levels
get dimmed out and the lower levels goes into focus if I click a spot then
simple measruing the distance between the player and the spot should
yield the correct plane? but It should favor whatever is in focus...

err, maybe a bad explination :/
_________________
If there's life after death there is no death, if there's no death we never live. | ENTP
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 22, 2003 6:20 am    Post subject: [quote]

The problem arises because you are trying to extract a 3D position out of a 2D screen-coordinate. Any 2D screen position could represent an infinite number of 3D positions, so for that reason you have to fix one of the positions to a set value, in this case it will be the vertical position of the character in the world. What I was going to do was fix the characters vertical position to the height of the floor at the given X,Z coordinates, but when you have multiple floor levels this becomes a bit more problematic.

So I guess the only way around it would be to force the player to click on the staircase or whatever it is, and that moves the camera down to the lower level and then all mouse clicks will correspond to that new level.

Seems like too much work for no good reason. Besides, we all know what its like when you're running low on HP and youre trying to run away and heal, you don't want the monster following you down the stairs. Or do you?
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
DrunkenCoder
Demon Hunter


Joined: 29 May 2002
Posts: 559

PostPosted: Thu May 22, 2003 6:27 am    Post subject: [quote]

well I don't *want* it too but I would seem logical that it does... what I don't want happening is the character suddenly turning 180 degrees and
running right into big claws and sharp teeth... aka instant doom!

well... you could "cheat" a bit by just making diffrent levels diffrent layers that way you would always just test against one 3d representation but you could show the ones above and below for depth... maybe...
_________________
If there's life after death there is no death, if there's no death we never live. | ENTP
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 22, 2003 6:30 am    Post subject: [quote]

Yer, it could be good in a way. Make the game more of an adrenaline rush, having to run the gauntlet through a multi-level dungeon with no HP to get back to civilization and heal up. Oh well. Give me a week or so, I should have some better view of what I'm going to do.
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
BigManJones
Scholar


Joined: 22 Mar 2003
Posts: 196

PostPosted: Fri May 23, 2003 3:31 am    Post subject: [quote]

twinsen wrote:
Do you know if either NWN of D2 ever have multi-level maps? Like where you can run down a staircase and be underneath the floor? I don't recall them doing that... just thinking it might make the whole mouse click to 3D coordinate algorithm a lot harder to implement. Slap me if you think I'm being lazy :)


SLAP

If your level is only one 'height' thru out then it would be simple to find the location the player clicks on; especially if you lock the camera in an iso view or just cast a ray. The real trouble will be pathfinding. How to implement the A* in a 3d world would be tough. I would simplify it by making my level objects (walls, doors etc) uniform distances apart so I could use a 2d array for the nodes.

To me the best option is using keyboard/gamepad control. Just my two cents.
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Fri May 23, 2003 3:44 am    Post subject: [quote]

Quote:
If your level is only one 'height' thru out then it would be simple to find the location the player clicks on


Yeah, thats very easy because you can just fix the Y value of the point to the Y value of the floor at the point of the mouse click. I'm thinking if I go with a mouse movement scheme I'll force it to a single height level for that reason. Unlesssssss... I could fix the character at the center of the cameras view and then the click would simply correspond to the direction the character has to walk in something like Diablo does. Will have to co-ordinate it with the camera rotation somehow, but I'm sure I can figure that out.

But then again I could just be majorly over engineering the whole thing. I mean keyboard control worked perfectly fine in FF7 on the PC (I liked the controls anyway). And they do say, if it ain't broke- don't fix it.

Quote:
SLAP


OW! Not so hard next time :P
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
DrV
Wandering Minstrel


Joined: 15 Apr 2003
Posts: 148
Location: Midwest US

PostPosted: Thu May 29, 2003 1:02 am    Post subject: [quote]

If you're using Direct3D, I believe there's a method that checks to see what 3d object is at a certain point on the screen, which could work for mouse input. Can't recall what it's called right now... maybe I'll remember later. :]
_________________
Don't ask no stupid questions and I won't send you away.
If you want to talk fishing, well, I guess that'll be okay.
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 29, 2003 1:07 am    Post subject: [quote]

I'm using OpenGL, but I had noted there was a similar command for selecting objects. Found several tutorials on the topic. Theres only one problem with the method- that would mean I would have to register every single triangle of the level as an object with the OpenGL API and then when there is a mouse click retrieve the co-ordinates of the triangle clicked on. Theres two problems with that, it'd be a huge memory and performance problem registered every single triangle of the world geometry in this manner. And secondly it doesn't give very accurate positioning (not that its a huge issue in a game like this), you would have to select the triangle and then take the center point of the triangle as the position, which would be fine with small triangles, but should you have a huge triangle as the floor, no matter where you click on the triangle the character would walk to the center. I dunno, maybe I'm looking at this the wrong way- but the only use for this scheme is in selecting objects such as picking up weapons, gold etc. If I'm wrong feel free to flame away :)

I'm thinking I will just be going with keyboard control- its much easier and it will mean I can have multi-level worlds without needing the player to pass through some kind of portal (staircase etc) so that the program knows which layer of the world the mouse will be clicking on.
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
DrV
Wandering Minstrel


Joined: 15 Apr 2003
Posts: 148
Location: Midwest US

PostPosted: Thu May 29, 2003 1:13 am    Post subject: [quote]

ah... the one in D3D allows selection of entire models which have been loaded in .X format. That would probably be easier than loading each triangle. I have absolutely no OpenGL experience, though, and I will go away now. :)
_________________
Don't ask no stupid questions and I won't send you away.
If you want to talk fishing, well, I guess that'll be okay.
Back to top  
Nephilim
Mage


Joined: 20 Jun 2002
Posts: 414

PostPosted: Thu May 29, 2003 1:45 am    Post subject: [quote]

Here's what I've done for 3D systems.

Define certain models as "ground planes". When the player clicks somewhere on the screen, fire a ray into the scene from there, and see which ground plane it hits (if any). If the ground planes have lookup information that allows you to fetch info about them out of your map information, you're all set.

As I mentioned in another thread, having your ground planes be convex regions will make your pathfinding much easier. If the player has clicked on the same ground plane he is currently standing on, the fact that they are convex regions means that you can simply walk to the point directly (perhaps adjusting height by firing a ray straight down into the scene to determine the height at that point).

If the player has clicked on a different ground plane, you can fire up your pathfinding algorithm to determine what waypoints you need to walk to in order to get to the goal. The algorithm only has to know about adjacent ground planes, and valid places to cross them. Since each ground plane is convex, you can traverse each intermediate ground plane by walking from where you are to the nearest legitimate exit point for the region to the next.

This method makes for pretty good walking algorithms, if your ground planes aren't wacky. (And if they are, subdividing fixes it.)

This method also means that it can be layer-agnostic. As long as it can discern which exit point to head for to get to the next region, it doesn't care whether you have ten or fifteen layers above or below where you are - it'll walk towards the exact spot that the player clicked on.

This all assumes you're using a high-in-the-sky-looking-down perspective, where clicking on the ground is natural. If you were to do a first person perspective, you'd need a different mechanism for picking, but the pathfinding still works.

Now. That all said, I'd encourage you to go with keyboard control. Why? For the simple reason that it gives you the freedom to move the camera around for drama. If you're always relying on a top-down view, how can you run the camera low to the ground to look up at that ominous castle the characters are walking towards?

It's also much easier to implement - no pathfinding, just constraining - and feels more visceral and immediate. And you can provide game controller support.
Back to top  
twinsen
Stephen Hawking


Joined: 21 May 2003
Posts: 242
Location: Melbourne, Australia

PostPosted: Thu May 29, 2003 2:01 am    Post subject: [quote]

I really like that idea of having ground plains, it does solve pretty much every problem with regards to pathfinding and mouse clicks. You can then just walk between predefined exit points as you said in a straight line and just adjust the height of the character to match the height of the terrain on which he/she is standing. I like very much.

But I do agree keyboard is probably much more appropriate, because I do hate having to choose from fixed camera angles, and sometimes you do want to swing the camera to look around. If theres one thing I hate it is console games which try to emulate a mouse using a joystick (ie. Sims on XBOX), its just so horrible to try and control a cursor with a joystick.
_________________
Lovely girls & great prices always available at CLUB 859, 859 Glenhunly Road, Caulfield, Open 10am till late 7 days. +61-3-9523-8555. (Sorry, it was in front of me in the newspaper, I just had to use it as a signature!)
Back to top  
ThousandKnives
Wandering Minstrel


Joined: 17 May 2003
Posts: 147
Location: Boston

PostPosted: Thu May 29, 2003 3:23 am    Post subject: [quote]

Quote:
If theres one thing I hate it is console games which try to emulate a mouse using a joystick


Anyone here every played/used Dezaemon or the original RPG Tsukuru for SNES?

Actually I kinda grew to like using the controller for Dezaemon, but RPG Tsukuru... having to type out every message box by selecting letters name-your-hero style was SO not fun. And since it was Japanese I never got enough characters to make intelligable english names for things. So, I used like katakana "me" for a sword, and hiragana "no" for a whip FF-style, stuff like that.

Man, that was fun! No, really, it was. It was just simultaneously annoying as hell.
Back to top  
Post new topic Reply to topic Page 1 of 2 All times are GMT
Goto page 1, 2  Next 



Display posts from previous:   
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum