Jump to content
Sign in to follow this  
Nescio

[request] improve some wall towers

Recommended Posts

If and when units on walls no longer interfere with the opening and closing of gates (D1418), it would be possible to garrison units on gates (D2760) and also on wall towers (D2769), differentiating them further from free-standing defence towers and making them more similar to other wall segments. Most wall towers are already suitable for this, with a platform on top, but a few actors would need to be adjusted.

From left to right, the kush, mace, and sele wall towers:

Spoiler

wall_towers.thumb.png.23f315ce3b10b7671fee514f447c6794.png

The Kushite actor is fine and doesn't need changes. The one of the “Hellenes” (used by athen, mace, spart) needs its roof replaced with a platform, like those of other civs; it also has a tiny window halfway and is the only one with a door at ground level; could those be removed? Walls were typically solid up to the parapet level. The sele also needs a platform instead of the roof, or, if you want more variation, raise the roof and replace the chamber with a platform (cf. gaul); also remove those arrowslits in the middle.

The brit wall tower does have a platform on top, but the roof is so low there is no room for placing units. At the very least its roof should be raised considerably (cf. gaul). However, the brit wall tower could actually use a redesign, since currently it's neither round, nor square, nor a regular octagon.

The last civ with unsuitable wall towers is maur; here the situation is more complicated, because the short, medium, long segments have roofs too, which would should not end in empty space, and because the wall tower design is basically used in the gate as well:

Spoiler

maur_walls.thumb.png.2bb2fed2e0b89dd339ad7ba55eb53a8d.png

  

On 1/25/2020 at 1:28 PM, Nescio said:

Also, it would be nice if someone could raise the top platform of the siege wall tower and gate, because currently the men on the level below go through the ceiling:

WoodenGate.thumb.png.40fff2bdd5664907e3b5d152dea0b699.pngAlso the outpost:

 

Share this post


Link to post
Share on other sites

I have a competing request (I'd rather we upgrade wall turrets like we do Sentry Towers and Defense Towers: "Guard House" adds a rooftop and default arrows, "Ballista Emplacement" adds a ballista to the platform, etc. The only current problem is that wallset code can only designate 1 wall tower entity; upgrading the tower to something else doesn't allow it to be a wall endpoint anymore in case you need to rebuild a section of wall to it).

But perhaps I can make a separate thread for that.

  • Like 2

Share this post


Link to post
Share on other sites
3 hours ago, Nescio said:

@m7600, if you have the time and motivation, maybe you could try your hand at this?

Sure, give me some time to look into it properly, since there's more than just aesthetics going on here. 

Share this post


Link to post
Share on other sites
19 hours ago, m7600 said:

Sure, give me some time to look into it properly, since there's more than just aesthetics going on here. 

Thanks! Take your time, doing it properly is more important than doing it quickly.

For the siege wall tower (and the outpost) what is to be done is clear and simple: just raise the top platform (or roof). The Greek (athen, mace, spart) and Seleucid wall towers it's more work but still quite straightforward. For the Mauryas it's more complicated. That said, I don't really now how Blender works, and my graphical skills are rather limited, so my request is obviously easier said than done. :)

I made a simple graphic to illustrate how I think a default wall tower design ought to be, perhaps it helps:

