View Full Version : [FVG]: Game play discussion
We've talked some about things like menus, etc, but we haven't really discussed the most important aspect of the game: In-game game play. The only thing I'm aware of that we know we are doing is that we have a separate player for HP (AI or human).
What I'm wondering about are things like:
How does a person controll the robot? Joystick, mouse, keyboard? My thoughts:
A mouse/keyboard conbination might be best as some people don't own a joystick.
Keyboard could work any buttons/switches on the operator controls
Mouse would be moved around inside a box. It's positioning inside that box determines the speed and direction the robot is moves. If anyone has ever played BZFlag (www.bzflag.org), that uses the control system I'm talking about.
What exactly is the view of the field that the player gets? I've read some stuff that indicates we will have the field view from a fixed position according to which corner your team's station is located with an overlay of the controls and whatever part of that side you can see.
Going along with both of those, how does the game know what controls exist? I think we will need more than the Inventor/3DS file per robot. We may also need controls descriptor file (this might include different key mappings) and, possibly, a controls overlay image file.
Joshua May
03-07-2004, 10:20
Going along with both of those, how does the game know what controls exist? I think we will need more than the Inventor/3DS file per robot. We may also need controls descriptor file (this might include different key mappings) and, possibly, a controls overlay image file.
We probably will need that. I was thinking that the keyboard would control the robot functions, and that the arrow keys alone would move the robot. I was thinking of using an acceleration curve, where the longer the arrow key is held down, the faster the robot would go, but it would eventually level out. This is like the system used in car racing games.
Mike Ciance
03-07-2004, 10:24
well, here are some other things to consider:
do we want car drive, tank drive, or the actual drive for each individual robot?
do we want fixed or relative control? (relative is a must if we have any sort of side-angle. fixed can only work if you are viewing the field from the middle of a player station. i would not suggest fixed control, but some like it. i believe one team actually programmed it into their robot. maybe a toggle option is best?
ideas for speed system:
maybe we could have a keyboard 2-speed system. the default speed would be a medium one, easy to maneuver, and by holding a certain key, the robot would go full speed. if you've ever played Super Mario World, this is the same idea.
another set of ideas, two ways i've devised that ALL drive would be operated by the mouse
we have a large circle in one corner of the screen. the position of the mouse in the circle would act like the position of an analog joystick. this would only work for car drive.
another idea, very radical, and perhaps too hard to ever be able to program, but here it goes anyway. this system would actually have the ENTIRE ROBOT run by the mouse alone. sounds impossible, but here's how it works. the mouse is placed at a position on the field by the user. the position is read and the robot drives in the direction of that point. to pick up a ball, gram a goal, grab the bar, etc. the player would move the mouse over the object, it would flash when the robot is close enough to preform the action, the player would click on it, and the robot would perform the action. to rotate the robot in place, players would click the left or right mouse buttons on the robot itself. no keyboard buttons would be used, except to pause - a 100% point and click game.
Joshua May
03-07-2004, 10:34
how do you make bulleted lists? :confused:
[list)
[*) First Level (1):
[list)
[*) Second Level (1)
[*) Second Level (2)
[/list)
[*) First Level (2)
[*) First Level (3)
[/list)
And mabye we could use the Shift key to Shift speeds? :p
-do we want car drive, tank drive, or the actual drive for each individual robot?If possible, the actual robot style. :)
-do we want fixed or relative control?What do you mean by this? :confused: Relative controls being...? I get confused easily.
maybe we could have a keyboard 2-speed system. the default speed would be a medium one, easy to maneuver, and by holding a certain key, the robot would go full speed. if you've ever played Super Mario World, this is the same idea.
That would work. The only thing I have against it is that it isn't "realistic." But, that's personal preference.
another set of ideas, two ways i've devised that ALL drive would be operated by the mouse
-we have a large circle in one corner of the screen. the position of the mouse in the circle would act like the position of an analog joystick. this would only work for car drive.Yep, this is what I was talking about. :)
-another idea, very radical, and perhaps too hard to ever be able to program, but here it goes anyway. this system would actually have the ENTIRE ROBOT run by the mouse alone. sounds impossible, but here's how it works. the mouse is placed at a position on the field by the user. the position is read and the robot drives in the direction of that point. to pick up a ball, gram a goal, grab the bar, etc. the player would move the mouse over the object, it would flash when the robot is close enough to preform the action, the player would click on it, and the robot would perform the action. to rotate the robot in place, players would click the left or right mouse buttons on the robot itself. no keyboard buttons would be used, except to pause - a 100% point and click game.It could be done, but would this "point and click" action take place in the 3D view, or would there be a small 2D overheard to do this from? With a 2D view, you could easly access everything on the field, but the person would be very cought up in it, and not see most of our amazing 3D graphics. :D If it was on the 3D field, the user might not be able to see, say, a ball all the way on the other side of the field. It might work if we were to use both. Also, what about multiple actions on the same item (possilbe actions, not at the same time. :))? Maybe a popup menu that fits well into the game appears?
Happy Fourth Of July!
Mike Ciance
03-07-2004, 20:37
What do you mean by this? :confused: Relative controls being...? I get confused easily.well, relative controls are what the basic robot has. forward on the sticks is always forward in relation to the robot. in fixed control, the player would push up and the robot would turn in the direction of the opposite side of the field and then go forward. with omni-drive, the robot would not turn but instead drift in the direction of the control stick, this would be true with either setup. i think that, just like the choice between tank or car drive, it would be best to keep true to the robot. just figured i'd bring it up anywayIt could be done, but would this "point and click" action take place in the 3D view, or would there be a small 2D overheard to do this from? With a 2D view, you could easly access everything on the field, but the person would be very cought up in it, and not see most of our amazing 3D graphics. :D If it was on the 3D field, the user might not be able to see, say, a ball all the way on the other side of the field. It might work if we were to use both. Also, what about multiple actions on the same item (possilbe actions, not at the same time. :))? Maybe a popup menu that fits well into the game appears?as far as the blockage problem, it shouldn't be that big a deal. only items near the robot would flash and be clickable. for example, if there was a goal blocking a ball, then when the user put the mouse touching the top of the goal, it would not go to the goal, but the relative spot on the floor that the mouse would be touching if the goal were not there. the ball would flash (visibly through the goal) so the player would see the opportunity and click. i think a small, 2D map can also be used, but not big enough as to encourage constant use.
hey, my 300th post! :)
anyway, i would encourage anybody to try and come up with other control methods. as soon as we get a decent number, i will start a poll
Astronouth7303
04-07-2004, 14:37
Here's something I posted in another thread:
As for the control mech, that is going to be difficult. I have a couple of ideas.
assign keybord keys and joystick axis to various inputs
allow you to hook up the OI and get the info via dashboard.
make an FRC program for the RC that feeds the computer info. (also allows for programs straight off the RC)
All I know is that it is going to be a bugger.
I just thought of #3.
(ps- I've been posting in threads I probably shouldn't have, but I'm catching up from a week at camp w/o Web!)
Mike Ciance
04-07-2004, 14:50
i'll soon create a poll/thread specifically for controls, but we need some more discussion here first
assign keybord keys and joystick axis to various inputs
allow you to hook up the OI and get the info via dashboard.
make an FRC program for the RC that feeds the computer info. (also allows for programs straight off the RC)
The probablem with 2 and 3 is that they require you have an OI/RC laying around. If this is ment as tool to share FIRST to people who haven't experienced it before, most people won't have it. For that matter, most FIRST team members won't even have one. :D Hooking up to the OI/RC could be an extra feature, but I think we shouldn't even worry about it for now, besides making things abstract as possible, which we should do anyway (I.E. we call a function called getInput(), but we don't have to worry about how it does that).
I'd say that we should try to stick to just mouse and keyboard if at all possible.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.