• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
SaNcT17

What kind of tech would something like this take?

6 posts in this topic

So, I came up with a concept for a game I wanted to include realistic crowds and AI actions in. I'm all consept, design and story, but my knowledge is kinda limited on the tech stuff; mostly programming. What kind of technology would it take to make this happen:

interactive crowds that you can talk to and recruit for missions through narrative dialogue choices which effect the outcome of the interaction.

realistic imperfections to AI behavior to make crowds seem more believable. Stuff like stumbling, ext.






0

Share this post


Link to post
Share on other sites
I'm not entirely sure what you're asking for here. There's a huge variety of technologies that could go into making something like that, most of which would (I'm guessing from your own statement) be totally unfamiliar to you by name.
0

Share this post


Link to post
Share on other sites
Making agents in crowds have slight differences is often as simple as slight parameterized randomization of things to "fuzzy them up" a bit. However, having complete dynamic conversational ability is a tough nut to crack. As ApochPiQ said, there are a lot of ways of doing a lot of things in your seemingly simple question.
0

Share this post


Link to post
Share on other sites
Hmm. Can I have an example of some techs that can do that? I really wanna know more. Watching how beautifully the AI played out in the last of us gameplay, I was really interested in what type of tech they used in their development to make the AI so dynamic.
0

Share this post


Link to post
Share on other sites
What specifically is "that"? Again, to repeat Dave, a random number generator can be plenty to make crowds seem more diverse; but conversations and such can range from trivial to extraordinarily complex.

Perhaps a better way to approach this would be to ask about specific features you want to see. As it stands, it's like asking "how did Renaissance artists create such awesome art?" - the answers will be varied, complex, and probably (if you want the whole truth) far more detailed and academic than what you're actually looking for ;-)
0

Share this post


Link to post
Share on other sites
I'm also not sure what you mean, but I don't know any "technology" that will make this for you (if with tech you mean libraries, programs or prebuilt stuff).

Basically you have to create a project (a program) in a specific programming language (within a particular development interface like "Visual Studio" for example). It will control the logic of your charactes (also created in there by yourself). You create the visible models in a (for example) 3D / 2D program to later import them in your project & control them logically.

I guess you have to program all the possible actions & as the guys here said you may randomize & trigger them, or trigger them according to decisions on what is happening.

For example, develop a "run" action (an animation made in a 3D/2D animation software; the actual movement: vectorial translation of the character in a programming language, etc), then a "walk", a "stand", etc. Get a random number & according to it, make one character walk, another, run & so on.


For dialogs you should check about "decision trees". For different states & activities you may like to read about "UML State Machine", "UML Activity diagrams": [url="http://en.wikipedia.org/wiki/UML_state_machine"]http://en.wikipedia....L_state_machine[/url]
[url="http://en.wikipedia.org/wiki/UML_activity_diagram"]http://en.wikipedia....ctivity_diagram[/url]

There's a looooot to implement & it's definately not a matter of 2 or 3 weeks.

For development tools I like to use C# and XNA. I also like to build the AI by myself, always with the help of the pros that have previously answered you here.
Hope I gave u some light.

Cheers,
Synth Edited by Synthesizer
0

Share this post


Link to post
Share on other sites
[quote name='SaNcT17' timestamp='1344797133' post='4968791']
So, I came up with a concept for a game I wanted to include realistic crowds and AI actions in. I'm all consept, design and story, but my knowledge is kinda limited on the tech stuff; mostly programming. What kind of technology would it take to make this happen:

interactive crowds that you can talk to and recruit for missions through narrative dialogue choices which effect the outcome of the interaction.

realistic imperfections to AI behavior to make crowds seem more believable. Stuff like stumbling, ext.
[/quote]

Areas to investigate :

Agent Programming - program entities that have mechanics/operation needed for multiple objects to interact in a simulation

Planners - how objects have goals defined, make decisions and find a solution for a situation

Cognition - how a simulation situation can be interpretted (generalized so logic can generate conclusions)

Artificial Intelligence (a general subject that includes all of the above)

Negotiation Theory - if you ask an NPC to do something for you they would want to know whats in it for them

Hierarchical Templating - creating programming logic that can be reused and that breaks problems down from generalities to specifics

Uncertainty- how to make decisions when all the information is not ( or cannot be) available

Social Organization - individuals are much define by their relations to others and the roles they are assigned or accept

LOD (level of detail) Simulation - simplifying how object behave in the game, but increasing the detail as the player get closer
.

Simulating human behavior is quite complex because individuals have many differences that influence their behaviors

They have different tendencies and preferences, different skills and tools they can make use of, (including knowledge). This leads them to make different decisions in their own specific enviroment/situation with priorities of their own and those decisions are then solved with possibly different methods of solution.

.
Even in a limited situational space (of your game) there will be large numbers of factors/entities that will make it a complex environment.
To act realistically (or close enough to it) there has to be sufficient logic in the object's AI to handle all the factors and how they interrelate.

The usual difficulty with AI programming is the huge pile of logic that has to largely be hand created to handle that (world) complexity. It helps that many different objects will 'handle' things in similar ways and so can share alot of programming 'solutions' (but with different specific factors values adjusting how/what decision are made, and which solutions are available/applicable to solve the problems). Even with this 'templating' the total code can be enormous even for fairly simple environments.

-----------

You walk up to a NPC in the street and ask them to help you with a mission. That NPC need to figure (estimate/evaluate )what that mission involves, if it has any skills that apply, what the risk/rewards are to cooperating with you, does it have the opportunity to take part (compared to the rest of its 'life' in your simulation -- its priorities for other things...)

Think about how YOU would make the decisions if you were that NPC within the simplified world it lives in. Lots of evaluations (including seeking more info if insufficient info was given) and sub decisions. Consideration of all the factors that are required to make a decision.

Of course the complexity is dependant on your game mechanics - what the player and NPCs can do - what actions they can take upon what game objects, what information they are provided with.

If the NPC interacts (negotiates?) with the Player via some dialog, questions and possible answers have to be composed to fit the situation of the mission, being adjusted for the mission's specific details.

The reverse of this is for a Mission-Giver to offer a mission to a player who then could asks for more info or whats involved and what the player reward is etc...

---

This aspect of the game is just one component and the next is having the NPC now take part in the mission and act 'intelligently' (making decisions to carry out its actions in relation to the player and the game situation - what is it allowed to do and what is best to do). Similar evaluation is done for the CURRENT situation and picking of the right goals and then solutions (and now carrying them out -- versus just calculating them). This part can be more difficult if the NPC has to communicate with the player or other NPCs to coordinate actions and for strategies/tactics that carry across a period of time. Edited by wodinoneeye
2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0