Trending Games | Guild Wars 2 | Firefall | Rift | Hearthstone

  Network:  FPSguru RTSguru
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Members:2,852,254 Users Online:0
Games:733  Posts:6,226,645
Recent forum postsRSS
Active threads
Cloud view
List all forums
General Forums
Developers Corner General Discussion
Popular Game Forums
Click a status to find game forum
Game Forums
Click a letter to find game forum
2029 Online 2112: Revolution 2Moons 4Story 8BitMMO 9 Dragons A Mystical Land A Tale in the Desert III A3 ACE Online ARGO Online Aberoth Absolute Force Online Absolute Terror Achaea Adellion Aerrevan Aetolia, the Midnight Age Age of Armor Age of Conan Age of Empires Online Age of Mourning Age of Wulin Age of Wushu Aida Arenas Aika Aion Albion Online Alganon All Points Bulletin (APB) Allods Online Altis Gates Amazing World Anarchy Online Ancients of Fasaria Andromeda 5 Angels Online Anime Trumps Anmynor Anno Online Applo Arcane Hearts Arcane Legends ArchLord ArcheAge Archeblade Archlord X Asda 2 Asda Story Ashen Empires Asheron's Call Asheron's Call 2 Astera Online Astonia III Astro Empires Astro Lords: Oort CLoud Asura Force Atlantica Online Atriarch Aura Kingdom Aurora Blade Auto Assault Avatar Star Battle Dawn Battle Dawn Galaxies Battle for Graxia Battle of 3 Kingdoms Battle of the Immortals Battlecruiser Online Battlestar Galactica Online Battlestar Reloaded Beyond Protocol Black Aftermath Black Desert Black Gold Black Prophecy Black Prophecy Tactics: Nexus Conflict Blacklight Retribution Blade & Soul Blade Hunter Blade Wars Blazing Throne Bless Blitz 1941 Blood and Jade Bloodlines Champions Bounty Bay Online Brain Storm Brawl Busters. Brick-Force Bright Shadow Bullet Run Business Tycoon Online CTRacer Cabal Online Caesary Call of Camelot Call of Gods Call of Thrones Camelot Unchained Canaan Online Cardmon Hero Cartoon Universe CasinoRPG Castle Empire Castlot Celtic Heroes Champions Online Champions of Regnum Chaos Online Chrono Tales Citadel of Sorcery CitiesXL Citizen Zero City of Decay City of Heroes City of Steam City of Transformers City of Villains Civilization Online Clan Lord Clash of Clans Cloud Nine Club Penguin Colony of War Command & Conquer: Tiberium Alliances Company of Heroes Online Conquer Online Conquer Online 3 Continent of the Ninth (C9) Core Blaze Core Exiles Corum Online Craft of Gods Crimecraft Crimelife 2 Cronous Crota II Crusaders of Solaris Cultures Online Cyber Monster 2 Céiron Wars
D&D Online DC Universe DK Online DOTA DOTA 2 DUST 514 DV8: Exile Dalethaan Dance Groove Online Dark Age of Camelot Dark Ages Dark Legends Dark Orbit Dark Relic: Prelude Dark Solstice Dark and Light DarkEden Online DarkSpace Darkblood Online Darkest Dungeon Darkfall Darkfall: Unholy Wars Darkwind: War on Wheels Das Tal Dawn of Fantasy Dawntide DayZ Dead Earth Dead Frontier Deco Online Deepworld Defiance Deicide Online Dekaron Demons at the Horizon Desert Operations Destiny Diablo 3 Diamonin Digimon Battle Dino Storm Disciple Divergence Divina Divine Souls Dofus Dominus Online Dragon Ball Online Dragon Born Online Dragon Crusade Dragon Empires Dragon Eternity Dragon Nest Dragon Oath Dragon Pals Dragon Raja Dragon's Call Dragon's Call II Dragon's Prophet DragonSky DragonSoul Dragona Dragonica Dragons and Titans Dream of Mirror Online Dreamland Online Dreamlords: The Reawakening Drift City Duels Dungeon Blitz Dungeon Fighter Online Dungeon Overlord Dungeon Party Dungeon Rampage Dungeon Runners Dynastica Dynasty Warriors Online Dynasty of the Magi EIN (Epicus Incognitus) EVE Online Earth Eternal Earth and Beyond Earthrise Eclipse War Ecol Tactics Online Eden Eternal Edge of Space Einherjar - The Viking's Blood Elder Scrolls Online Eldevin Elf Online Elite: Dangerous Embers of Caerus Emil Chronicle Online Empire Empire & State Empire Craft Empire Universe 3 EmpireQuest Empires of Galldon End of Nations Endless Ages Endless Blue Moon Online Endless Online Entropia Universe EpicDuel Erebus: Travia Reborn Eredan Eternal Blade Eternal Lands Eternal Saga Ether Fields Ether Saga Online Eudemons Online EuroGangster EverEmber Online EverQuest Next EverQuest Online Adventures Evernight Everquest Everquest II Evony Exarch Exorace F.E.A.R. Online Face of Mankind Fairyland Online Fall of Rome Fallen Earth Fallen Sword Fallout Online Family Guy Online Fantage Fantasy Earth Zero Fantasy Realm Online Fantasy Tales Online Fantasy Worlds: Rhynn Faunasphere Faxion Online Ferentus Ferion Fiesta Online Final Fantasy XI Final Fantasy XIV: A Realm Reborn Firefall Fists of Fu Florensia Flyff Football Manager Live Football Superstars Force of Arms Forge Forsaken World Fortnite Fortuna Forum for Discussion of Everlight Freaky Creatures Free Realms Freesky Online Freeworld Fung Wan Online Furcadia Fury Fusion Fall
GalaXseeds Galactic Command Online Game of Thrones: Seven Kingdoms Gameglobe Gate To Heavens Gates of Andaron Gatheryn Gauntlet Gekkeiju Online Ghost Online Ghost Recon Online Gladiatus Glitch Global Agenda Global Soccer Gloria Victis Glory of Gods GoGoRacer Goal Line Blitz Gods and Heroes GodsWar Online Golemizer Golf Star GoonZu Online Graal Kingdoms Granado Espada Online Grand Chase Grand Fantasia Grepolis Grimlands Guild Wars Guild Wars 2 Guild Wars Factions Guild Wars Nightfall H1Z1 Habbo Hotel Hailan Rising HaloSphere2 Haven & Hearth Hawken Hearthstone: Heroes of Warcraft Helbreath Hellgate Hellgate: London Hello Kitty Online Hero Online Hero Zero Hero's Journey Hero: 108 Online HeroSmash Heroes & Generals Heroes in the Sky Heroes of Bestia Heroes of Gaia Heroes of Might and Magic Online Heroes of Thessalonica Heroes of Three Kingdoms Heroes of the Storm Hex Holic Online Hostile Space Hunter Blade Huxley Illutia Illyriad Immortals USA Imperator Imperian Inferno Legend Infestation: Survivor Stories Infinite Crisis Infinity Infinity Iris Online Iron Grip: Marauders Irth Worlds Island Forge Islands of War Istaria: Chronicles of the Gifted Jade Dynasty Jagged Alliance Online Juggernaut Jumpgate Jumpgate Evolution KAL Online Kakele Online Kaos War Karos Online Kartuga Kicks Online King of Kings 3 Kingdom Heroes Kingdom Under Fire II Kingdom of Drakkar Kingory Kings and Legends Kings of the Realm KingsRoad Kitsu Saga Kiwarriors Knight Age Knight Online Knights of Dream City Kothuria Kung Foo! Kunlun Online L.A.W. LEGO Universe La Tale Land of Chaos Online Landmark Lands of Hope: Phoenix Edition LastChaos League of Angels League of Legends - Clash of Fates Legend of Edda: Vengeance Legend of Golden Plume Legend of Katha Legend of Mir 2 Legend of Mir 3 Legendary Champions Lego Minifigures Online Life is Feudal Light of Nova Lime Odyssey Line of Defense Lineage Lineage Eternal: Twilight Resistance Lineage II Linkrealms Loong Online Lord of the Rings Online Lords Online Lost Saga Lucent Heart Lunia Lusternia: Age of Ascension Luvinia World
MU Online Mabinogi Maestia: Rise of Keledus MagiKnights Magic Barrage Magic World Online Manga Fighter MapleStory Martial Heroes Marvel Heroes Marvel Super Hero Squad Online Marvel: Avengers Alliance MechWarrior Online Megaten Meridian 59 : Evolution Merlin MetalMercs Metaplace Metin 2 MicroVolts Midkemia Online Might & Magic Heroes: Kingdoms MilMo Minecraft Mini Fighter Minions of Mirth Ministry of War Monato Esprit Monkey King Online Monkey Quest Monster & Me Monster Madness Online MonsterMMORPG Moonlight Online: Tales of Eternal Blood Mordavia Mortal Online Mourning My Lands Myst Online: URU Live Myth Angels Online Myth War Myth War 2 Mytheon Mythic Saga Mythos N.E.O Online NIDA Online Nadirim Naviage: The Power of Capital Navy Field Need for Speed World Nemexia Neo's Land NeoSteam Neocron Nether Neverwinter Nexus: The Kingdom Of The Winds NinjaTrick NosTale Novus Aeterno Oberin Odin Quest Odyssey RPG Ogre Island Omerta 3 Online Boxing Manager Onverse Order & Chaos Online Order of Magic Original Blood Origins Return Origins of Malu Orion's Belt Otherland Forums OverSoul Overkings Oz Online Oz World Pandora Saga Pantheon: Rise of the Fallen Panzar Parabellum Parallel Kingdom Parfait Station Path of Exile Pathfinder Online Perfect World Perpetuum Online Phantasy Star Online 2 Phantasy Star Universe Phoenix Dynasty Online Phylon Pi Story Picaroon Pirate Galaxy Pirate Storm Pirate101 PirateKing Online Pirates of the Burning Sea Pirates of the Caribbean Online Pixie Hollow Planeshift Planet Arkadia Planet Calypso PlanetSide 2 Planetside Planets³ Playboy Manager Pocket Legends Pockie Ninja Pockie Pirates Pockie Saints PoxNora Prime World Prime: Battle for Dominus Priston Tale Priston Tale II Prius Online Project Blackout Project Powder Project Titan Forums Project Wiki Puzzle Pirates Quickhit Football
R2 Online RAN Online RF Online ROSE Online Rage of 3 Kingdoms Ragnarok Online Ragnarok Online II RaiderZ Rakion Rappelz RappelzSEA Ravenmarch Realm Fighter Realm of the Mad God Realm of the Titans Realms Online Reclamation Red Stone Red War: Edem's Curse Regnum Online Remnant Knights Renaissance Repulse Requiem: Memento Mori Rift RiotZone Rise Rise of Dragonian Era Rise of Empire Rise of the Tycoon Rising of King Risk Your Life Rivality Rockfree Rohan: Blood Feud Role Play Worlds Roll n Rock Roma Victor Romadoria Rosh Online Roto X Rubies of Eventide Ruin Online Rumble Fighter Runes of Magic Runescape Rust Rusty Hearts Ryzom S4 League SAGA SD Gundam Capsule Fighter Online SMITE SUN Sagramore Salem SaySayGirls Scarlet Blade Scions of Fate Seal Online: Evolution Second Life Secret of the Solstice Seed Serenia Fantasy Seven Seas Saga Seven Souls Online Sevencore Shadow of Legend Shadowbane Shadowrun Online Shaiya Shards Online Shattered Galaxy Sho Online Shot Online Shroud of the Avatar SideQuest Siege on Stars Sigonyth: Desert Eternity Silkroad Online Skyblade Skyforge SmashMuck Champions Smoo Online Soldier Front Soul Master Soul Order Online Soul of Guardian Space Heroes Universe Sparta: War of Empires Spellcasters Sphere Spiral Knights Spirit Tales Splash Fighters Squad Wars Star Citizen Star Sonata 2 Star Stable Star Supremacy Star Trek Online Star Trek: Infinite Space Star Wars Galaxies Star Wars: Clone Wars Adventures Star Wars: The Old Republic StarQuest Online Stargate Worlds Starlight Story Starpires State of Decay SteelWar Online Stone Age 2 Stormfall: Age of War Storybricks Stronghold Kingdoms Sudden Attack Supremacy 1914 Supreme Destiny Sword Girls Sword of Destiny: Rise of Aions SwordX Swords of Heavens Swordsman
TERA TS Online Tabula Rasa Tactica Online Tales Runner Tales of Fantasy Tales of Pirates Tales of Pirates II Tales of Solaris Talisman Online Tamer Saga Tank Ace Tantra Online Tatsumaki: Land at War Terra Militaris TerraWorld Online Thang Online The 4th Coming The Agency The Aurora World The Black Watchmen The Chronicle The Chronicles of Spellborn The Crew The Division The Hammers End The Legend of Ares The Lost Titans The Matrix Online The Mighty Quest for Epic Loot The Missing Ink The Mummy Online The Myth of Soma The Pride of Taern The Realm Online The Repopulation The Secret World The Sims Online The Strategems The West Theralon There Therian Saga Thrones of Chaos Tibia Tibia Micro Edition Tiger Knight Titan Siege Titans of Time Toontown Online Top Speed Topia Online Torchlight Total Domination Transformers Universe Traveller AR Travia Online Travian Trials of Ascension Tribal Hero Tribal Wars Tribes Universe Trickster Online Trove Troy Online True Fantasy Live Online Turf Battles Twelve Sky Twelve Sky 2 Twilight War Tynon U.B. Funkeys UFO Online URDEAD Online Ultima Forever: Quest for the Avatar Ultima Online Ultima X: Odyssey Ultimate Naruto Ultimate Soccer Boss Uncharted Waters Online Undercover 2: Merc Wars Underlight Unification Wars Universe Online Utopia Valkyrie Sky Vampire Lord Online Vanguard: Saga of Heroes Vanquish Space Vector City Racers Vendetta Online Victory - Age of Racing Vindictus Virtonomics Vis Gladius Visions of Zosimos VoidExpanse Voyage Century Online W.E.L.L. Online WAR (Warhammer Online) WAR2 Glory WYD Global Wakfu War Thunder War of 2012 War of Angels War of Legends War of Mercenaries War of Thrones War of the Immortals WarFlow Waren Story Wargame1942 Warhammer 40,000: Eternal Crusade Warhammer 40K: Dark Millennium Online Warhammer Online: Wrath of Heroes Warkeepers Warrior Epic Wartune WebLords Wild West Online WildStar Wind of Luck WindSlayer 2 Wings of Destiny Wish Wizard101 Wizardry Online Wizards and Champions Wonder King Wonderland Online World Golf Tour World of Battles World of Darkness World of Heroes World of Kung Fu World of Pirates World of Speed World of Tanks World of Tanks Generals World of Warcraft World of Warplanes World of Warships World of the Living Dead WorldAlpha Wurm Online Xenocell Xiah Xsyon Xulu YS Online Yitien ZU Online Zentia Zero Online Zero Online: The Andromeda Crisis Zodiac Online Zombies Ate My Pizza eRepublik Discussion Forums

