Game Development Community

Need some Advice

by Cinder Games · in General Discussion · 05/28/2006 (12:32 pm) · 7 replies

Was curious how other people proceded when they discover a certain element of their game might not be feasible.

Example

I'm working on my RPG battle system and i'm finding the pathfinding involved is far too difficult for me to work with. I've tried several different methods and nothing is giving me results i am satisfied with.

I'm unsure if i should just dumb down the system, or put it on hold so i can implement other things.

How do you guys deal with a situation like this?

#1
05/28/2006 (12:45 pm)
Well the first question is: Is it really needed or can I live without it. In your case I guess it's needed.

Then I usually start off by searching the board, others might have had the same, or similar, problem.

If not then I start looking for someone who can help me, GG is not the only place you can look for help on generic problems, such as pathfinding.

As a last resort I start to design the ting myself, this takes time and often mean I need to learn new stuff. But theres nothing that's too difficult as I'm writing a game.
#2
05/28/2006 (12:45 pm)
A good advice is to let it be for a while, and work with something else - preferebly with something you get more success with and makes you satisfied.

I think it's dangerous to get stuck, and switching tasks for a while might give you that little motivation back and solve the issue you had.

Of course, letting go of something you've been putting so much time into is difficult and is why many projects never go anywhere, IMO.
#3
05/28/2006 (6:46 pm)
While i'd like to retain my ideas on how this should work, i'm also concerned about how much time it's taking to get this figured out. It's definately discouraging to have so many difficulties.
#4
05/28/2006 (9:35 pm)
Having a lot of difficulties can't in any way be discouraging. I see all game projects as learning oppotunities and I do learn a lot. I don't know much about dx programming but am learning about this, for one.

The major error I see many encounter is that they choose a too complex game to begin with. Most want to create a massive online game, but most don't know how to create a tic, tac, toe game. Start off simple and learn the game engine and it strengths/flaws and then go bigger.

There is a way how games are created learn that first, then start creating it.
#5
05/29/2006 (8:11 pm)
Hi Ramen,
I understand completely about feeling discouraged, but it's vitally important that you resist the urge to "take a break from it". Obstacles like these are the speedbumps that keep people from completing projects!

Try coming up with some alternative solutions -- adopt a different AI system, work out predefined paths, whatever it takes to get the project moving again. Then, at least, you've got something usable, even if it's not perfect. Your project development continues (minus that frustration), and you can rework your quick-fix somewhere down the road.

What kind of pathfinding are you using: A*, Djikstra, something home-grown?

-- John
#6
05/29/2006 (8:21 pm)
I should state that in my battle system, the AI characters would need to move around on the field and move thru other players/enemies.


I implemented an A* method that works as long as the players are positioned at the center of a meter square..... for example, their positioned like (32, 5, 0). so i know to add them to the mix by setting that square to be inaccessible. It proved to be too rigid, requiring me to keep their positions in check so proper pathfinding could be done, Then i realized that i had no idea how to move a large player around.... Seeing as the pathfinding is done by 1x1 tiles, if the player was bigger then that..... it wouldn't be accurate.

Before that i had some ray casting to check for clear paths to other monsters or monsters to players. that worked but rays are 2d and couldn't really check to make sure the player could fit thru the other characters. I added the ability to "push" characters out of the way but that looks dumb.

I've never heard of Djikstra before....


Currently, i wrote more of a steering system to keep the players from actually getting close to other obsticals and it seems to be working fairly well.

Basically it does 3 ray casts, one strait ahead, and two off to the side at about 45 degrees. if a ray hits something to the right, the players velocity is adjusted to the left to keep a collision from happening.

It works ok, cept it needs some sanity, like what happens if theres a near hit to the right, the velocity will adjust to the left.. and if there's a near hit there..... well it'll end up just bouncing back and forth.



So basically i need a system to have players avoid static obsticals, while being able to evade moving ones as well. This does that, it's just clumsy.
#7
05/29/2006 (8:57 pm)
Quote:I've never heard of Djikstra before....

http://en.wikipedia.org/wiki/Dijkstra's_algorithm

(The URL markups don't work on this address as far as I can tell. I tried a few things, but I think the ' breaks it)

I usually don't point people to wikipedia, but there are several links at the bottom for other sites related to this algorithm that you can verify the wiki's accuracy against.

Advice?

DON'T give up :) Even putting this off for a while is dangerous, at least now the concepts are fresh in your mind

Consider adjusting your design to handle the fact you are having difficulty doing X.
(In the game industry, it's not unusual to have to change your design because of factors outside your control - platform limitations springs to mind as an obvious one)

Don't be afraid cutting or reducing the complexity of the game to get you past this obstacle. It's preferable to have a complete, enjoyable game, than giving up altogether because of an insurmountable problem