View Issue Details

IDProjectCategoryView StatusLast Update
0005371Spring engineGeneralpublic2017-12-01 22:59
Reporterabma Assigned To 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionno change required 
Summary0005371: allow replacement of engine trees by game (step towards engine tree removal)
Descriptionpro removal:
- engine trees look like 90's
- several map already use models for trees
- its a lot of opengl code

con removal:
- there are several maps with engine trees: do they need a replacement?
TagsNo tags attached.
Checked infolog.txt for Errors

Activities

jK

2016-10-10 00:53

developer   ~0016758

con:
- currently model based trees eat A LOT performance

hokomoko

2016-10-10 01:10

developer   ~0016759

^ this

raaar

2016-10-10 04:43

reporter   ~0016760

It'd be interesting to have an idea of how many maps use "engine trees".

the list of maps I recommend for my game is currently this:
http://metalfactions.pt/maps.html

does anyone know which have engine trees and which haven't.

what would happen if someone played on maps that did have engine trees?

abma

2016-10-10 09:54

administrator   ~0016762

sounds like there should be a setting (modoption/engine option/whatever fits best) to use a predefined model as replacement, so performance can be tested / optimized?!

silentwings

2016-10-10 11:32

reporter   ~0016765

+1 to keeping engine trees, doing otherwise breaks a tonne of maps + due to perf reasons model trees are not a proper replacement, yet.

Forboding Angel

2016-10-11 05:24

reporter   ~0016781

My opinion here doesn't really matter, but I'm all for removal. Evo already uses a specific feature set to replace them with models.

If you wanted to keep the functionality, you could use one of the 0ad pine trees as a replacement, but frankly, I feel as though complete removal is best.

Jools

2016-10-12 15:49

reporter   ~0016791

I have used many custom trees (eg the AD0 ones), but the problem with them is:
i) map unplayable with many of them
ii) they are usually out of scale (players like to make them too large).
iii) They are more difficult to burn or chop down

So conclusion: engine trees are better and more realitic, although they are a bit 90s.

Forboding Angel

2016-10-12 19:10

reporter   ~0016792

i) That is a game problem
ii) Game problem
iii) Game problem

On all of these cases you can override the defs and the models with the game.

Jools

2016-10-13 07:19

reporter   ~0016796

No, it's not a game problem, unless by game you also mean map.

Forboding Angel

2016-10-13 07:34

reporter   ~0016797

No, it's a game issue. Mappers can't account for everything working perfectly, but luckily you can override those things with your game, fixing any potential issues. Especially since assets get reused all the time. If the mapper used spring features, then even better, because all of that stuff is in a single uniform and easy to override place.

raaar

2016-10-15 06:51

reporter   ~0016798

I've noticed on some maps, for example, Tangerine, that the tree models are noticeably crappy. Are those engine trees?

Is there anything about engine trees that makes them use less resources than replacement trees? If the same models are used, is there any difference?

I'm happy that this was changed from "removal", which would break backward compatibilty, with "option to replace".

But while you're at it, it might be good to also replace the engine tree models with something a bit more up-to-date, maybe randomly use a few different models too.

Also, I'm curious about the knorkediscussion. Imo a degree of negativity can be useful. If he keeps restating the same things over and over, delete only the redundant part.

Forboding Angel

2016-10-15 11:14

reporter   ~0016799

1) Yes
2) it's basically a 4 sided sprite, so technically yes.
3) Meh, sure. Doesn't hurt.
4) in the "replace" part, that will be your job. Grab evo had have a look at any map with engine trees. Be amazed.
5) no.

:-)

Forboding Angel

2016-10-15 11:16

reporter   ~0016800

2) didn't make sense. I meant that it's essentially 2 sprites in an X. Also, iirc they are actually procedurally generated.

jK

2016-10-15 12:04

developer   ~0016801

Last edited: 2016-10-15 12:05

you can easily replace engine trees ...

just override the featuredefs with your and fine is (yes, you can do so with geo featuredefs, too).

but as said this costs a lot performance

raaar

2016-10-18 06:57

reporter   ~0016809

I think it's actually 3 sprites, 2 in an X and one in the middle for top view.

I wonder what the procedurally generated part actually does. If it's a sprite, there's an image somewhere.

it'd be nice to
- update the sprites image resolution (but not too much)
- instead of a 2 of vertical sprites, use 4
- use a translucent mask to shade trees depending on sampled map colors, add some randomness

Something that'd be a good balance between performance and appearance. Some people still play with old computers, or ones with low end GPUs.

Someone could post on the forum a set of trees for TA-like games and a replacement gadget. I think EVO's models are somewhat bigger.

sprung

2017-10-20 13:24

reporter   ~0018537

Done?

https://github.com/spring/spring/commit/7f4ef55f59299dba2c02761ed3727e6758637d32

https://github.com/spring/spring/commit/720bf24f81fa53c3cac79c39b62a76dcbd41d995

Kloot

2017-12-01 22:59

developer   ~0018670

not yet, but will be possible (via the new DrawTrees callin) without killing performance once I get to adding a GL4 Lua interface.

Issue History

Date Modified Username Field Change
2016-10-09 19:33 abma New Issue
2016-10-10 00:53 jK Note Added: 0016758
2016-10-10 01:10 hokomoko Note Added: 0016759
2016-10-10 04:43 raaar Note Added: 0016760
2016-10-10 09:54 abma Note Added: 0016762
2016-10-10 11:32 silentwings Note Added: 0016765
2016-10-11 05:24 Forboding Angel Note Added: 0016781
2016-10-12 15:49 Jools Note Added: 0016791
2016-10-12 19:10 Forboding Angel Note Added: 0016792
2016-10-13 07:19 Jools Note Added: 0016796
2016-10-13 07:34 Forboding Angel Note Added: 0016797
2016-10-13 21:23 abma Summary remove engine trees => allow replacement of engine trees by game (step towards engine tree removal)
2016-10-13 21:56 abma Severity minor => feature
2016-10-13 21:56 abma Product Version 104.0 =>
2016-10-15 06:51 raaar Note Added: 0016798
2016-10-15 11:14 Forboding Angel Note Added: 0016799
2016-10-15 11:16 Forboding Angel Note Added: 0016800
2016-10-15 12:04 jK Note Added: 0016801
2016-10-15 12:05 jK Note Edited: 0016801
2016-10-18 06:57 raaar Note Added: 0016809
2017-10-20 13:24 sprung Note Added: 0018537
2017-12-01 22:59 Kloot Status new => closed
2017-12-01 22:59 Kloot Resolution open => no change required
2017-12-01 22:59 Kloot Note Added: 0018670