Developers Corner

Developers Corner 

MMORPG Game Concepts  » I'd like to co-design a game...

7 Pages « 1 2 3 4 5 6 7 » Search
135 posts found

Elite Member

Joined: 12/05/13
Posts: 616

OP  12/17/13 7:47:48 PM#101
I was intending the pets to be assembled using mount points and bone animation, just like armor is put on characters.  For example, all heads have a neck mount point, all necks have a head mount point, you just match the two up.  There are only two base leg shapes (knee bends forward vs hock bends backward) and one animation set for each; each of these legs again has a hip mount point, and each body half has a 1-3 hip mount points, allowing for up to a 6-limbed creature like a winged animal (bodies are mirrored for symmetricality).  Bodies also have a neck mount point and a tail mount point.  Necks have 2 crest mount points, heads have a horn mount point (which can be used for any number of horns modeled as one object).  So, I think it's not as difficult as it looked to you at first glance?  Assembling a pet should be directly equivalent to taking a cloak with its own rippling animation and sticking it on a character's cloak-mount point, then sticking shoulder pads on over top that move along with the character's shoulders.  But the number of possible combinations is more like ~100,000 so it would be flatly impossible to make them all ahead of time. o.O
  User Deleted
12/17/13 8:09:07 PM#102

I understand up to the point where animation comes in.  I've seen mounted objects animate, but never synchronized with a host as a component of a larger object*.  That's over my head.  Not that it's unworkable, just that I get lost on the abstraction of how.


