# Search the Community

Showing results for tags 'Behavior'.

• ### Search By Tags

Type tags separated by commas.

### Categories

• Audio
• Music and Sound FX
• Career Development
• Production and Management
• Game Design
• Game Design and Theory
• Writing for Games
• UX for Games
• Industry
• Interviews
• Event Coverage
• Programming
• Artificial Intelligence
• General and Gameplay Programming
• Graphics and GPU Programming
• Engines and Middleware
• Math and Physics
• Networking and Multiplayer
• Visual Arts
• Archive

• Audio
• Visual Arts
• Programming
• Writing

### Categories

• GameDev Unboxed

### Categories

• Game Dev Unchained

### Categories

• Game Developers Conference
• GDC 2017
• GDC 2018
• Power-Up Digital Games Conference
• PDGC I: Words of Wisdom
• PDGC II: The Devs Strike Back
• PDGC III: Syntax Error

### Forums

• Audio
• Music and Sound FX
• Games Career Development
• Production and Management
• Game Design
• Game Design and Theory
• Writing for Games
• Programming
• Artificial Intelligence
• Engines and Middleware
• General and Gameplay Programming
• Graphics and GPU Programming
• Math and Physics
• Networking and Multiplayer
• Visual Arts
• 2D and 3D Art
• Critique and Feedback
• Community
• GameDev Challenges
• GDNet+ Member Forum
• GDNet Lounge
• GDNet Comments, Suggestions, and Ideas
• Coding Horrors
• Hobby Project Classifieds
• Indie Showcase
• Article Writing
• Affiliates
• NeHe Productions
• AngelCode
• Topical
• Virtual and Augmented Reality
• News
• Workshops
• C# Workshop
• CPP Workshop
• Freehand Drawing Workshop
• Hands-On Interactive Game Development
• SICP Workshop
• XNA 4.0 Workshop
• Archive
• Topical
• Affiliates
• Contests
• Technical
• GameDev Challenges's Topics
• For Beginners's Forum

### Calendars

• Community Calendar
• Games Industry Events
• Game Jams
• GameDev Challenges's Schedule

• GameDev Gear

• 0 Replies

• 0 Reviews

• 0 Views

Found 36 results

1. ## Animating an avatar head in a game

How could I animate a model that has been created from high-fidelity scans with blend shape-based facial rigs? Should I find a set of Unity|Unreal plug-ins and packages (middleware, libraries, tools, etc...) that separately do speech synthesis, lip sync, cheek movement, eye rolling, etc...? I know this is a broad question, but I would appreciate some pointers to help me understand how I can create verbal & non-verbal behaviors in such a model when I open it in Unity|Unreal in order to create a primitive virtual human.
2. ## DRTS October 2018 Release - Easier Beginning

Feedback on earlier versions showed that new players often had a hard time beating the bot at first. To fix this, I introduced easier levels of difficulty. These support a gradual progression to more challenging opponents. When playing with a bot, you can now pick a difficulty level before starting the game. To make this as simple as possible, the game automatically recommends a bot based on the results of previous games. After finishing a game, the difficulty level is displayed again to put the result into context. This release also fixes an issue discovered by Hugo in December: The game now displays traces of defeated units for a while, to clarify where those units went, even when you were focused on another part of the map at the time the unit was defeated. The October release of DRTS is now live, you can play the game at https://play.drtsgame.com Many thanks to all the people who helped to test and make this a solid release!
3. ## The blackboards of behavior trees

I really like to add AI to my game in the form of behavior trees and have been reading about them. The primary thing I am "stuck" with is how to pass data. Some articles mention a blackboard that should be passed down the tree nodes so they can set fields on it, but this means for each leave task that needs some form of data the blackboard gets a field. I imagine a lot of leave leave tasks and some need many fields to set on this blackboard and this deviates from my perception of clean and scalable code. Are there other ways to handle this?
4. ## What is the most common pathfinding technique used?

What pathfinding technique is used for an enemy to find their way around when looking for the player, and also I'm curious... What pathfinding technique did Goldeneye 64 use when an enemy is alerted to the player's presence and begins to move through the level until they find the player?
5. ## #2 - From traits to attributes

