• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

572 Good

About xEricx

  • Rank
    Advanced Member

Personal Information

  1. [quote name='Spa8nky' timestamp='1303772298' post='4802856'] [quote name='IADaveMark' timestamp='1303772077' post='4802853'] If the distance to the object is farther, your rate of turn can be slower. [/quote] but the jerky movement still occurs with a slower turn rate, as shown in the last video. Could the following line cause a problem: [code] avoidance -= agent.Velocity; [/code] 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. 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?

    [quote name='BB1995' timestamp='1302630681' post='4797588'] Google it? lmao...Why don't you Google it and show me the answers, buddy? Anyways, I need, more specifically, AI help for a tic tac toe game in a Console App using C++. Please elaborate and is the same logic behind AI in simple Console Apps the same sort of logic behind AI in massive 3-D complicating games? Point being, are they somewhat following the same lines of logic to perform different things? [/quote] 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 [b]demo[/b] 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.
  8. fingerpaint

    [url="http://ipad.headlinestimes.com/ipad-ipod/iphone-sdk-tutorial-drag-able-image-uitouch/"]http://ipad.headline...-image-uitouch/[/url] 3rd or 4th link on google, please do your homework
  9. fingerpaint

    [quote name='ms75214' timestamp='1300301684' post='4786682'] i want to make a fingerpaint app for ipad. can someone tell me how to detect a drag event on ipad? i basically need to get these for the drag event startx starty endx eny [/quote] 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

    [quote name='yewbie' timestamp='1299776429' post='4784050'] In the past I have been using a 2 dimensional array to store my map structure like so: struct MapInfo { int tile; int blah; } MapInfo MyMap[x][y]; I want to try to move this into a class so I can easily pass around a pointer to a specific location to various classes that would need it, I started with this, but I cannot figure out how to insert and access the locations properly, I think it may just be too early for me to wrap my mind around what im doing. Below is sort the route that I was trying to go, but as you see the way X and Y map locations are added, (and accessed) I can't figure out a way to add them in the correct order to my vector, and then be able to access them correctly by just specifying a x and y location. I know my logic as below is completely flawed but I figured posting what I was trying to do would make more sense than explaining it, thanks!! Map.h [code] #ifndef MAPCLASS #define MAPCLASS /*------------------------------------------------------------------------------------------------- */ /* this class Deals with our map data */ /* */ /*-------------------------------------------------------------------------------------------------*/ #include <vector> #include <iostream> using namespace std; class MapTile { public: int x; int y; int iCurrentTileGraphic; //Tile in this location int iOriginalTileGraphic; //this was the tile we started with (for animation) int Lighting; //Lighting value associated with this tile int Alpha; //Transparency value bool Blocked; //If this tile is blocked or not }; class MapInfo { private: vector <MapTile> TileLoc; //this stores all of our map info public: MapTile* GetMapLocPtr(int X, int Y); void CreateMap(int Xsize, int Ysize); //Creates a map with X*Y size }; #endif [/code] Map.cpp [code] #include "Map.h" MapTile* MapInfo::GetMapLocPtr(int X, int Y) { int TileNum = X * Y; //get our tile location (problem here) if(TileNum < (int) TileLoc.size() || TileNum < 0) //make sure its in bounds { return &TileLoc.at(TileNum); } else //else this is out of range { cout << "Tried to access a out of range map location: " << X << " - " << Y << " = " << TileNum << endl; } return NULL; } void MapInfo::CreateMap(int Xsize, int Ysize) //Creates a map with X*Y size { int MapSize = Xsize * Ysize; //get our tile location TileLoc.reserve(MapSize +1); //reserve enough memory space for(int x=0;x<Xsize+1;x++) //(problem here) { for(int y=0;y<Ysize+1;y++) { MapTile NewTile; NewTile.Alpha = 0; NewTile.Blocked = false; NewTile.iCurrentTileGraphic = 0; NewTile.iOriginalTileGraphic = 0; NewTile.Lighting = 0; NewTile.x = x; NewTile.y = y; TileLoc.push_back(NewTile); //add to struct } } cout << "Created map with: " << MapSize << " Members" << endl; cout << "TileLoc contains: " << TileLoc.size() << endl; } [/code] [/quote] 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

    [quote name='IADaveMark' timestamp='1299722181' post='4783819'] You can do far better with hand-crafted rules with tunable parameters. [/quote] 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

    [quote name='Storyyeller' timestamp='1299604686' post='4783188'] Are macro style functions and constants actually good for anything in C++? It seems like anything they do can be done better with actual constants or templates. The only reasonable use I've seen is Boost Foreach, and that's obsolete as of C++0x. [/quote] 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
  • Advertisement