• Advertisement

Nemox

Member
  • Content count

    11
  • Joined

  • Last visited

Community Reputation

119 Neutral

About Nemox

  • Rank
    Member
  1.   i find that event processing is usually easiest handled at the time it occurs, where it occurs. this avoids the need to store events and process them later, or use messaging systems or "event handlers" and such.  although there are some events which are best stored and processed later all at once.   so for example, in the code that adds an item to the inventory, your invetory.add_item() method, you'd add a check like:   if (item==SWORD_ULTRA_BADNESS) message("You got the sword of ultra badness!");   generally speaking, storing data when you can just process it now is probably inefficient, overkill, and over-engineering.   however, i suspect we (gamedevs) all tend to over-engineer things a bit.     Indeed, but there are some things I will definitely need it for.  For example, if a character has a passive special ability that lets him instantly attach to walls and climb up them, I'd much rather that work based off an event rather than having to hard-code it into the controls and have to handle it for every individual character.
  2. Thanks for the posts!  I'm sure this will be super helpful! 
  3. So a major part of what I'm going to be coming up on is making things happen at certain times based on what's going on, but I haven't the slightest idea about how to catch stuff.   For example, I might need to have something happen when the player equips an item.  I've modded some games where I've seen functions like OnEquip, OnDrop, OnPickup, etc.  But some unrelated script will pick up on it somehow.   Can anyone enlighten me on this?  I'm using C#, by the way.
  4. I figured out a very simple solution that I can't believe I missed before.   I can simply have different stat types with their own typed methods for de/buffing them, and accomodate this through my StatusEffect class/struct!  No complex interfacing necessary.   So like, I can have: StatusEffect: FloatStat   mass +1 VectorStat   centerOfBuoyancy  -Vector3.down BoolStat   underwaterBreath   false     I suppose my main issue now is deciding how I want to set up my stats for different types of entities.  I thought about having them be "plugin" types of things.  Like, a ninja and a car both have some degree of Strength, but a car doesn't have Wisdom.  'n' such.  But this does bring about some issues regarding consistency.
  5. I've just learned of Interfaces, and I think I'm trying to do something similar.  I'm not exactly sure what the deal is with semantic types, but I know a few basic things.   I've got (let's say 3) types of stats:  Floats, Vectors, and Bools.  I'll need to make a Property within the stat that gets/sets the stat's value based on type.  How does one go about implementing this?
  6.   Ahhh, this makes a lot of sense!  I'll still have to do some reading and swish it around in my tiny brain for a bit, but this may very well be the solution I'm looking for.
  7. Hmm...  Maybe what I need at this point is a way to reference stats as a list, but to override the property in subsequent classes.   For example: Entities have Mass and Density stats. Characters have those [i]and[/i] Agility and Wisdom stats.   The AddBuff() function of an Entity would list { Mass, Density }. But when called on a character (even when referring to its base Entity class), it should return { Mass, Density, Agility, Wisdom }.   Is there some way to do that instead?  Is that what override functions are for?
  8.   Yeah, that's the easy part.  The hard part is when it comes to other types of variables like Vectors or Bools and searching for the proper stats to modify.
  9. So I've got an idea of how I want to handle stats in my RPG, but I'm not sure if I can implement it this way.  I'm using C# in Unity.   All entities in my game have some physical properties which can be modified.  This is stuff like mass, density and the like.  Just as any other statistic, I want to be able to modify this with various (de/buffs).  For example, an object that suddenly gets heavier will have its mass buffed.   So every entity needs the ability to be de/buffed without having its base stat values messed with, and every stat needs a minimum and maximum value that the buffs can't exceed.     Specific types of entities such as characters have special stats like Agility or Willpower and junk.  These are straightforward enough.   But when it comes to things like vitals (health/energy), there's some issues.  Some characters can have vitals other characters can't.  (Like Death Knights in WoW having Runic Power, Warlocks having Demonic Fury, Mages Warlocks and Priests having Mana, etc.)     So when I'm buffing an entity, I have to check whether the entity has any of these stats to buff in the first place.  And another thing to keep in mind is other types of stats that may need altering without messing with the base value; Vector3s like center of mass and buoyancy, bools like whether or not a character can breathe or fly, etc.   How can I handle all these different stats in a generic manner?  Is it a lost cause?
  10. Types of Character Controllers?

    I have been using a rigidbody with capsule collider to relative success, but to know what ground a character is standing on, I've had to rely on keeping statistics on every surface the character is colliding with, then I'd create a composite normal out of all ground-angled normals. It works relatively well, but it feels heavy and messy, and still has its own pitfalls. Yet I see other games which seem much more simplistic when I play with them, and I want to achieve similar levels of elegance.
  11. So I've made a ton of attempts at creating my ideal character controller, and I've got something at least functional. But it's messy and feels rather heavy-handed in many cases. But rather than go into detail about all my trial and error, I'd like to learn as a blank slate about what other people do. What types of character controllers are out there? What shape are they, and how many raycasts do they rely upon? How flexible are they and what pitfalls do they have? Are there some good rigidbody designs, or do most require manual interaction with physics? Is the standard capsule collider a poor choice, or is it workable? UDK's looks interesting but I haven't figured out how to start analyzing it yet. Your input would be most appreciated. ADDENDUM: I suppose what I'm most lost on is how to best determine what the normal of the ground is a character is standing on. There can be many influences, but how to know what to choose?
  • Advertisement