Jump to content

===[TASK]=== Hippo


Micket
 Share

Recommended Posts

On 4/11/2020 at 7:21 PM, Stan` said:

@Nescio I need some suggestions for the template

 The name is correct (Hippopotamus amphibius); the template name ought to fauna/hippopotamus.xml, not hippo. (Also, fauna_rhino.xml should to be renamed to fauna_rhinoceros_white.xml, separately.)

For the footprint, see what looks good. (And avoid trailing zeros.)

For the stats that actually matter, it's important to realize the following:

  • adult hippopotamuses weigh c. 1500 kg, therefore lots of meat and health
  • skin is 6 cm thick; perhaps raise armour (cf. rhinoceros)
  • they're faster than they look; in water up to 8 km/h, on land they can gallop up to 30 km/h; during the night they move up to 15 km inland to eat (thanks, Wikipedia), therefore higher speed multiplier than 0.3
  • they are very aggressive, territorial, and unpredictable; in terms of human casualties, they're far more dangerous than crocodiles, lions, rhinoceroses, etc. (though nowhere near mosquitos); <Entity parent="template_unit_fauna_wild_aggressive"> is certainly appropiate
  • their teeth can be up to 50 cm; thus high-damage attack
  • <MaxRange> ought to be footprint + 1, rounded up

Having any additional animal in game is always great, but this one is really appropiate for 0 A.D. Hippopotamuses used to live in Egypt, and occassionally destroyed entire villages overnight. It was also one of the few major animals not sacred to an Egyptian deity. Pharaohs and nobles organized hunting parties to attempt to keep the hippopotamus population under control.

Link to comment
Share on other sites

<?xml version="1" encoding="utf-8"?>
<Entity parent="template_unit_fauna_wild_aggressive">
  <Armour>
    <Hack>3</Hack>
    <Pierce>4</Pierce>
    <Crush>5</Crush>
  </Armour>
  <Attack>
    <Melee>
      <Damage>
        <Hack>20</Hack>
        <Pierce>20</Pierce>
        <Crush>0</Crush>
      </Damage>
      <MaxRange>7</MaxRange>
      <RepeatTime>2000</RepeatTime>
    </Melee>
  </Attack>
  <Footprint>
    <Square width="3.5" depth="6"/>
    <Height>1.5</Height>
  </Footprint>
  <Health>
    <Max>200</Max>
  </Health>
  <Identity>
    <GenericName>Hippopotamus</GenericName>
    <SpecificName>Hippopotamus amphibius</SpecificName>
    <Icon>gaia/fauna_hippopotamus.png</Icon>
  </Identity>
  <Loot>
    <xp>50</xp>
  </Loot>
  <Position>
    <Anchor>pitch</Anchor>
  </Position>
  <ResourceSupply>
    <Amount>400</Amount>
    <Type>food.meat</Type>
  </ResourceSupply>
  <Selectable>
    <Overlay>
      <Texture>
        <MainTexture>circle/256x256.png</MainTexture>
        <MainTextureMask>circle/256x256_mask.png</MainTextureMask>
      </Texture>
    </Overlay>
  </Selectable>
  <Sound>
    <SoundGroups>
      <select>actor/fauna/animal/lion_select.xml</select>
      <attack_melee>actor/fauna/animal/lion_attack.xml</attack_melee>
      <death>actor/fauna/animal/lion_death.xml</death>
    </SoundGroups>
  </Sound>
  <UnitMotion>
    <WalkSpeed op="mul">0.3</WalkSpeed>
  </UnitMotion>
  <VisualActor>
    <Actor>fauna/hippopotamus.xml</Actor>
  </VisualActor>
</Entity>

@wowgetoffyourcellphone @Nescio thoughts ?

 

hippo.zip

Link to comment
Share on other sites

1 hour ago, Nescio said:

<MaxRange> ought to be footprint + 1, rounded up

Correction: “footprint radius + 1”; in this case 6 / 2 + 1 = 4.

Furthermore, I'd recommend <Footprint/Height> = <StatusBars/HeightOffset> - 0.5 (for units; -1 for structures)

43 minutes ago, Stan` said:

thoughts ? 

Unfortunately I'm getting errors in Atlas when loading your hippo mod, both with A24 and A23:

ERROR: CXeromyces: Failed to parse XML file simulation/templates/gaia/fauna_hippopotamus.xml
ERROR: Failed to load entity template 'gaia/fauna_hippopotamus'
ERROR: Failed to load entity template 'preview|gaia/fauna_hippopotamus'

For the attack, let's have a look at other animals:

                h  , p  , c  , time → dps
bear          : 20 ,  0 , 20 , 2000 → 20
boar          : 12 ,  0 ,  0 , 1000 → 12
bull (cattle) :  1 ,  5 ,  2 , 1000 →  8
crocodile     : 30 ,  0 ,  0 , 2000 → 15
dog           :  7 ,  2 ,  0 , 1000 →  9
elephant      : 25 , 10 , 20 , 1000 → 55
fox           :  2.5 , 5 , 0 , 1000 →  7.5
lion          : 20 ,  0 ,  0 , 2000 → 10
rhinoceros    : 20 ,  0 , 20 , 2000 → 20
tiger         : 30 , 20 ,  0 , 2000 → 25
walrus        : 15 , 10 ,  0 , 1000 → 25
wolf          : 10 , 10 ,  0 , 1000 → 20

The numbers seem to be rather arbitrary. I'd say a hippopotamus ought to have less attack than an elephant, but more than a bear, lion, or wolf. Those also don't have a 0.3 walk speed multiplier, so maybe remove that line.

Link to comment
Share on other sites

18 hours ago, Stan` said:

except the one in the UTF8 one which is why it crashed last time

Yes, the version="1.0" is meaningful, so don't auto-replace .0" with " (replacing .0< with < is fine, though).

18 hours ago, Stan` said:

Fixed a few things, should be good now, can you check?

I made some corrections to the template (parent, footprint, removed unnecessary lines), here you go:

Spoiler

<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_fauna_hunt_aggressive">
  <Armour>
    <Hack>3</Hack>
    <Pierce>4</Pierce>
    <Crush>5</Crush>
  </Armour>
  <Attack>
    <Melee>
      <Damage>
        <Hack>12</Hack>
        <Pierce>12</Pierce>
      </Damage>
      <MaxRange>3</MaxRange>
    </Melee>
  </Attack>
  <Footprint>
    <Square width="2.5" depth="5"/>
    <Height>1.5</Height>
  </Footprint>
  <Health>
    <Max>200</Max>
  </Health>
  <Identity>
    <GenericName>Hippopotamus</GenericName>
    <SpecificName>Hippopotamus amphibius</SpecificName>
    <Icon>gaia/fauna_hippopotamus.png</Icon>
  </Identity>
  <Loot>
    <xp>50</xp>
  </Loot>
  <Position>
    <Anchor>pitch</Anchor>
  </Position>
  <ResourceSupply>
    <Amount>400</Amount>
  </ResourceSupply>
  <Selectable>
    <Overlay>
      <Texture>
        <MainTexture>circle/256x256.png</MainTexture>
        <MainTextureMask>circle/256x256_mask.png</MainTextureMask>
      </Texture>
    </Overlay>
  </Selectable>
  <Sound>
    <SoundGroups>
      <select>actor/fauna/animal/lion_select.xml</select>
      <attack_melee>actor/fauna/animal/lion_attack.xml</attack_melee>
      <death>actor/fauna/animal/lion_death.xml</death>
    </SoundGroups>
  </Sound>
  <VisualActor>
    <Actor>fauna/hippopotamus.xml</Actor>
  </VisualActor>
</Entity>

If you intend to use the lion's as the fallback sound (cf. bear), then maybe that <Sound> ought to be moved to template_unit_fauna.xml.

