Source Introduction

Vincent

New Member
  • Name: Vincent Wells
  • Social: https://github.com/VincentWells/
  • From: USA, currently studying computer science at the University of Tulsa
  • Skills / Tools: intermediate experience with Java and Go, as well as many years of experience modelling and rigging in Blender
  • Found via: Heard about Terasology on the Google Summer of Code page
  • Interests: I enjoy coding and animating, so I really like the sound of this GSoC project since it combines elements of both these things. In particular, I think the physics-based combat system implementation sounds very interesting
  • Extra:
    an example animation I made a year ago. Haven't had a chance to finish it what with college and all, but it's a pretty good representation of my Blender-knowledge. Cheers
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Hi @Vincent, nice animation! Stabby! :devil:

We need combat made nicer pretty bad! Have you looked at the related material like the legacy build, original forum thread, and the broken/not quite updated combat branch?

One thing we've talked about from time to time is doing models that support detachment of limbs, which would go well with fancier combat (chopping off limbs and such)
 

Vincent

New Member
Thanks. Yes, I've looked through those things, and tinkered around in the game a bit. I think perhaps the current DoDamageEvent could also include where anatomically the target is hit (obviously, some method to calculate this would also be needed), and then head-hits could be made to do extra damage, and as you suggest limbs could be severed, etc. This system would also work with bows or crossbows, as referenced in the forums, which could also be implemented. Another line of thought this would open up would be various types of armor (helmets, gauntlets, etc.). Another field you mentioned on the forum post was an AI NPC; this sounds quite cool to me (included on my github page is a AI self-solving Pac-man project I made for school last semester). I assume this would be more of a solo-wandering, random-decision mob who attacks people who get close; could you expand a bit on what you envision the AI doing?
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Well, AI is all over the place, really.

We have some fairly basic "dumb" AI in the Miniion/MasterOfOreon system along with gelatinous cubes in the legacy system. Those were just hard coded to do simple things in sequence. Newer we have a nice behavior tree system you've probably come across if you've already been reading up on things :)

The BT system is a GSOC item on its own and allows for much smarter AI that can be customized in-game. Currently that runs the deer's "stray" behavior in WildAnimals and lets the Light & Shadow creatures follow some basic commands. Expansion to better pathing and aggressive combat is on the list there and should be doable. Primarily we just want to make various behavior nodes available and let module authors put AI to work in different types of content.

Light & Shadow is envisioned as a simple tower-defense style gameplay just to get something basic working and playable. The creatures would be coded to by default assault the other side's castle/town, and players could interact with that to some degree.

Even simpler than that would be making more animals with prey/hunter mechanics, and more advanced would include autonomous societies where the NPCs find jobs as needed to better the overall collective. Or Dwarf Fortress style "creature care-taking" where you as a player guide an otherwise autonomous society.

So yeah, the goal with AI is multi-faceted to say the least ... :)

For its relevance to the combat system you'd probably want to stay super simple, maybe not even using the BT system yet (in particular as it is likely to change a lot over the coming months). You really just need enough to make a creature engage in combat if a player gets within a certain range or triggers it otherwise like pelting a distant hostile mob with arrows. We just need enough AI to demo the system.
 

Vincent

New Member
Ah, I see. Yeah, I'm more interested in the combat system than the behavior tree, so as you say, a simple AI after the combat system has been changed sounds like the way to go. I've begun looking through the code in a bit more detail to try and find relevant bits for making attacks hit specific hitboxes; I was wondering, do you keep a list of smaller coding bugs that need to be fixed somewhere, that I could work on to get more familiar with the code?
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Ah, I see. Yeah, I'm more interested in the combat system than the behavior tree, so as you say, a simple AI after the combat system has been changed sounds like the way to go. I've begun looking through the code in a bit more detail to try and find relevant bits for making attacks hit specific hitboxes; I was wondering, do you keep a list of smaller coding bugs that need to be fixed somewhere, that I could work on to get more familiar with the code?
Absolutely! We have a whole category in our GitHub issue tracker just for that purpose :)

https://github.com/MovingBlocks/Terasology/labels/Contributor-friendly
 

Florian

Active Member
Contributor
Architecture
I like that you suggest in your proposal to add a new human character model.

I personally find the aspect of where the character got hit not so important. Alone the character animation offers some challanges. Currently terasology supports MD5 animations. Those animate the whole mesh of an entity. However when you want the player to be able to attack while moving, legs and arms need to be animated separately. In addition to that the head angle should probably be separately animatable to indicate if a character is looking up or down. In addition to that it would be cool if the character would be somehow customizable (to let players identify themself with it) and to have mabe the possible to show optionally armor on characters.

Hit areas are a nice thing, but I think it is a bit to early for it to make it in terasology. and I see them more on boss enemies. Hit areas on players make in my opinion only sense when players have nice characters to fight vs. that have so complex fighting mechanics that it actually make sense to detect a difference.

To give you a bit of insight on how I view your proposal: It is very abstract and doesn't give the impression that you have familiarized yourself with the relevant code already.
 

Vincent

New Member
Thanks for the candid feedback; I think perhaps the character model would be a better area to focus on for now, then, so I'll rework my proposal to be focused on that instead.
 
Top