Yeah, 100,000 combinations would be a bit much to pre-make.


* possible correction:  Is that how cloaks commonly work?  Mounted, animated, and synchronized animation fires when parent object animates?  I've only ever seen them done with mesh hiding where the cloak was built into the model, hidden or unhidden and then textured.



Elite Member

Joined: 12/05/13
Posts: 616

OP  12/17/13 8:31:27 PM#103

Cloaks can be done as a hidden permanent mesh but if they are it highly restricts cloak shapes.  If you see a game with a big variety of cloak shapes they are animated separately.  A better example is a helmet with a crest of horsehair or feathers; this is not a standard part of any normal MMO character model.  The crest object has one or more built in animations.  If there's only one it can be permanently on, otherwise there is an animation controller object for the whole character which has code like "If there's a helmet crest, turn rippling on now, otherwise do nothing."  For animations that really respond to what the body is doing, that's more complicated and resource-consuming because you have to use the game's physics engine; typically it uses a rope physics module that comes with the engine.  A cloak is like a wide flat rope, or you can pretend it has a rope at each edge and hang the plane of the cloak between them.

This would probably be easier to understand if I drew a picture...



Joined: 12/11/08
Posts: 13319

12/17/13 8:34:47 PM#104

There's no reason why you have to draw an entire character all in a single pass.  You can draw one leg, then the other, then an arm, then a hand, and so forth.  Or even break it up further than that.  You do whatever makes sense for the way you want to animate things.

