Skip to main content
GameDev.net gamedev.net
🔒 Locked

Need Code for A star path finding

Started by Altaf Dec 9, 2006 at 2:37 AM 15 replies 14.2k views
Original Post
Altaf
Altaf
Hi guys, Can any body send me A star ( A* ) path finding code in C++ for DirectX. Thanks in advance.
Nik02
Nik02
A* pathfinding has exactly nothing to do with DirectX.

I googled for "a star pathfinding" and the first result leads you to a very accurate description of the algorithm. If you know C++ to begin with, it is a quite simple task to write an implementation of your own.
Niko Suni
Altaf
Altaf
I specified DirectX because I googled for A* code & i found some source code which was either complete C code or a C++ code made using some library which I don't have. I am working on building my own code. Hopefully I`ll finish it soon, but I need a working code for reference.
jollyjeffers
jollyjeffers
As Nik02 pointed out - searching and pathfinding algorithms such as A* are independent of a multimedia technology such as DirectX. Or, more specifically, there is nothing in the DirectX suite that is directly related to A* implementations therefore this thread is better served by another forum - I'm moving this to AI [smile].

Also, I strongly suggest that you do some more research into example code - path finding is a very thoroughly covered subject. There are a huge number of books devoted to the subject and I've got several gaming-specific books on my shelf that discuss A* and related topics.

Cheers,
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
StratBoy61
StratBoy61
Quote:
Original post by Altaf
I am working on building my own code. Hopefully I`ll finish it soon, but I need a working code for reference.

You can check out this link. It has binary and source code (chapter5 is about path finding).
I find "Programming Game AI by Example" to be a pretty good book, and I would recommend you to buy it if you want to learn further AI techniques.
Cheers
StratBoy61
Altaf
Altaf
Thanks a lot guys....
wodinoneeye
wodinoneeye
Quote:
Original post by StratBoy61
Quote:
Original post by Altaf
I am working on building my own code. Hopefully I`ll finish it soon, but I need a working code for reference.

You can check out this link. It has binary and source code (chapter5 is about path finding).
I find "Programming Game AI by Example" to be a pretty good book, and I would recommend you to buy it if you want to learn further AI techniques.
Cheers
StratBoy61




Amazing that they have all that soutce online ....


This one also looks like it has A* source code
http://www.wordware.com/files/games/
--------------------------------------------[size="1"]Ratings are Opinion, not Fact
Asbestos
Asbestos
Quote:
Original post by Anonymous Poster
http://www.please-do-my-homework-assignment.for.me.com

There's no need to assume bad faith. Someone working in DirectX is far more likely to be making a game than taking an AI class.

Steadtler
Steadtler
Quote:
Original post by Anonymous Poster
http://www.please-do-my-homework-assignment.for.me.com


Amazingly, that website *is* valid, altough its the same as just www.me.com.
ursus
ursus
Hi,

I was trying to work out the A* alghoritm not too long ago myself.

Please check this thread:


http://www.gamedev.net/community/forums/topic.asp?topic_id=420517


At my last post I attached something I invented that day. It's far from perfect as it lacks saving final path, 'no path vavailable' check, no boundaries check etc. but it is working fine.

Hope that helps a bit
Palidine
Palidine
Quote:
Original post by Altaf
Thanks a lot guys....


They did actually give you quite a bit of help, you know. Programming is not about copy-pasting tutorials and piecing a game together. It's about understanding algorithms and being able to code them yourself. You've gotten to the point in your game (if you're looking for A* code) where you can't copy-paste tutorials anymore. Everything from this point forward is going to be writing code that works with your engine. So... read the algorithm descriptions and write it. It'll take you a few days, but it's really not that hard.

And as mentioned DirectX is zero-percent related to A*. DirectX is rendering. A* is game-logic. Game logic should never be dependant on rendering. i.e. you can write A* code for a game that uses DirectX and then switch the engine to openGL and not have to touch a single line of code in your A* code.

The format of the A* grid, for instance, is going to be dependent on how your level geometry works.

Anyway, did you have questions specifically about how the A* algorithm works? Are there parts you don't understand that are preventing you from coding it?

-me
Altaf
Altaf
I wrote a working code. My problem is the returned path is correct but not the shortest path. I guess my parent list has a problem.
Exab
Exab
Or your heuristic is not correct, if your heuristic is too high or too low you won't get the best results. If you always set your heuristic to 0, do you get the shortest path?

Try not to compute your heuristic, so that the A* formula F = G + H is F = G, that way your algorithm will become Djisktra's, it will search alot more nodes, but it should give you the shortest path. If it doesn't, check your parents, etc.. if you do get the shortest path.. make sure your heuristic is good.
Altaf
Altaf
Thanks a lot .....
mawaliya
mawaliya
Developing Games in Java by Laurence Vanhelswue will definitely help you getting to learn many AI techniques.
Also I will create a C++ version of A Star path finding on my site http://www.01fes.com/

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.