Since the big yearly professional cycling race (Le Tour de France) is being held at this moment, I wanted to work on my own Cycling Game. The first version of this game was launched about three weeks ago (link), but it still didn't feel finished. The main reason is that there was not too much difference in the players. All players had just one strength value (determining their race strength) and two different traits (like being better in the mountains or when riding solo). I wanted to try and change this by removing the traits and the single attribute and adding 14 new attributes. As of right now i have added the attributes mentioned below to the game. They don't actually do anything, that is the topic for the next update. Climbing, Composure, Condition, Descending, Determination, Flair, GroupTechnique, Luck, Restoration, SoloRiding, Sprinting, Stability, Strength, Tactics. My next goal is to remove the traits (that is going to be a big change, since they are used almost everywhere in the code) and then start to add functionality to the different traits and see how the game will feel afterwards. I will keep you posted!
6. ## Prevent RTS units from occupying the same spot

Have you ever played Starcraft, or games like it? Notice when you tell a group of air units to attack a target, they bunch up and move towards it, but once they're in range, they spread out around the target. They don't all just bunch up together, occupying the same spot, even though the game allows them to pass through each other. How would you approach this problem? I went with a "occupation grid": It's just a low-resolution 2D boolean array (640x480). Each ship (my game only has ships) has one, and updates it every frame. When attacking, they refer to the grid to figure out where they should move to. It works pretty good: The ships are nice and spread out, and don't just all occupy the same space, looking like they merged into one ship. The problem is is that this way is pretty inefficient. Just updating every ship's grid sometimes takes 24-31% of the CPU time. Using Bresenham line-drawing algorithm for every ship is the culprit. I'm thinking of having one shared grid for all the ships on a team, and instead of using a simple boolean 2D array, allow each square of the grid to keep track of every ship that is using it, by using a data structure with a linked list of references to the ships using that square. That way, I wouldn't have to update a grid for each and every ship. Maybe the solution would be to use a much simpler grid, minus the bresenham line drawing, just: a bunch of squares, try to stay in your grid square. Maybe allow larger ships to occupy more than one square. Another solution might be evading me completely, one that doesn't involve grids at all. Any thoughts?
7. ## ZPOC Blog #3

GENERATORS / MOUSE TRAPS Mouse trap visuals are functional and show a dead little rodent that your units can eat raw. Now we’ll just need to have them haul the raw food back to the storage area to enable them to be cooked. Delish! Units are now smart enough to go to the rain barrels for water when they get thirsty! Watch out, Einstein! COMBAT ANIMATIONS Sometimes our units just can’t put their battles behind them, and just keep on swinging their weapons as they wander, eat, and even in their sleep. At other times they just sort of spaz out and do the jitterbug in place for a second before continuing the attack. We are working in the code and Mechanim to troubleshoot the issues. CONSTRUCTION We’ve come to a compromise with our wayward units. We’re not ready to update the Task Dispatcher just yet, so they’ll have to continue to follow our commands. However, we’re going to split up the Construct Resource behavior into separate parts to allow for more flexibility. Hopefully our units will demonstrate more obedience when this is complete. Either way this will make the transition to the new Task Dispatcher go more smoothly whenever we do get to it. TL;DR: -Mouse traps show dead rodent, need hauling enabled -Units drink from rain barrels -Working on Combat glitches -Working on fixing bug where units get stuck in Construct Resource behavior when proxies are built before you have the resources.
8. ## Gameplay Player to player collision in MMOs