You don't have to synchronize animations over a network.  All that needs to be synchronized is the character's main position, velocity, direction facing, which attack is in use, and things like that.  If one player sees a character as having his right foot in front of his left and another sees the character the other way around, so what?

  User Deleted
12/17/13 9:49:00 PM#105

I sort of get it, maybe.


Simplest example I can think of would be a quadrapedal pet consisting of torso and four legs on mount points (ignoring neck head for simplicity).


Assuming torso is parent, client fires torso into walk1.    Walk1 animation on torso is 24 frames and lasts 1 second.  Client system in turn fires all of torso's child objects (the 4 legs) into walk1 frame 1.  Animation progresses on each for 1 second with the legs staying in sync based on time.


With this, any set of legs could be used as long as any possible leg has walk1 at 24 frames?


I've never gotten this low level in animation handling.  Closest I've done is detect that a character is touching ground, checking direction facing and direction moving, and then firing an appropriate full body animation based on results.  Objects on mount points were limited to helmet and weapons, and none animated so there was no animation sequence to trigger.


  User Deleted
12/17/13 10:05:35 PM#106
Originally posted by sunandshadow

 For animations that really respond to what the body is doing, that's more complicated and resource-consuming because you have to use the game's physics engine; typically it uses a rope physics module that comes with the engine.  A cloak is like a wide flat rope, or you can pretend it has a rope at each edge and hang the plane of the cloak between them.

