Hi, I hope this thread doesn’t get locked for being so general, but I am working on a project right now that is actually in two separate files because I can’t make up my mind!
One project is click to move, with cooldown combat, think Runescape movement. I like this system because you can minimize the game, tab in and out, interact freely with items and other players (later) but it feels dated, old, and I can tell right away it’s going to be grindy.
My other project is the exact same models, classes, etc but it is WASD with a locked cursor, aiming, and slashing. I’ve built this one on top of uSurvival by vis2k. This one lags behind a bit because it is a lot more complicated. It seems this could be more fun and interesting if done correctly.
The game design problem is this: How do you handle picking up items on the ground when you have this tiny cursor locked in the screen?? It is so smooth in RS to just click stacks of items after killing a monster. Compare that to Mount & Blade when you try to hover over a shield and press F to pick it up (very frustrating).
I think you should take a step back. Create a class that commands what your characters do. Move forwards, move backwards, aim at position, perform action… and control your game through that exclusively.
This gives you two benefits: you can make unit tests to make sure that specific sequences correctly do something. It also means you can change the input scheme over and over again without reprogramming large parts of the game, only a conversion layer between the users input and the command class.
Interesting idea. I like the ability to test like that, but this sounds like you’re setting it up for option 2 anyway, right? If you have aiming and are not using NavMesh (option 1 is purely NavMesh)…
Which do you think would make a better/more enjoyable game overall? Or is it more important to pick the easier option so I actually finish?
What I suggested should lend itself to both options. Your character would just have an “aim” function. Whether that’s controlled by the character or some type of programming logic is up to you and could be easily switched between. My characters all have a cursor and a movement set. My player controls their cursor with the keyboard and mouse, the AI controls theirs with navmesh and programming. I can swap between them effortlessly and even have a debugging mechanism that allows me to “possess” the AIs and put an AI in the player character with no extra programming.
From a player perspective, as long as it suits the style of the game, either is fine. The player will adapt and there will be no issue. If you impose elements that makes one inferior to the other (such as quick thinking and dodging for a point and click rather than a WASD shooter), then you are just making it difficult for nothing.
From a designer perspective, do whichever is easiest. The WASD + Aim is easier in the sense that you can more easily plan on-hit raycast events to interact with the world.
The point and click is harder because you have to deal with many issues like layers, interfaces, various click return types, etc. So if you have this already built, then use it, otherwise, you will be prototyping this for quite a bit.
Thanks all for your responses. While I’m further along with point and click, I’m more excited about the WASD FPS/TPS style version. So passion is going to lead my choice for now - a good motivator for productivity
I’ll give you an idea I’ve taken and sat on for a long while.
Separate the aiming and moving. I heard of this a long time ago from another game. Essentially you can let the player focus on exactly one of these things. It drives better concentration, and its very unique! You might have a bot doing the moving (with the player giving general orders) and dodging, while the player focuses on shooting.