I wanted to get some thoughts on player character collisions in MMOs for my project. As I recall the original Everquest had them, however WoW didn’t. I also remember Age of Conan had them but I’m guessing they were done on the server which was highly annoying because you could collide with things that were unseen. I’m not sure how EQ did them but I don’t remember having this problem in EQ, but it was a long time ago. My general idea as to do player collisions on the client side. A collision would only affect a given clients player character as seem from that client. On the server, characters would pass right through each other. This means that because of lag, two players might see different things during a collision or one may think there was a collision while the other doesn’t, but I figure that’s less annoying than colliding with something you can’t see and everything should resolve at some point. There is one more case which I can see being a bit problematic but I think there might be a solution (actually my friend suggested it). Suppose two characters run to the same spot at the same time. At the time they reached the spot it was unoccupied but once the server updates each other’s position, they both occupy the same space. In this case after the update, a force vector is applied to each character that tries to push them away from each other. The vector is applied by each client to its own player. So basically player to player collisions aren’t necessarily absolute. I was also thinking you could generalize this and allow players to push each other. When two players collide their bounding capsule would be slightly smaller than the radius where the force vector would come into play. So if you stood next to another player and pushed he would move. By the vector rules he is pushing back on you (or rather your own client is pushing) but since your movement vector could overcome the collision force vector, only he moves unless he decides to push back. You could add mass calculation to this, so larger characters could push around smaller characters more easily. Of course there are griefing aspects to this, but I was thinking I would handle that with a reputation/faction system. Any thoughts?
9. ## BehaviorSteering behaviors: Seeking and Arriving

Steering behaviors are use to maneuver IA agents in a 3D environment. With these behaviors, agents are able to better react to changes in their environment. While the navigation mesh algorithm is ideal for planning a path from one point to another, it can't really deal with dynamic objects such as other agents. This is where steering behaviors can help. What are steering behaviors? Steering behaviors are an amalgam of different behaviors that are used to organically manage the movement of an AI agent. For example, behaviors such as obstacle avoidance, pursuit and group cohesion are all steering behaviors... Steering behavior are usually applied in a 2D plane: it is sufficient, easier to implement and understand. (However, I can think of some use cases that require the behaviors to be in 3D, like in games where the agents fly to move) One of the most important behavior of all steering behaviors is the seeking behavior. We also added the arriving behavior to make the agent's movement a whole lot more organic. Steering behaviors are described in this paper. What is the seeking behavior? The seeking behavior is the idea that an AI agent "seeks" to have a certain velocity (vector). To begin, we'll need to have 2 things: An initial velocity (a vector) A desired velocity (also a vector) First, we need to find the velocity needed for our agent to reach a desired point... This is usually a subtraction of the current position of the agent and the desired position. $$\overrightarrow{d} = (x_{t},y_{t},z_{t}) - (x_{a},y_{a},z_{a})$$ Here, a represent our agent and t our target. d is the desired velocity Secondly, we must also find the agent's current velocity, which is usually already available in most game engines. Next, we need to find the vector difference between the desired velocity and the agent's current velocity. it literally gives us a vector that gives the desired velocity when we add it to that agent's current velocity. We will call it "steering velocity". $$\overrightarrow{s} = \overrightarrow{d} - \overrightarrow{c}$$ Here, s is our steering velocity, c is the agent's current velocity and d is the desired velocity After that, we truncate our steering velocity to a length called the "steering force". Finally, we simply add the steering velocity to the agent's current velocity . // truncateVectorLocal truncate a vector to a given length Vector3f currentDirection = aiAgentMovementControl.getWalkDirection(); Vector3f wantedDirection = targetPosition.subtract(aiAgent.getWorldTranslation()).normalizeLocal().setY(0).multLocal(maxSpeed); // We steer to our wanted direction Vector3f steeringVector = truncateVectorLocal(wantedDirection.subtract(currentDirection), steeringForce); Vector3f newCurrentDirection = MathExt.truncateVectorLocal(currentDirection.addLocal(MathExt.truncateVectorLocal(wantedDirection.subtract(currentDirection), m_steeringForce).divideLocal(m_mass)), maxSpeed); This computation is done frame by frame: this means that the steering velocity becomes weaker and weaker as the agent's current velocity approaches the desired one, creating a kind of interpolation curve. What is the arriving behavior? The arrival behavior is the idea that an AI agent who "arrives" near his destination will gradually slow down until it gets there. We already have a list of waypoints returned by the navigation mesh algorithm for which the agent must cross to reach its destination. When it has passed the second-to-last point, we then activate the arriving behavior. When the behavior is active, we check the distance between the destination and the current position of the agent and change its maximum speed accordingly. // This is the initial maxSpeed float maxSpeed = unitMovementControl.getMoveSpeed(); // It's the last waypoint float distance = aiAgent.getWorldTranslation().distance(nextWaypoint.getCenter()); float rampedSpeed = aiAgentMovementControl.getMoveSpeed() * (distance / slowingDistanceThreshold); float clippedSpeed = Math.min(rampedSpeed, aiAgentMovementControl.getMoveSpeed()); // This is our new maxSpeed maxSpeed = clippedSpeed; Essentially, we slow down the agent until it gets to its destination. The future? As I'm writing this, we've chosen to split the implementation of the steering behaviors individually to implement only the bare necessities, as we have no empirical evidence that we'll need to implement al of them. Therefore, we only implemented the seeking and arriving behaviors, delaying the rest of the behaviors at an indeterminate time in the future,. So, when (or if) we'll need it, we'll already have a solid and stable foundation from which we can build upon. More links Understanding Steering Behaviors: Seek Steering Behaviors · libgdx/gdx-ai Wiki Understanding Steering Behaviors: Collision Avoidance
10. ## Staller gameplay idea