wall_tower.thumb.png.ee16698b6405283cd1dce290453bf59c.png

  • Fainter colours: surrounding wall segments.
  • Blue: wall base, solid to parapet level. No doors, windows, or arrow slits here.
    • The height should be the same as the height of the short, medium, long wall segments, which varies per civ.
    • The width must be between 6 and 12, i.e. at least half of and at most the full short wall segment length (12).
    • The depth must be at least 1 more than the depth of short, medium, long wall segments. Most wall towers are square, thus depth would be the same as width, i.e. between 6 and 12. However, non-square wall towers are perfectly fine too, e.g. a 6×12 footprint works, as do circular, octagonal, and other polygonal footprints.
  • Green: solid corner columns supporting the platform on top.
  • Yellow: tower chamber, hollow. Since units in 0 A.D. have a height of about 4, this room should have a height of 5.
    • Historically this was where light artillery was deployed, not on the top platform, for multiple reasons. Firstly, they need a stable ground below them. Secondly, the strings were made from human hair (usually from female slaves and captives, but in emergencies also from citizen-born women; horse hair was an inferior substitute) and exposure to sun and rain had a negative impact. Thirdly, unlike archers, artillery can't fire at an angle below 0° (horizontal); placing them at a higher position means they have a higher maximum range but also a much higher minimum range; in siege warfare this is simply not worth the trade-off; the purpose is to prevent people from reaching the walls, increasing the safe zone in front is not helpful.
  • Magenta: windows, two on each side, or three if the wall tower is wider than usual (e.g. cart). They're long and narrow to allow shooting both at an upwards angle for increased range, and horizontally for increased accuracy. Given that the footprint radius of infantry is 1.5, the distance from the centre of a window to the centre of the next should be 3.
  • Red: parapet and battlements.

The above is more information than you really need, I'm just explaining the reasoning behind the drawing I made, also for future reference.

For the mace and sele wall towers the current footprints etc. are fine, they just need their roof replaced with a platform on top.

  • Thanks 1

Share this post


Link to post
Share on other sites
4 minutes ago, Nescio said:

That said, I don't really now how Blender works

If I may suggest something: you should really consider giving it a try, independently of the present wall tower request.
You can learn the basics of Blender in about a week, I highly recommend this guy's channel. There's also a great step by step tutorial on how to make any low poly animal, it's great for getting your feet wet. He has the same tutorial for later versions of Blender.
 

15 minutes ago, Nescio said:

my graphical skills are rather limited

You'd be surprised at what you can accomplish in Blender with "limited" graphical skills. Honestly.

Share this post


Link to post
Share on other sites
13 hours ago, wowgetoffyourcellphone said:

I think wall towers should be about 15% taller too, to help with aesthetics on hilly ground.

This is something that bothered me too more than once. However, I disagree with redoing art as a workaround, it could (should?) be solved in the code. If I understand correctly, fields follow all curves of the terrain, whereas other structures are rigid objects and take the terrain height at the centre point of the structure footprint to off-set their position. In my opinion wall segments should be treated as a special case: they should not take the height at the centre of the wall segment itself, but the average of the height of the centre of the wall tower they start at and that of the wall tower they go to.

Edited by Nescio
ce

Share this post


Link to post
Share on other sites
9 minutes ago, m7600 said:

If I may suggest something: you should really consider giving it a try, independently of the present wall tower request.
You can learn the basics of Blender in about a week, I highly recommend this guy's channel. There's also a great step by step tutorial on how to make any low poly animal, it's great for getting your feet wet. He has the same tutorial for later versions of Blender.

You'd be surprised at what you can accomplish in Blender with "limited" graphical skills. Honestly.

There are simply too many other things I want to do, learning Blender is nowhere near the top of my list. Leaving art files to people who show they understand graphical software is good enough for me. Besides, I'm very much a text-based person, I like being able to read what I'm doing, and write what I want to be done (that's why svg is great, it's basically xml).

Share this post


Link to post
Share on other sites
7 minutes ago, Nescio said:

There are simply too many other things I want to do, learning Blender is nowhere near the top of my list. Leaving art files to people who show they understand graphical software is good enough for me. Besides, I'm very much a text-based person, I like being able to read what I'm doing, and write what I want to be done (that's why svg is great, it's basically xml).

Allow me to continue playing devil's advocate. I think that Blender is especially suited for people with a background in programming and/or scripting. A lot of stuff is done mathematically. For example, rotating an object, scaling it, modifying it. You can use numerical values for almost everything. And it has a built-in text editor which supports Python scripting (it probably supports other languages as well, but I haven't checked).

