# xEricx

Member

684

572 Good

• Rank

• Website
1. ## Should all of the agent's rays be of the same length?

but the jerky movement still occurs with a slower turn rate, as shown in the last video. Could the following line cause a problem: avoidance -= agent.Velocity; I ask because it is not included in the OpenSteer source code but causes the agent to move way too fast without it. [/quote] Well, steering shouldn't make you accelerate over your maximum velocity. Everytime I've written a steering component (it's been a while though, so I might be missing some details) I made it return 2 things: 1) heading 2) braking factor The braking factor can be optional, depending on the feel you want to have. In the examples you showed, you just need to modify the heading of your cube. If I understand correctly in the code you posted destForward is steeringForce? If so, from what you posted you only use it to calculate a turn angle, how would it make the agent move way too fast? Have you tried clamping your velocity to your max velocity?
2. ## Should all of the agent's rays be of the same length?

It's always fun to "reinvent the wheel", but you can use existing "wheels" as a reference. Check out OpenSteer, it solves the dynamic avoidance problem and way more: http://opensteer.sourceforge.net/ Cheers
3. ## AI help for a game?

By asking such a broad question you had to expect broad answers... AI is concepts, so the type of code it's being developed for doesn't change a thing... As for massive 3-D complicating games?! well, it all depends on the game and which needs the project has. I guess a Massive Multiplayer Online Tic Tac Toe game would have the exact same AI your Console App can have, if you figure out how to search on the internet how to develop something as simple as TTT AI in the first place...
4. ## Neural Networks book for newbies.

Probably because the name sounds cool, like genetic algorithms
5. ## Neural Networks book for newbies.

The most simple book I've seen on this topic must have been Mat Buckland's AI Techniques for Game Programming You can start by giving his website a look: http://www.ai-junkie.com/ann/evolved/nnt1.html Hope this helps
6. ## Random fly movement

Keep it simple... like ApochPiQ suggested, go with splines or simple steering behaviors. Unless you're aiming to create a fly flight simulator, I don't think you have too much time to waste on this.
7. ## Scripts

This sounds a bit simple for a scripting engine. If you want examples of "professional" use of Lua, if I remember correctly WoW uses it for all of its plug ins... also the Far Cry PC demo shipped with all the scripts available in a zip file (I'm pretty sure it's a mistake)... but you can still check out how they handled things. See it more as inspiration than as a tutorial.

9. ## fingerpaint

I never developed for iOS but this should be one of the basic event you can handle and it's for sure in the documentation... did you search for more than 30 secs before posting here?
10. ## What kind of AI is used here?

In this case it's easy to see that they're using predefined spawning patterns following paths. You can spot that by the fact that every time the level is played, the same thing happens, there is no variation whatsoever, and the way the player moves doesn't affect what the enemies are doing. The only "decision making" there is where to fire...
11. ## Multi Array Directx C++

You have no speed or storage advantage in not using a contiguous block of memory. Simply wrap it with accessors that return [x + y*width] and you'll be easily be able to access it with x and y... I don't see why you need a 2D array.
12. ## XY Map class

Part of your problem (i didn't read the entire code) is that your TileNum should be something like X + Width * Y; Also, when you reserve your array you can then simply index it so when adding new tiles you'd use the same X + Width(Xsize) * Y to access elements of your vector. Hope this helps
13. ## Machine Learning with Multiplayer games

Exactly... and most Game Designers, as you stated, want to keep control over the NPCs so for most "professional" games, it's not an option. As for your point about "dumb opponents", keep in mind that most studios would let QA play with the game for a while, and package with the game whatever data came from this learning phase, so they would probably start off as quite good opponents. It's just too risky to rely on learning for a production that costs millions...
14. ## C++ macros

Avoid macros where possible.
15. ## Using arrays to create enemies...

If I can suggest something, as rip-off said, use a std::vector... but most importantly, use a data driven approach to place your enemies. XML could be a good option (check Tiny XML, that's quite easy to use)... I know this might not be "beginner friendly", but you'll see the benefit quite soon You'll be able to use your XML for many more settings and it will be easier when you'll decide to configure your Enemies (sprite, behavior, etc...) Hope this helps