This idea comes from the concept of making a game that specifically, fills the time of a person in travel when the person might not enjoy the adrenaline factor that accompanies many games. I couldn't come up with anything so I thought about the general vibe I wanted and an action people did in general that emulated that. I found that it mostly happened, amongst other places no doubt, when people go through their messages panel on their devices; a plane traveler/businessperson perfectly calm for a minute eliminating messages, that moment extended. It's a kind of process of elimination. I don't know if this idea is common knowledge but I couldn't find anything and I'd love to see games based on this.
11. ## New release of DRTS web port - Play with Bots

Following the plan from last week, I expanded the web port of the DRTS game. You can play this new version at https://distilledgames.itch.io/distilled-rts In the upper right corner of the screen, you will now find a button to access the main navigation, and from there, you can start new games. Besides the tutorial, you can also play on a larger map with a bot. To make this a bit more of a challenge, I spent a few hours on building a basic behavior for the bot. It will spread out, conquer more and more area on the map and eventually overrun you if you don’t act. I also started implementation of the map generator, which is used to generate random maps, and the new map you see is coming from this generator. A good part of the map generation functions are already implemented, but it needs some more work, most importantly to enable symmetrical maps. Symmetrical maps will come with a future release, as well as a user interface to customize the map generation process. The screenshot shows a game with the new bot and map.

13. ## 2017-12-18.DRTS.play-with-bot.png

This screenshot shows a game with the new bot and map. Screenshot from the DRTS Devlog at
14. ## Gameplay A good key list for User Rebindability

(Note to Mods: Could "Input" or "Peripherals" be a good Tag to add to the tag list? Just a thought.) Hey, I'm currently working on which keys on a keyboard that a user can rebind their actions to. The trick is that I use a Norwegian keyboard, so it's not obvious which keys correspond to the actual C#/XNA Keys enum values. Are there any keys from the XNA Keys enum that, in your opinion, I've neglected to add? I don't need all Keys to be bindable, only the "most commonly used keys on a keyboard". Thanks. https://pastebin.com/n1cz8Y0u
15. ## Behavior Tool pre-release: Curvature Utility AI Suite

I've just posted a pre-release edition of Curvature, my utility-theory AI design tool. Curvature provides a complete end-to-end solution for designing utility-based AI agents; you can specify the knowledge representation for the world, filter the knowledge into "considerations" which affect how an agent will make decisions and choose behaviors, and then plop a few agents into a dummy world and watch them run around and interact with things. Preview 1 (Core) contains the base functionality of the tool but leaves a lot of areas unpolished. My goal with this preview is to get feedback on how well the tool works as a general concept, and start refining the actual UI into something more attractive and fluid. The preview kit contains a data file with a very rudimentary "scenario" set up for you, so you can see how things work without cutting through a bunch of clutter. Give it a test drive, let me know here or via the Issue Tracker on GitHub what you like and don't like, and have fun!
16. ## Behavior Pure Decision AI...best method to use