This would probably be easier to understand if I drew a picture...


No need, that makes sense.  Mesh hiding and bones, or mounted and animated with physics is pretty clear.  We had cloth simulation in CGI back when I worked with it.  I didn't realize game engines were doing this now.



Elite Member

Joined: 12/05/13
Posts: 616

OP  12/18/13 3:21:40 PM#107

What happened to everyone else who was posting here?  No opinions or suggested changes on that concept document?

@ZombieKen and @Quizzical After thinking it over I think the monster's AI should not be inside the torso; it doesn't correspond to which shape torso the monster has or anything, and in the case of a monster being used as a mount the whole monster would be slaved to the player's avatar.  What I think is that this type of monster is basically a marionette.  The monster's AI is the off-screen control unit for all the monster's parts.  The AI... I don't know whether it would be correct to call it a state machine or say that it includes a state machine plus other bits, or what... but it would work like this:

The monster spawns into the world based on that location's data about what parts and colors and stats to give the monster, and when and where to spawn one.  Monsters are spawned in "wander" mode, which is the mode where they roam around and attack players who draw their aggro.  They can also be the targets of quest-related non-hostile actions, like applying medicine to a plagued monster.  So in wander mode the monster starts knowing where it is and which direction it is facing, and will have some kind of territorial limit on its wandering.  I don't care whether we bother giving a monster the ability to interact with other monsters, the way predators in games sometimes kill and eat bunnies, etc.  Or some games have two monsters of the same species greet each other.  Or a monster can sit or lay down and rest in between roaming.  That's all icing, I don't personally care about it.  The important bit is, the monster can decide if it is standing still or walking.  Standing still is actually an animation, an idle animation, and would be the one used in tactical combat when it is not the monster's turn to act.  An idle cycle could include pawing the ground, moving the head to look around, shaking the head to show off crest or horns, or swishing the tail.