Join the dark side Nescio, join us in the Blender cult :diablo:

  • Haha 1

Share this post


Link to post
Share on other sites
Just now, m7600 said:

Allow me to continue playing devil's advocate. I think that Blender is especially suited for people with a background in programming and/or scripting. A lot of stuff is done mathematically. For example, rotating an object, scaling it, modifying it. You can use numerical values for almost everything. And it has a built-in text editor which supports Python scripting (it probably supports other languages as well, but I haven't checked).

Join the dark side Nescio, join us in the Blender cult :diablo:

Actually I don't have a programming background, I have a background in classics, an entirely different kind of texts. :) I can't read or write Python either.

  • Like 1

Share this post


Link to post
Share on other sites
6 minutes ago, Nescio said:
9 minutes ago, m7600 said:

 

Actually I don't have a programming background, I have a background in classics, an entirely different kind of texts. :) I can't read or write Python either.

Blender est magna. Tribuo is a attentent.

Ok I'll shut up now : P

Share this post


Link to post
Share on other sites
25 minutes ago, Nescio said:

This is something that bothered me too more than once. However, I disagree with redoing art as a workaround, it could (should?) be solved in the code. If I understand correctly, fields follow all curves of the terrain, whereas other structures are fixing objects and take the terrain height at the centre point of the structure footprint. In my opinion wall segments should be treated as a special case: they should not take the height at the centre of the wall segment itself, but the average of the height of the centre of the wall tower they start at and that of the wall tower they go to.

Hmm, interesting solution.

I think AOM went even further though and had terrain analysis and swapped in "bent" wall segment models to conform to the terrain. Worked okay for the time. It would certainly require more art work, but would look better.

Share this post


Link to post
Share on other sites

Well technically if each beam of palissade was a prop, it would adapt to terrain ^^

  • Like 1

Share this post


Link to post
Share on other sites
6 minutes ago, Stan` said:

Well technically if each beam of palissade was a prop, it would adapt to terrain ^^

You know, that's not a bad idea. In general I dislike the modular approach to buildings, but for a palisade it could work.

But maintenance might get complicated.

- "Fix beam 25-C" 

- "Ok, I fixed it."

-"No, that's beam 24-D, the one that needs fixing is to the North-East to that one."

  • Haha 1

Share this post


Link to post
Share on other sites
30 minutes ago, wowgetoffyourcellphone said:

That could work, but what about stone walls? 

Turn every single stone into a prop, each with its own actor file.

And if that's not extreme enough, turn every single flat polygon of each stone into its own mesh. The engine will combine everything later when you play the game.

I'm guessing it would be something like 100-200 different files for one stone wall.

Edit: And if you really want to spice things up, each individual stone would have its own unique texture, normal map, specular map, and ambient occlusion map. That adds another 400 files or so. Maximum modularity, to the extreme.

Edited by m7600
  • Like 1

Share this post


Link to post
Share on other sites
10 hours ago, Stan` said:

Problem is using too many props is bad for performance.

How much worse? I understand placing e.g 42 stakes one by one is less efficient than placing one set of 42 as a whole, however, once placed, it's still the same number of lines, right?

I'm not saying it must be implement, but I do believe it's worth exploring.

Share this post


Link to post
Share on other sites

The problem is with GPUs. The game already has a lot of draw calls (the fewer the better). So say you have a wall with 1 mesh with four draw calls you have say, 20 posts in that wall and you make a prop for each one of them you'll have 20 * 4 = 80 draw calls instead of 4.  Two walls 160 instead of 8.  There are probably ways to optimize this, but currently we do not have such code.

EDIT: Textures don't affect drawcalls it seems.

Share this post


Link to post
Share on other sites

Thanks, that's good to know. So the number of objects to draw has a much larger impact than the number of lines to draw per object? Even if the total number of lines would be less under more objects?

Share this post


Link to post
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.

Sign in to follow this  

×
×
  • Create New...