I'm building an American football simulation(think football manager), and am wondering about the best way of implementing AI based on various inputs which are weighted based on the personality of the NPC...I have a version of Raymond Cattell's16PF model built into the game to be able to use their various personality traits to help guide decisions. I am going to use this extensively so I need this to be both flexible and able to handle many different scenarios. For instance, a GM has to be able to decide whether he wants to resign a veteran player for big dollars or try and replace them through the draft. They need to be able to have a coherent system for not only making a decision in a vacuum as a single decision but also making a decision as part of a "plan" as to how to build the team...For instance it makes no sense for a GM to make decisions that don't align with each other in terms of the big picture. I want to be able to have the decisions take in a wide range of variables/personality traits to come up with a decision. There is no NPC per se...There isn't going to be any animations connected to this, no shooting, following, etc...just decisions which trigger actions. In a situation like a draft, there is one team "on the clock" and 31 other teams behind the scenes working on trying to decide if they want to try and trade up, trade down, etc which can change based on things like who just got picked, the drop off between the highest graded player at their position/group and the next highest graded player in that position/next group, if a player lasts past a certain point, etc... There needs to be all of these things going on simultaneous for all the teams, obviously the team on the clock is goifn to have to decide whether it wants to make a pick or take any of the offers to move down in the draft from other teams that might want to move up, etc.. So I am planning on making use of something called Behavior Bricks by Padaone Games( bb.padaonegames.com )which is a Behavior Tree but in conversations with others who have worked on AI in major projects like this(EA sports) they said to combine this with a State Machine. My question is would I be able to do this using just Behavior Bricks or would I need to build the state machine separately? Is there something else already created for this type of purpose that I could take advantage of?
17. ## Behavior Potential uses for Psychology based game AI

Hello, I have designed an AI system for games that replicates cognitive psychology models and theories, so that NPCs and other virtual characters can behave in more human-like and interesting ways. I have built a prototype in the Unity game engine, and it can produce quite complex behaviour, including learning and creativity. I am now wanting to develop it further and am looking for people or organisations to help. I am thinking about how I could present my AI system, and what would be a good way of demonstrating it. If you have any suggestions it would be great to hear them. I have a website that explains my AI system in detail: www.electronicminds.co.uk If you have any comments about the AI system, or know anyone who might be interested in helping to develop it, I would really appreciate hearing from you. Thanks for the help.
18. ## Stop hacking

Is there a program to ensure that the game I've created does not get hacked from third party apps such as lucky patcher, game guardian, game killer etc. If so, how I do I prevent this obstacle from ruining the game. The game is online based but I just recently found out there are hackers. Is there a program I could use to stop this or is it in the coding. Thankyou
19. ## AI and Machine Learning

So - the last couple of weeks I have been working on building a framework for some AI. In a game like the one I'm building, this is rather important. I estimate 40% of my time is gonna go into the AI. What I want is a hunting game, where the AI learns from the players behaviour. This is actually what is gonna make the game fun to play. This will require some learning from the creatures that the player hunt and some collective intelligence per species. Since I am not going to spend oceans of Time creating dialogue, tons of cut-scenes and an epic story-line and multiple levels (I can't make something interesting enough to make it worth the time - I need more man-power for that), what I can do, is create some interesting AI and the feeling of being an actual hunter, that has to depend on analysis of the animals and experimentation on where to attack from. SO.. To make it as generic as possible, I mediated everything, using as many interfaces a possible for the system. You can see the general system here in the UML diagram. I customized it for Unity so that it is required to add all the scripts to GameObjects in the game world. This gives a better overview, but requires some setup - not that bothersome. If you add some simple Game Objects and some colors, it could look like this in Unity3D: Now, this system works beautifully. The abstraction of the Animation Controller and Movement Controller assumes some standard stuff that applies for all creatures. For example that they all can move, have eating-, sleeping and drinking animations, and have a PathFinder script attached somewhere in the hierarchy. It's very generic and easy to customize. At some point I'll upload a video of the flocking behavior and general behavior of this creature. For now, I'm gonna concentrate on finishing the Player model, creating a partitioned terrain for everything to exist in. Finally and equally important, I have to design a learning system for all the creatures. This will be integrated into the Brain of all the creatures, but I might separate the collective intelligence between the species. It's taking shape, but I still have a lot of modelling to do, generating terrain and modelling/generating trees and vegetation. Thanks for reading, Alpha-
20. ## An easy explanation to Dual Contouring?