Walking, the AI has a direction and a speed, and that's what it sends to the body parts, or sends through the torso to the other body parts; I'm not sure it matters.  When the AI decides to start walking it tells the torso if it needs to change direction (and take the other body parts with it).  It tells the torso to be in walking position, which means level to the ground and the same height above the ground as the length of the legs.  After adjusting the torso if necessary, the AI tells the legs to start going through their walk cycle, and they keep doing that until told to do something different.  At the same time it tells the neck would start its bobbing cycle that matches the walking gait, and the tail to start its swaying cycle that matches the bobbing gait.  The monster would keep walking in a straight line until the AI received a stimulus that told it to do something different.  The stimulus could be an internal decision that it was time to stand still (or do an icing action like sit or lay).  It could be an internal realization that it was at the edge of the allowable wandering territory and needed to turn and walk a different direction.  It could be an external stimulus like a player entering the monster's field of notice.  It could be an icing stimulus like another monster entering the monster's field of notice.  Or it could be a direct attack from a player.  The monster would have a set of reactions to these stimuli, and start doing the appropriate one.  It could have a "suspicious" mode where it stands still but follows a player with it's head (watching suspiciously).  It could have a "flee" mode if that's a possible action for monsters in this world (tends to be an annoyance to players).  And of course it has a "realtime combat" mode.

When combat mode is triggered, the AI assigns aggro values to any players within range (including for attacks the monster has just received) and focuses on the player with the highest aggro value, or if two are equal, the nearer one.  The AI directs the monster to stand at the appropriate distance from that player depending on whether it has a ranged attack or only melee.  The AI also directs the monster to face that player.  Then the AI chooses an attack (or tells the body to flinch or get knocked back when hit, as appropriate to the hit).  There are a library of standard attack animations for all monsters, though they can only use the ones appropriate to their combination of body parts.  For example there would be a "box player's ears with wings" attack only usable by winged monsters.  Pretty much all monsters would have a "bite" attack and a "claw" attack.  For specific monsters the effectiveness and potential to cause status ailments or any attack would be based on the monster's stats; different attacks would check different stats.

Finally the player would kill or capture the monster, and the AI would again direct the monster to move appropriately.  (Or we could have players always kill the monster and sometimes loot an egg instead of directly capturing a monster.)

What do you think?  There would have to be different AI stuff for using the monster as a mount or in tactical combat, of course.

  User Deleted
12/18/13 4:11:54 PM#108

I've given this some thought myself, not in your detail, but on heirarchy (spelling?).


I parallel the snap together design with skeletal structures used in CG characters.


In some systems, hip is the basis for all animation, in that it has a world unit transform and rotation, and all other parts of the skeleton are located, not in world units, but in units relative to hip.  Move the hip, move the character.

It looks like this:


In other systems there is an invisible object called a 'root node', which sits on the ground when the model is at stasis (not bouncing).  There is a bone (invisible) from the root node to the hip.

Where the yellow dot is on this drawing would be the root node at terrain height.



While the difference might not seem obvious, there are two big advantages.  First, placing the model on the ground becomes trivial since all one has to do is put the root node at 0.01 elevation above terrain.  Second, scaling the bone to the hip allows the model to be adjusted up and down based on leg length, so that feet don't push through the ground assuming that the ground is flat (or nearly flat).


As for animation selection on movement, the easiest I've found is to check direction facing, direction moving, ground contact (are we running or jumping/falling) and velocity (are we walking, running, or moving so slowly that we don't need to animate), and then have the client display appropriate animation.


As for animation driven by AI, when AI wants an animation it sends an override from server to client.  If client animation is "idle" then display the override.  If client animation is walking / running / flying / swimming then there's a design choice.  Either play the override animation knowing that character will be skating, or skip the animation completely.


In my work I don't have attack while running animations, so I skip combat animation if character is moving, as it looks disruptive.   I've seen some animation systems that override upper body while leaving lower body running.  No clue as to how these work, since what I have to work with cannot mix animations upper / lower body.


  User Deleted
12/18/13 4:31:51 PM#109

Rather than splicing multiple topics in one post, I'm using multiple posts, hoping this will improve readability and keep topics from getting mixed together.  I hope this is okay, if not, please shout.


Your description of combat AI matches quite closely what I've done in the past.


Maintain sorted aggro list, top down most to least

Set target to top of aggro list.

Engage follow function to move self's 'mob' object (datablock on server) toward target.