Now it works in game, I noticed some things that could be improved on the art side:

  • Both skin variations look rather monotone, therefore artificial; could you make it more natural?
    Spoiler

    https://upload.wikimedia.org/wikipedia/commons/7/7a/2_hippo_korat_zoo.jpg

    https://upload.wikimedia.org/wikipedia/commons/8/89/Hipop%C3%B3tamo_%28Hippopotamus_amphibius%29_aliment%C3%A1ndose_en_el_zool%C3%B3gico_Wamer%C3%BA_de_Quer%C3%A9taro.jpg

    (You can also see they have hair; probably not worth adding in 0 A.D., though.)

     

  • The feet could be improved: hippopotamuses have four toes:
    Spoiler

    https://upload.wikimedia.org/wikipedia/commons/5/5c/A_hippopotamus_inside_Guwahati_Zoo.JPG

    https://upload.wikimedia.org/wikipedia/commons/7/79/2007_Bill_IPPOPOTAMO_Pippo_%282%29.jpg

    https://upload.wikimedia.org/wikipedia/commons/f/fa/Hippopotamus_in_San_Diego_Zoo.jpg

    https://upload.wikimedia.org/wikipedia/commons/b/b6/Adhela_and_Guy_Fawkes_1873.jpg

     

  • Make sure all canines and incisors (twelve in total, like humans) are visible:

    Spoiler

    https://upload.wikimedia.org/wikipedia/commons/8/8d/See_My_fangs.jpg

    https://upload.wikimedia.org/wikipedia/commons/a/ac/Hippo_Mating_Grunt.jpg

    https://upload.wikimedia.org/wikipedia/commons/7/71/Hippo_skull_dark.jpg

    (Ignoring the molars is fine.)

     

  • The attack animation could be improved; hippopotamuses are not crocodiles; give more prominence to the lower jaw:

    Spoiler

    https://upload.wikimedia.org/wikipedia/commons/d/dc/Flickr_-_law_keven_-_Let%27s_get_ready_to_rumble....jpg

     

(All images are taken from Wikimedia Commons.)

Link to comment
Share on other sites

1 hour ago, Nescio said:

Both skin variations look rather monotone, therefore artificial; could you make it more natural?

This is gonna be a bit hard for me :S

Maybe @LordGood could do a paintover?

For anims, mesh detail, animations, it's for @Alexandermb

 

@Nescio why did you remove the remain in the health component, without it you can't gather meat from it, and the resource supply is useless.

Link to comment
Share on other sites

23 minutes ago, Stan` said:

why did you remove the remain in the health component, without it you can't gather meat from it, and the resource supply is useless.

Because those lines are already present in `template_unit_fauna_hunt.xml` (you had it inherit from `*_wild.xml` instead).

Link to comment
Share on other sites

2 minutes ago, Stan` said:

Ah I though it was wild animal :D

In English, yes, but in 0 A.D. “wild animal” means “no food”. Those (25) parent fauna templates are confusing and could use some simplification (also because many do nothing or aren't used).

  • Like 1
Link to comment
Share on other sites

On 4/14/2020 at 7:46 PM, Nescio said:

And avoid trailing zeros.

Nobody discussed that with you but having the trailing zeros is interesting.
As in some coding language, you know the type of the data you manipulate just by looking at them. It can appears as a matter of taste (and I thought that 4 years ago) but I don't think that anymore nor for the json modifications, nor for the xml entity templates (though the arguments are different).

Link to comment
Share on other sites

10 hours ago, fatherbushido said:

Nobody discussed that with you but having the trailing zeros is interesting.
As in some coding language, you know the type of the data you manipulate just by looking at them. It can appears as a matter of taste (and I thought that 4 years ago) but I don't think that anymore nor for the json modifications, nor for the xml entity templates (though the arguments are different).

To clarify, I'm not opposed to trailing zeros per se. Where they are necessary or meaningful, they should obviously stay. And yes, I'm aware that in some languages adding a full stop can differentiate decimal numbers from integers.

However, I do like consistency, and e.g.

<food>200</food>
<wood>50.0</wood>

is ugly. Since the current trend seems to be to remove unnecessary trailing zeros (e.g. rP22408 ), I think it's best to avoid introducing them in new templates, such as the hippopotamus'.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...