Jump to content
  • Advertisement

Robin S

  • Content Count

  • Joined

  • Last visited

Community Reputation

153 Neutral

About Robin S

  • Rank
  1. My response to Bluefirehawk’s comments lead naturally to a slightly more in-depth discussion of how agents work, so I’ve left them til last. Quite true. That's why I only plan to simulate a few dozen agents in any level of detail, and as I work on implementation hopefully I'll find a way for each agent to choose only relevant beliefs to process when making decisions. Another point is that agents will be interacting quite infrequently, so they'll be able to spend many millions of operations on each individual decision. I think I can achieve an interesting level of emergent behaviour within that constraint. The faction idea is more or less what I'm planning on doing. Where possible I'll avoid simulating individual NPCs at all, instead trying to work out what sort of consensus a faction would come to. Only those characters who are important enough in their own right will get dedicated agents assigned to them. I'm also considering using a sort of "scaled-back" agent (with few beliefs and goals) to stand in for individual unimportant NPCs the player interacts with, such as merchants, artisans - everyday people on the streets. Such an agent would only need to be used for as long as the player was interacting with it, which in many cases would only be a few seconds. Other than "travel to location" and possibly "take / give item", the important actions will all be forms of "give information", whether true or false. That information might be "I would like X", i.e.a request, where X could itself be information, an item or some other form of assistance; it could be "A has asked me to tell you Y", i.e. passing on a message; or it could be "I will (not) do this if you do that", i.e. an agreement, a refusal or a threat. Fair enough - thanks for clearing that up. The truth is, other than general world-building, I’ve spent most of the time thinking about how the decision engine for the agents would work, at the expense of other aspects of the game - so I don’t have a clearly-defined list of features for gameplay yet (which is why I was a bit vague about trade, for example). I recognize that this is something I need to sort out before it will be possible to begin developing the game proper, but so far my thoughts have been towards prototyping the decision engine itself and seeing how plausible my ideas for it were. Yeah, you’re right that it won’t make any difference to 99% of players. To be honest, this was more a matter of self-satisfaction because I came at the whole thing from a world-building point of view, and I like things to be coherent. You make a fair point. I’ll try to limit “realism-enhancing” features to the aesthetic side of things, at least until I have an idea of how more important things will use up resources. A realistic early- Bronze Age city doesn't actually need to be that big, so we'll see. I’m completely with you on this (see above comments on factions). I’m embarrassed to admit it, but I really haven’t thought this side of things through in enough detail to give you a good answer. I’m not saying collecting / trading is a novelty feature which will only happen once or twice, but I don’t feel like it should be too big a part of gameplay because it has the potential to change the flavour of the game quite a lot, and doesn’t feel like something a diplomat would spend most of his time doing. I’m being a bit vague and wordy, but it’s hard to convey ideas about “amount” when I don’t have that clear an idea myself yet. Yes, that's the basic idea. I'd had a look at your RPG idea already - it looks interesting, but I can't really think of any input at this stage beyond what people have already said. Good luck with it - I'll keep an eye on your thread, and post if I think of anything useful. Now for Bluefirehawk’s comments - sorry, this is going to get a bit lengthy. Not at all. Sorry for the confusion - the level of belief that a particular outcome will occur is based on the levels of belief that various states are currently true. At this point I should give a more in-depth outline of how each agent works. While still not at the level of a complete model, hopefully it will clarify some issues (please note that I'm not particularly familiar with object-oriented programming and am not using any terminology in a formal sense): The agent has three main categories of object: beliefs (a percentage assigned to each possible current state), goals (a desirability assigned to each potential future state) and planned actions (to change the state in the direction of something more desirable). When the agent witnesses an event or - more often - communicates with another agent, it updates those three types of object with each incoming piece of information. Its ability to update its own beliefs, goals and plans is based on its ability to emulate other agents' beliefs, goals and plans, which in turn is based on how accurate its beliefs about those other agents are. In effect, the agent will perform lots and lots of cost-benefit calculations, mostly on behalf of other agents - or rather, on what it believes to be the states of other agents. Say agent A is told something by agent B. A then has to do the following: 1. Update any pre-existing beliefs regarding the subject B is talking about, and - if appropriate - create new belief objects pertaining to the new information; simultaneously, A needs to update its beliefs about all the agents which might have played a part in the message eventually arriving via B, including B itself. To do this, A will make use of its pre-existing beliefs: for example, how likely it thinks B would be a priori to lie about this particular thing, how likely another agent would be to lie to B about it and for B then to believe it and pass the message on - these things in turn are based on what A thinks various agents, including B, might stand to gain or lose by lying, i.e. what it thinks their goals are. In practice, what A will do is perform Bayesian inference: it considers each possible current state (including other agents' beliefs, goals etc.) in turn, imagines that state was true and works out what the other agents would be most likely to have done in those circumstances; then it decides how closely each of the hypothetical outcomes matches up with what it's observed and with its prior beliefs to come up with new belief estimates for the relevant states. 2. Update its goals. The desirability that A assigns to most potential future states will depend on what events it thinks will follow on from each of those states. That in turn depends on how it thinks other agents will act, which is determined by what it believes their current beliefs and goals to be; so once A has updated its beliefs about those things in stage 1, it needs to imagine what the other agents would be most likely to do in each of the hypothetical future scenarios, just as in stage 1. Then it can assign updated desirability levels to the future states based on updated estimates of the likely outcome of each state. 3. Update its plans. Having already worked out the desirability of the various possible future states in stage 2, A can now restrict itself to looking at those which it can immediately move to via its own actions (including talking). It can pretty much go ahead and pick the one with the highest desirability, but with the caveat that time is also a limited resource - the player might not spend hours travelling from one end of the kingdom to the other, but the characters still do. Ideally, agents' locations and the time it takes to travel between them should be part of the state used when calculating desirability in stage 2. I'm currently at the stage of working out how all of this will work at a lower level. The thing is, in order for A to decide whether or not B is lying there has to be a possibility that he is. A needs to consider the possible states that could motivate B to lie, the possible states that could motivate him to tell the truth and then work out, on the basis of other prior beliefs, which one he thinks is actually happening. The situation is in a sense irreducible: I might be able to program in a simple scenario, with few possible states and correspondingly simple sets of beliefs and goals, but the decision engine which analyses those states will still have to have full functionality. You’re certainly right about that. I’m an extreme perfectionist; it’s a habit I’m trying to break, but it’s not easy. I think I’ll be satisfied with anything that works, but I’ll be happier the more I can add to it.
  2. This amounts to game theory. Each agent works out, based on its beliefs, how the other agents might react to its own actions. (Infinite regress is avoided because the game state only stores a few levels of belief for each agent.) Then it weights the desirability of each possible outcome by the strength of its belief that it will actually occur, in order to find the "expected desirability" of the outcome following from a particular action. Finally it chooses the action with the greatest expected desirability - or maybe, if it's (say) more risk-averse, the action which is least likely to have a strongly negative outcome, etc. I plan to avoid using one global set of variables to model the relationships. Instead, how strongly A trusts B is implicit in what A believes about B. For examples, if A has reason to believe that B wants X to happen, but B has told A that he doesn't want X to happen, that will make A suspect that B is trying to hide something - represented as something like "A somewhat believes that B strongly wants the following to occur: (X happens, and A believes that B didn't want X to happen)". A may then conclude that B is likely to lie to him about other things as well. You're right that talking isn't enough, although it will still be the main way in which agents interact. In particular, it's quite possible to set up scenarios in which A decides how much to trust B based solely on talking. For a simple example, A might confide some information and then wait to see if it gets out. Or he might ask other agents about B. Or he might ask B questions to try to determine his allegiances indirectly. As far as other actions go, they're the sort of things which determine aspects of the state other than beliefs. So for example, if C decides to declare war on D then at some point he will want to physically send some troops out to attack him. But in practice that action will be mediated via more talking: C will give orders to his generals, who might decide to rebel. Or when the general has passed the orders on to the soldiers, one of them might sabotage the attack by letting D's commanders know the attack plans. Talking - the communication of information, along with issues of trust - will always be important, as in real life. This is one of the issues I'm most worried about at the moment. In particular, I think you're completely right when you say At the moment I'm leaning towards a basic "dialogue" system, with intentions discernible (if at all) through context rather than wording. As a way of justifying this to myself, I remember that to become politically powerful, back then even more than today, you would have had to be very good at lying. So a suspicious diplomat might be more likely to learn about a king's true motives by asking around, or using common sense, than by relying on him having a bad poker face. Yeah, fair enough. I suppose I came up with them as things to keep in mind - especially "not boring", as in the walking example that I'll come to in a minute. I'm very inexperienced when it comes to design, so please forgive me if some of my questions sound stupid - but how do I decide what qualifies for the outline, as something to decide on before "getting into (proper) design"? Absolutely, and thanks. Definitely not. I meant that I planned to avoid things like that, say by having some sort of fast-travel feature. Of course, the player might be interrupted on his journey, maybe because he's ambushed by bandits or meets someone he knows en-route - in which case he might not arrive at his destination straight away when choosing the fast-travel option. When I talked about realism, I was referring more to things like: How many people live in the cities? What are the ratios of the various professions? How many villages are there for each city, and how much do they pay in taxes? How are governors distributed among the settlements? Who trades what with whom, and how much? Some of these details may only live in the background of the game, in the form of area layouts, NPC appearances and so forth; but by aiming to make them realistic I hope to enhance the player's willingness to "buy into" the setting (as well as satisfying my own pedantic tendencies). Trade will absolutely play a part in the game - for example, the player will end up negotiating trade agreements, that sort of thing. I don't know yet how much trading the player himself will be doing: he gets his social status from being related to a king, who presumably got to his position through trade or conquest - or is descended from someone who did. These days the royal family will get its wealth from collecting taxes, tributes and trade with neighbouring kingdoms, all of which (at least on paper, so to speak) pertain to the property of the king himself. The player will have access to some of that wealth as an allowance, as well as his wardrobe etc. - and might occasionally need to barter for particular items, but I don't see him taking on the role of a full-time merchant.
  3. I mentioned this only as an aside in my original post, but the setting is Bronze Age -like, so most of the important characters will be kings, priests, generals and the like. The player character will be a minor member of one of the royal households, sent on various diplomatic missions; so he'll be expected to negotiate alliances, treaties, trade agreements and the like on the behalf of his king, but as the game progresses he'll gain some reputation of his own and will be able to act as a go-between for many of the major political players in the area. At first the motivation will be to gain the trust of the king and rise to prominence within the court - but over time, as the player discovers more about the politics of the region, they will hopefully form their own attachments and find their own part to play in events. What I'm picturing goes something like this: the gameworld has a "state", which is divided into lots of things, like who controls what territory, who's allied with whom, who's paying what taxes or who's readying their troops for war, along with environmental aspects like the weather and state of the harvest. Some aspects of the state might lie on a sliding scale, such as the happiness of various factions of the populace. Each agent assigns a level of desirability for each possible state, and also a level of belief that a given state is actually true (since there are many things the agent cannot directly know for certain). Finally, the other agents' goals and beliefs themselves form part of the state - so, for example, A might somewhat believe that B strongly wants C to declare war on D. Infinite regress is not necessary - a few nested levels of belief with a goal or "plain" state at the end is generally sufficient. Now, it is in each agent's interests to manipulate events towards a state which is desirable for that agent. The main way agents can manipulate events is by talking to each other, and to the player. If A tells me that he thinks B stands to lose by C and D being at war, that might throw my suspicion away from the possibility that A and B are actually conspiring to overthrow C. A clever agent will work out what course of action is - based on that agent's beliefs - most likely to move events in a desirable direction. Agents can have personality traits, such as being risk-averse or quick-tempered or suspicious; these properties can be programmed in as parameters which are used by the decision engine when weighing up their options or beliefs. I fear I may have confused things further. Please ask about things I can clarify, and I'll do my best. In the meantime, thanks for your replies so far!
  4. Hi all, I've been developing aspects of a fictional setting bit by bit for a while, and more recently I've got it into my head to use it for a game. I enjoy both pen-and-paper and video games which are heavy on character interaction and especially political intrigue, and I'm also interested in negotiation and manipulation from a mathematical perspective; so I'd like to create something where the gameplay focuses on those things. I'm envisioning the player character travelling around a largish game world and interacting with maybe a few dozen major NPCs, as well as some more minor characters. But instead of presenting the player with the traditional rather limited dialogue tree, each NPC would be a fairly complicated intelligent agent: capable of forming beliefs and goals, and trying to second-guess the player as well as the other NPCs with which it interacts. This would form the core of gameplay: I have a plot of sorts in mind, but the aim would be for the course of some major events to respond flexibly to the behaviour of the player, or more accurately to the behaviour of the various agents in response to the player and each other. A sort of "emergent plot", if you like; but with enough constraints to ensure that only certain "types" of actions are available to the player and to the agents. So far I've put a limited amount of thought into how this could be implemented interface-wise: traditional dialogue options seem like they could get clunky and repetitive ("Welcome to Corneria!"), so I've been playing with the idea of using a kind of "sentence" builder with very basic syntax and Sims-style symbols in place of words - but I'm not committed to that. As I hinted at above, I've got more experience in the mathematical side than in programming and optimization, but some back-of-the-envelope calculations suggest that the logic engine of the agents shouldn't use up too much processor time. My main goals are, in rough order of priority: 1. Engaging gameplay based on interacting with the characters in the world. The characters should feel creative and hard to predict, not two-dimensional and immersion-breaking. Combat and physical challenge will not be a central aspect of gameplay, indeed might not even feature at all, so the strength of the interaction with NPCs is essential. 2. Not boring: the player should be able to choose what content they want to experience, when. A corollary is that the game will have a non-linear, sandbox feel to it; and, for example, moving between towns should not mean having to spend ten minutes of real time walking between them. 3. An immersive setting which motivates the player to explore said content. I am also aiming for realism where possible: for example, if I need to constrain how far the player character can travel, it should be because he would run out of food if he went too far from a settlement or because his escorts will not allow him to be placed in harm's way, rather than a glass wall cutting across the landscape. Settlement sizes and distributions, etc. will also be appropriate to the setting (a roughly early Bronze Age level of technology and sociopolitical development). I'm aiming to do as much as possible of this by myself - certainly all of the design and programming work - so I'd be keen to hear your thoughts before I sink too much time into it. Is this feasible from a programming perspective? Could it make an enjoyable game? What crucial aspects have I not thought of, and in what sort of ways might I develop some of the ideas I've had? I hope I'm not being hopelessly vague, but I'll be happy to go into some more detail on those things I have spent time thinking about. Thanks in advance, Robin
  5. Robin S

    need some advice on how to design this.

    If you're going to call things "atoms" and "electrons" then you should remember that an atom's made of more than electrons - there's also a positively-charged nucleus made of protons and neutrons. So as I see it there are two viable options: involve those somehow, or keep things as they are but preferably lose the name "electrons" in favour of something a bit more abstract or creative. If you're going to add in positively-charged things, they don't have to be directly player-controlled; +s will naturally be attracted to -s and repelled by each other. Likewise, -s will naturally be attracted and repelled by each other. So in fact you could give the player control of a "source of charge", either positive or negative, which they could move around to attract opposite charges, repel similar charges and hopefully nudge things into becoming atom-like systems. Once you have atoms or other complicated objects, you'll be able to influence their movements by using your charge source to manipulate the individual components (electrons etc.) which in turn will have an effect on the whole atom or molecule, moving it or changing its shape. If you want to stick with just one type of particle (electrons, as you've called them) then really anything goes. You'll have to do away with the basic attraction / repulsion rules though (since otherwise all electrons will either clump together or fly apart) and replace it with something more complicated - maybe there's no attraction or repulsion at long distances, but if two objects come close enough together - maybe with some extra conditions, such as their speed relative to each other - then they might combine into something else. Just throwing some thoughts out there.
  6. Robin S

    My game has no 'spark'.

    I agree, but it didn't sound like what Deyja was aiming for in the original post.
  7. Robin S

    My game has no 'spark'.

    Quote:Original post by EJH Does your mega-boss have super weapons? A tech tree of super power weapons and defensive stuff would add a lot as well.Quote:Original post by Punk Designer I would mix it up a bit, use things that are often used in such RTS games like turrets, healing units, stealth units, etc. Something tech-tree would be good. I think you should consider making it so these heroes of yours have to come into your "land" so the player should be able to design the land and put nests (for AI underlings), turrets, rocks in where he/she wants while keeping to a budget (earn money by killing off heroes and other tasks)That could quickly turn into Tower Defence. Reversing roles and seeing things from a different perspective is an interesting and appealing idea, but it doesn't always work in practice. In this case, my first thought was that bosses tend to be predictable, and players overcome them using ingenuity and/or by outmaneuvering them. If the way to defeat the incoming "heroes" boils down to some combination of those things, then all you've really done is swapped the sprites round and left the game otherwise how it is. On the other hand, if you remove those components, the game ceases to be fun because that's the tried-and-tested formula for a player-vs-AI battle. That said, games like Dungeon Keeper and Evil Genius have sold well. Note that they're not really battles, but closer to the Tower Defence archetype - but with a fair amount of originality thrown in. You could use that format as a starting point and then think of your own modifications to make your game distinct and original while keeping the enjoyability factor that your current incarnation lacks. If you're intent on keeping the form of the game similar to what you've currently got, the simplest modification I can think of to the "choose when to spawn underlings" mechanic is to have some incentive not to spawn them. Maybe the longer you wait, the stronger (or greater in number) your flunkies will be - or your health recharges while you're not spawning.
  8. Your dream world idea reminded me of Coma, which is in my opinion a very beautiful game. It uses the sidescrolling feature effectively, and while it has no new mechanics and in fact a minimal level of real player interaction, it still manages to catch the eye. What I'm getting at is that the innovation doesn't necessarily have to be mechanical in nature; it can be in the setting or story, the "atmosphere", or some other aspect. A side-scroller set on a Möbius strip could have potential, depending on the mechanics. I wouldn't be surprised if something along this line has been done before, but there's plenty of room for innovation.
  9. Robin S

    Entertaining loading "screen"

    Phantasy Star Online had a little glowy thing that you could move around with the directional controls, with a "time vortex" style animation in the background. It made a sort of twinkling sound when you moved it, and left a trail of sparkles behind it that quickly faded, sort of like a comet - the equivalent of one of those cursor gimmicks that some websites use. It's entertaining enough that I still twiddle around with it when I'm waiting for an area to load. It's kind of like doodling - some idle action to occupy your fidgeting fingers while something boring happens. I suppose the choice depends quite significantly on how long the loading takes. If it's around five seconds or less, there isn't much time for significant interactivity and something minimal like the above is probably best. If it's going to take at least several times that long, you've probably got enough time for some sort of minigame. If you're having creative difficulties, just make a clone of one of the classic simple games out there - it could be a button-mashing task, a Chopper clone, or even a puzzle game like Tetris or Bejeweled. What if the loading time, or time taken to complete the activity, is variable? Remember that you don't have to forcibly switch to the next level of the game as soon as it's loaded. In fact, you don't have to force the switch at all; give the player something they'll enjoy messing around on for a minute or two, and let them stop when they've had enough - by which time, the level will already have loaded. You might decide to let the score contribute to the overall game, but it doesn't have to: the main goal is to pass the time in a fun way during a gap in the game. Of course, the meta-goal of the game itself is to pass the time in a fun way during a gap in other real-life activities - and scores in games rarely affect how you do in those activities.
  10. Robin S

    Camera system for 2d Portal game

    How about treating the camera as if it's attached to the camera by a length of elastic rope? Then, when the character moves between portals the camera will follow it, but the change won't be instantaneous and should be less jarring. Another alternative is to do something similar to Epsilon and show another "copy" of the room on the other side of the portal. Then the camera can simply move through the portal to the "other" copy instead of jumping.
  11. Robin S

    Guild/Clan design and social function in MMOGs

    The articles I linked to mention that for most scenarios 150 is strictly an upper bound, so 128 would presumably be a cap for number of guild members rather than an ideal size to aim for. But, other than computational convenience, I don't see the value of splitting such a guild into power-of-two-sized subgroups. In fact, my opinion is that people have a tendency to naturally organize themselves into sensibly-sized functional groups. Placing a cap on guild size for social reasons seems in a sense unnecessary: there might be hundreds of members in a guild, but chances are each of the active members is particularly acquainted with a few dozen or so others. The "founding members" will form their own social clique, and later arrivals will naturally form their own social connections within the larger group. On the other hand, perhaps your aim is to ensure every guild is a cohesive unit where everyone knows everyone else quite well. One qualm I have with this is that it might discourage members of larger guilds from forming friendships with non-members; whereas if guilds can be large enough that their members aren't necessarily all expected to know each other, they will feel less pressured to do so. This might seem like a ridiculous concern when a guild is first forming in one of the more socially-oriented games, since presumably its members will choose each other for social potential among other things. But after a guild's been around for quite a while, it can end up acting as a constraint. If, however, a socially cohesive guild is your goal then I would say the size cap should be set much lower than 150. As I said, that figure is an upper bound which the above articles refer to as only appropriate in "survival situations". In other words, a guild does not (with some exceptions) comprise the entire social circle of its members, so an effective cap would have to be set at around a half or third of Dunbar's number. Then again, it depends on what sort of social "feel" you're going for. Group sizes less than about ten feel much more "intimate" and might be better-suited for day-to-day shared activities, if there is an in-game mechanism for temporary "teams" - while the larger guild continues to provide a broader background for social interaction: the difference between a few friends getting together for a drink versus a house party.
  12. Quote:Original post by Wavinator I wonder if it would be art if you simply created a really beautiful level with some modest interactivity?In my mind, most of Kylotan's examples fit into this category, as more generally do many "unchallenging" point-and-click, movement-only, or interactive fiction games: Today I Die, flOw and Cloud, Little Wheel, Coma, Dreamside Maroon... Not all of them are beautifully detailed; flOw, for example, is very minimalist, but still in my opinion aesthetically pleasing in a manner that you wouldn't ascribe to - say - the average first-person shooter. And in all cases, there is little interactivity in the sense of physical or mental "challenge", or impact of player decisions on the game outcome; all of the above creations reminded me more of interactive works of art than "games" in the traditional sense.
  13. Robin S

    Guild/Clan design and social function in MMOGs

    You might find this enlightening. Once you've read it, take a look at the links to other articles at the bottom, above the trackback section - especially the last two. [Edited by - Robin S on August 8, 2010 7:29:22 AM]
  14. With regards to back rooms, under-the-counter deals etc.: I kind of like the idea that as your character's reputation grows, shop owners will be more likely to offer you stuff they wouldn't show most customers - or even arrange to make / obtain something specially for you. However, that still leaves plenty of room for showing other high-level gear that you can't use yet - things which are in some sense run-of-the-mill, but out of your league for the moment.
  15. Robin S

    1D / 10D design Idea!

    What would be fun about playing in 10 dimensions? It is, as you point out, much harder to visualize and while playing in, say, 4D is novel (take the upcoming Miegakure) I think there's a law of diminishing returns by adding much more than that, not to mention the loss of visual feedback due to the inability to display the game area. The 1D idea sounds interesting, although surely to push another player in the "bad" direction you'd need your character to be moving in the bad direction as well?
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!