If obstructed or target unreachable, either select other target or walk home (like WoW's evade).

Check current distance against attack range for both ranged (if any) or melee (all mobs have melee).

If within attack distance, stop follow function and start attack.

If self has spells, run mob.think() to see if we want to cast spells(buffs, heals) on friendly targets or self.

If dead, mob.die()

If no target or target.isDead() then resort aggro and select target, or walk home (like WoW's evade)



In reference, the way I understand and define "mob" is "mobile", anything that moves has a "mob" object.  This object exists on the server as master, and is ghosted to each client that has the object within scope.


For example, a player character has a mob object, an NPC has a mob object, a monster has a mob object.  Since all 3 move in world space.  A building or a tree would not have a mob object.



Elite Member

Joined: 12/05/13
Posts: 616

OP  12/18/13 4:40:23 PM#110

The root node at terrain height might have disadvantages.  What happens if your humanoid sits down, changing the distance between the model's center of gravity and the terrain?  Or what if a horse-like monster rears up as part of an attack?  What if your the monster is a flying mount in between islands, where is the terrain?  How about swimming, you want the player to swim in a straight line regardless of if the sea floor is bumpy.

As far as separating upper body animation from lower body animation, I think this is an important ability.  Attacking while moving is nice, but more importantly when the player is mounted the mount basically replaces the player's lower body; the remaning graphics of player legs are only ornamental, the player is now running with the mount's legs.  And mounted combat is awesome (and convenient, and contributes to verisimilitude when your mount doesn't disappear somewhere as soon at a monster takes a swipe at you).


Elite Member

Joined: 12/05/13
Posts: 616

OP  12/18/13 4:58:00 PM#111

I have no objection to separating conversation topics into different posts, though there's a small danger I'll miss seeing one.  If there is one you want a response to, and I don't respond to it, just point that out to me.

My AI design is probably a bit more sim-like than yours; it has to handle the motor control of the several body parts the way the non-conscious part of the human brain does, in response to decisions about what to do from the conscious part.  And those motor controls need to be available in 4 distinctly different situations which have different 'conscious' AI: monster roaming and fighting in the world, monster as pet in the player's estate, monster as unit in tactical combat, and monster as mount attached to players body and slaved to player's movement commands.  But yes other than that it's quite similar.  It's also nice to allow for different "personalities" of monster AI within a game; some of the most interesting monsters in WoW are ones that retreat to an ally then attack together, or come when an ally calls to attack together.  In tactical combat there's a big difference between monsters that dart in to attack and back out again so you can't counter-attack, vs. monsters that just stand next to you and possibly try to trap you next to them, vs. monsters that shove you back and possibly knock you into traps or deal you extra damage by bouncing you off an obstacle.

As far as "mobs", although I never really liked that particular term, it seems fairly functional.  There would be degenerate cases of "mobile" of course, like a plant monster tied to the ground but can pivot, or a wall monster which can't move or pivot, just reach out with limbs or ranged attacks.  But whatever, any term will do as long as everyone knows what it means.

  User Deleted
12/18/13 5:08:15 PM#112

Agreed on the first paragraph.  Best I can say is "I don't know how that would work", given replaceable legs.  I've only ever seen and worked with this where root node and skeleton were animated all as one.  They can sit, run, jump, and do complex motions with no problem, because all the math was pre-calculated in the animation sequence.


Splitting animation upper / lower, pretty much the same thing for the same reasons.  I've seen it done, so it is possible.  I only guess that upper body and lower body have animations stored separately or somehow different animations are combined on the fly as needed.


Swimming that I've seen is just like flying, except underwater and using different physics.  No ground contact needed.  I've done both WoW-style hover swimming and physics swim with momentum and water-drag.  Animation in these is simple.  It's pretty much either swim or swimidle depending on velocity.  Location is determined by something like (thrust + (momentum - drag)) with a buoyancy that works like reverse gravity.



Advanced Member

Joined: 3/30/07
Posts: 1416

C'est la vie.

12/18/13 5:13:47 PM#113

Been looking into the md5mesh and md5anim formats a bit since I saw this discussion, they seem fairly logical and relatively easy as far as animations go.

Here's a decent tutorial on how to possibly implement a basic skeletal animation engine with those formats, it's a long read with lots of math but seems to explain fairly well on how the whole meshes, skeletons and animation business could possibly work.

As far as some of the ideas mentioned here I believe they could also be implemented in this format.

If you have multiple md5mesh files that do feature the exact same skeleton it should be entirely possible to swap out sections of meshes to generate new variations. You'd have to pin-down exactly which vertices compose an arm, leg or other body part which could be troublesome but once you've got that you should be able to start creating new variants through random swaps.

running different animations on different parts of the model should likewise be possible. You'd simply have to determine which joints belong to the upper-body and which to the lower-body and you could merge animations based on that. Simply take the frames applying to upper-body joints from the first and the frames applying to lower-body joints from the second.

We are the bunny.
Resistance is futile.
( o.o) ( o.o) ( o.o)

  User Deleted
12/18/13 5:29:02 PM#114
Originally posted by sunandshadow

[...] And those motor controls need to be available in 4 distinctly different situations which have different 'conscious' AI: monster roaming and fighting in the world, monster as pet in the player's estate, monster as unit in tactical combat, and monster as mount attached to players body and slaved to player's movement commands.


I see that as a state machine with 4 modes (or maybe overlapping states).  I've only worked with this loosely using multiple flags,  mob.attacking = False, mob.attacking = True, = None, = True (a boolean test to see if mob has a target assigned), etc.


The server tests for state then runs AI as needed.  In the way mine is setup, this isn't as clean as it should be so there ends up being multiple checks to figure out what is going on.  (Mine doesn't always work well, I've had bugs where a mob would 'home' and get back to home and not switch state properly, so it stood there twitching as the AI freaked out until a GM killed it forcing it to reset.  *sigh*)


I've never seen a player riding a mob as mob mounted to player.  What I've seen is that player mounts to mob, then player controls drive mob like a vehicle.  No clue how this would work with mounted player combat, as that too is something I've never worked with.  Only mounted combat I've done is weapons on a vehicle that player is driving, so that's vehicle combat, not player combat (at least that's how it seems to me).


  User Deleted
12/18/13 5:52:01 PM#115
Originally posted by gobla

Been looking into the md5mesh and md5anim formats a bit since I saw this discussion, they seem fairly logical and relatively easy as far as animations go.


Any information on what engines natively support this model / animation format?


I tried looking up md5, but there's a hash algo by the same name, so digging up info on it wasn't effective.



Elite Member

Joined: 12/05/13
Posts: 616

OP  12/18/13 6:39:19 PM#116

I see mobs as vehicles with invisible drivers, I guess.  It's easy to imagine a haunted car or something as a monster, or maybe a robotic car as a peaceful NPC, driving slowly around town by itself.

Anyway I decided to make a diagram of how I see the monster parts plugging together.  It needs more body shape and neck shape examples to really get the picture across clearly.  But basically the bright red parts are the ones that actually get animated, the dark red parts are just the "polygon flesh" passively stuck to the moving parts.  If anyone is colorblind, the parts I'm referring to as bright red are the circles in the hips, shoulders, skull, and other bones in upper and lower jaw, wing bones, and leg bones (including the foot base triangle which is actually green, sigh).

mix-n-match monster body parts system

  User Deleted
12/18/13 7:18:08 PM#117

Just an observation.  I am of the opinion that the inclusion of mounted combat on top of an already complex character system, qualifies as sufficient to bump classification of the complexity level of programming work needed from moderate to high.


I'm not implying that mounted combat shouldn't be included, nor is this observation is an indication that the design isn't of value.  It looks like a cool game.  But damn, these are some heavy-duty mechanics, at least from my perspective.




Novice Member

Joined: 5/01/13
Posts: 287

12/18/13 7:19:35 PM#118

This thread is getting a little hard to keep track of all the different topics being discussed, so only a suggestion...

How about we move this thread to another forum somewhere that will allow different topics to be kept separate. There are free forums out there that we could use for now, until we get a web site up and running with its own forum!


Elite Member

Joined: 12/05/13
Posts: 616

OP  12/18/13 7:45:20 PM#119
@zombieken I think the complexity of mounted combat depends on the combat type.  If it's spellbar/cooldown/autotargeting then mounts would have basically no effect on combat aside from changing the character's looks, because combat takes place exclusively with weapons held in the hands or spells cast through the hands.  (Taurens have a hoof stomp or something, but that could easily be converted to an attack that doesn't use the lower body.)  It would have to be a design choice whether mount speed bonuses applied during combat.  On the other hand if the combat were like Vindictus, an action/arcade style where the player has to aim, that would be impossible while mounted.  Or if shapeshifting were a major part of the character abilities in a game, that would probably replace a mount system entirely.  Perfect World is an example of a WoW-clone which has flying mounted combat, it's rather cool.  But not OMG MUST HAVE.  I just personally hate getting hit while mounted and my mount vanishes; I always found that immersion-damaging.
  User Deleted
12/18/13 8:08:43 PM#120
Originally posted by sunandshadow
@zombieken I think the complexity of mounted combat depends on the combat type.


Ditto, I agree.  I was thinking of Mortal Online's shooting a bow, while riding a horse, with aimed shot, in first person view.  It's pretty much the only mounted combat system I've seen.


The thought of that on top of 100,000 variations of snap-together mounts...  well, just sort of scared me.


7 Pages « 1 2 3 4 5 6 7 » Search