Hello, I'm a trainee for software development and in my free time I try to do various things. I decided I wanted to figure out how "Dual Contouring" works, but I haven't been successful yet. I could find some implementations in code which are very hard to follow along and same sheets of paper "explaining" it written in a way that I have a hard time even understanding what the input and output is. All I know that it is used to make a surface/mesh out of voxels. Is there any explanation someone can understand without having studied math/computer science? The problem is also that most of the words I can't even translate to German(like Hermite Data) nor I can find a explanation which I can understand. I know how Marching Cubes work but I just can't find anything to Dual Contouring also I don't quite get the sense of octrees. As far I'm aware of this is a set of data organized like a tree where each element points to 8 more elements. I don't get how that could be helpful in a infinite 3D world and why I shouldn't just use a List of coordinates with zeros and ones for dirt/air or something like that. Thanks A clueless trainee ^^
21. ## City building game inner workings

Hello, without going into any details I am looking for any articles or blogs or advice about city building and RTS games in general. I tried to search for these on my own, but would like to see your input also. I want to make a very simple version of a game like Banished or Kingdoms and Castles, where I would be able to place like two types of buildings, make farms and cut trees for resources while controlling a single worker. I have some problem understanding how these games works in the back-end: how various data can be stored about the map and objects, how grids works, implementing work system (like a little cube (human) walks to a tree and cuts it) and so on. I am also pretty confident in my programming capabilities for such a game. Sorry if I make any mistakes, English is not my native language. Thank you in advance.
22. ## DX11 How do I output zero verts from geometry shader?

Solved: didn't think clearly and realized I can't just compare the cross-product with 0,0,0. Fixed by doing this: float3 originVector = float3(0.0, 0.0, 0.0) - v1.xyz; if (dot(cross(e1, e2).xyz, originVector) > 0.0) { //... } I'm trying to write a geometry shader that does backface culling. (Dont ask me why) What I'm doing is checking the cross-product of two edges of the triangle (in NDC space) and checking if it's facing 0,0,0 . The problem is when I compile I get this error: this is i guess because if it isn't facing us, I dont append any verts to the stream. I always assumed maxvertexcount implied I can emit as few verts as I like, but I suppose not. How do I get around this? Shader below: struct GS_IN_OUT { float4 Pos : SV_POSITION; float4 PosW : POSITION; float4 NorW : NORMAL; float2 UV : TEXCOORD; }; [maxvertexcount(3)] void GS_main( triangle GS_IN_OUT input[3], inout TriangleStream< GS_IN_OUT > output ) { //Check for backface float4 v1, v2, v3; v1 = input[0].Pos; v2 = input[1].Pos; v3 = input[2].Pos; float4 e1, e2; e1 = v1 - v2; e2 = v1 - v3; if (dot(cross(e1, e2).xyz, float3(0.0, 0.0, 0.0)) > 0.0) { //face is facing us, let triangle through for (uint i = 0; i < 3; i++) { GS_IN_OUT element; element = input[i]; output.Append(element); } } }
23. ## BMFont: Different results with forcing zero offsets

Hello, I'm using BMfont to create a Bitmap font for my text Rendering. I noticed some strange behaviour when I use the option "force Offsets to Zero". If I use this option my rendering resultions looks ok, but without it, there is some missing space between some characters. I attached the BMFont configuration files and font that I used. In the rendering result with variable Offset you can see that there is missing space right next to the "r" letter. To get the source and destination of my render rectangles I basically to following: void getBakedQuad(const fontchar_t* f, int* x_cursor, int * y_cursor, SDL_Rect* src, SDL_Rect* dest) { dest->x = *x_cursor + f->xoffset; dest->y = *y_cursor + f->yoffset; dest->w = f->width; dest->h = f->height; src->x = f->x; src->y = f->y; src->w = f->width; src->h = f->height; *x_cursor += f->xadvance; } Has somebody noticed a similar behaviour? orbitron-bold.otf SIL Open Font License.txt variable_offset.bmfc variable_offset.fnt zero_offset.bmfc zero_offset.fnt