Latest Posts

Topic: New set of graphics

einstein13
Avatar
Joined: 2013-07-28, 23:01
Posts: 1118
Ranking
One Elder of Players
Location: Poland
Posted at: 2013-11-05, 19:58

there was zoom feature in Settlers II, I can't remember those features in III and IV version. V was... ekmm... (I will not tell what was that)


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
SirVer

Joined: 2009-02-19, 14:18
Posts: 1445
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2013-11-05, 20:48

I am also against rotate, that should not go into the engine - some sim city had rotate and it added to the confusion of the game. You never knew which part of the city you were at because the city always looked different.


Top Quote
Adamant

Joined: 2012-10-11, 15:21
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-11-06, 16:54

I like Rotation but I think as well that it can be rather reesonable to disable that Feature in the Optionsv resp give a short Way to change to "Normal Direction". Other Meanings to help to orientate for Direction gets useful or even necessary. EG a Kind of Compass. Something like a HUD would do a fine Job but does not fit into Scenery of Antike Age. Actually the Models for Sites are afaik HollyWoodStyle what means its just fine for a special Cam-Setting and for FreeCam SiteModels need to get DisneyWorld-fine what means Cam can move around. As long as the Models are flat and just a single Perspective exist for Sites - for Units there are those for 6 Directions inclusive those generated by simple SideFlip.

For cheap ArtWork-REQs I would before try to allow side-fliped Sites resp Sites with Way to southwest instead south-east, which would make the Map look somewhat more natural resp allows new Fredoms for Design of ... Settelement. Especially for SeaFaring I miss MORE Directions than the present six! These should be possible close to/with present Design where Units move only to on e of three neighbored NodePoints. If we think of Positions BETWEEN the Nodes as quasi-illegal StayPositions but for Transition between two NodePoints and these Transfers are actually limited to the Edges of neighboured Field-Trices then the new 6 Directions resp Transfers could from a NodePoint resp Corner cross the Trice and pass the opposited Edge in its Middle and continues same Direction till the NodePoint oppsited to StartPoint over passed Edge. Hard to explain with Words but simple to see. Simply that next NopdePoint between the Directions to neighboured Nodes. Same could work for Roads.

Exist there any Idea to replace that Carrier-Chains with a more rational Model of Carrier-Business?

Eg. a MinerMaster gets evoced and leave its Site and move to another DeepMine where a MinerMaster missses. This Kind of Transfer works for Personal! NOW assume that Worker is a Carrier and he gets always evoked but picks a Ware from DST Destination and move to DST of Ware and drop it and search for closest Ware to pick up and if not same Place move there and pick it etc.

To avoid that some/remote Locations get omited do a simple Func for Priority: eg prio(aWare) = aWare.time_waited * eta1 aWare.distance(carrier) * eta2 + aWare.type.priority * eta3 ... factor in what you consider to be important enough and weight it as much as necessary. With that Form an N-Tupel of Etas (e1,e2,...en) behaves same like another which is simply scaled by any x: x*(a,b,c,..) = (xa,xb,xc,..) -- the Ratio between these Coefficients are the determining Aspect for Effectivity. With Type-specific Priority that means eg a Pizza have practical high Priority due to these have to get delivered as fast possible to arrive still steaming. Wares for VIP-Unit may needs to get delivered as fast as well no Matter if it steams or not.

What does misses? I don't like scripted "Magics" like pick a Carrier and morph it into a Miner by consuming a PickAxe but prefer a Carrier who get a Miner and then GET a PickAxe into its Inventory but with or without the PickAxe he can get a Miner and he can have a PickAxe no Matter what Job he got. So we may assume a Lumberer in his Shaft took the Axe from Site-Inventory in his Inventory and move out to lumber anything and return. When he return with Trunk and Axe he put both into Depot - one for keeping another for WareExit. The Carrier who bring a Trunk put it into WareEntry and for return may pick Wood from WareExit. There are several Points but one is that these Things get distinguished into single different Actions and get sciptable for the Units.

Actually a Site can instruct its Worker to do anything and Player can access Sites only but Ships which are afaik a special Type of Site as well. Excepted the Exception I call that Site-centric Control. I suggest to merge Class Sites and Workes and add Attributes which explains which Abilities are enabled. That Way a Player can access Workers like a single Lumberer to direct him to a specific Tree (to lumber it) or a MasterMiner can instruct "the Site" to do half Production or a Bulder call in a StoneMason for a Column. There may be exist something similar "hardcoded" in C++ but Problem is that it can not get scripted resp customized. Simply assume that Site is a Kind of Worker and Worker Kind of Site. A Site can actually have Workers and Inventory while Workers can move on the Map and do interact with Environment. Eg a Forester can plant Trees and a Lumberer harvest. Assume there is a SmeltingWorks which ask a Mine with two Miners for Ore. Assume there is a SteelWorker who ask for Ore. It does primary not ask ANY Miner but address the Mine at first like a Company. As the Mine as Company does not represent a single Worker there is any MinerChief which is Chief of the Mine resp there exist any Worker who is responsive into these Activities like processing Calls and/or Puts, Matter like from a StockExchange but without StockExchange. Think you sit in an Office of a Company and get a Letter with an Offer from any other Company. You may get buy a Lot Things or none or offer a Lot of Things or none. You don't really buy there something for yourself nor reverse get directly Money from selling Products of your Company. Anyway did your Company these Activities but inverse your Company can not really do anything but the Workers inside. Hard to hit the Nail here but it's clear that these Things are joined but different.

I strongly advice to merge these Classs for Workers and Sites resp inclusive Ships, Soldiers,TrainSites and customize but Configuration and Programs the Behavior of these Things if it gets eg TrainSite or a Soldier and don't deal with different Classes for them. Thus can Sites eg inherit from Soldiers HP and thus damaged resp broken resp get attackable. The resulting Problem from StatusQuo: there exist many different Classes which require special Casting-Work to deal safely with these different Types to avoid Trouble with Interface to omit to grisp into the Vacuum, different StorageClasses and OverHead to put them into a single Storage or reverse to extract them safely on Selection. Workers, especially MINERS can get XP. I miss that Soldiers can get XP from Battle and level anyway up. I miss that there exist no Carreer for other Workers like eg for a Cook in a Tavern and with more XP the Tavern produce faster or better. The annoying Point is: there exist a Lot of Knowledge inside these different Classes but due to it got splitted and offered just from much lesser resp anyway speicalized Classes these Knowledge can just get utlized partially. EG a TrainSite comsumes Swords for training a Soldier in Attack. When gets trained for another Sword Site consumes another Sword. I did try to fix that Matter and teach TrainingSite to produce a Sword of Type N when a Soldier got trained with/for a Sword of Type N+1. I found that that TrainingSite can consume Wares but can not produce Wares. A Fortress offer another Interface to Players than other Sites. It is afaik not possible to define in Conf for Fortress Programs that the Fortress eg send out Partrouls to protect the Frontiers.

Same Way I advice to put other Kind of Bobs into that single Class. EG I am not sure why a Duck should not get customized Code from CONF to keep close to both Land and Water. Elephants may not climb into the Mountains, IceBears not move in the Desert etc.

Actually the Problem is: a Unit, Worker CAN run its Programs BUT excepted Ships Players can not access them, Units can carry a single Ware but don't have an Inventory and I do not remind any Worker who can Interact with other Workers. EG two Carrier can not exchange any Ware but via droping/picking on a Flag. A Site knows to talk to Worker. EG a Lumberer can not ask a Carrier to carry a Trunk with him but only put that Trunk anywhere.

Long Journey to that Point


Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote
pyaehtetaung

Joined: 2011-10-25, 17:20
Posts: 22
Ranking
Pry about Widelands
Location: Yangon,Myanmar
Posted at: 2013-11-07, 19:48

I think rotate and zoom feature can cause useless graphic bug. Widelands graphics is simple as you know.so it is Not consume very much graphic. I like gameplay more than graphic.


Top Quote
PkK

Joined: 2012-01-06, 11:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2013-11-09, 14:52

However I do not see this topic as very important right now. For one, you can have a nice approximation of b) by playing fullscreen and lowering your resolution - or by lowering the resolution of your OS. Also, the future of gaming (and therefore of Widelands) is on tablets - the desktop is dying and it is dying as a gaming platform very quickly indeed. (Logical) Resolution on tablets have peaked already and are unlikely to go much higher at this point in time - and Widelands should be very playable on the resolutions they offer.

tablets and smartphones seem to be popular for casual gaming. But the situation is different for complex, long games. Widelands is not the kind of game you play for a few minutes on the bus.

Philipp


Top Quote
Adamant

Joined: 2012-10-11, 15:21
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-11-10, 13:34

pyaehtetaung wrote:

I think rotate and zoom feature can cause useless graphic bug. Widelands graphics is simple as you know.so it is Not consume very much graphic. I like gameplay more than graphic.

I won't consider Zoom and Rotate as graphical Gimmick. Did you note that you can't mine on BackSide of Mountains? I wonder where you can identify scarry Graphic-Bugs from Zoom and Rotate. Do you think about as some Kind of Rocket-Science? Hot shot - what was the Aim? Zoom and Rotate require essentially few Parameteres necessary at all Case. So we don't talk here about complexer but different Code to simply get that what already is inside the GL-Bag.

There have to be already a Projection-Matrix and also of course exist! http://en.wikipedia.org/wiki/Parallel_projection http://upload.wikimedia.org/math/2/9/7/2972260f1db5f6e852d039f2ffc021d2.png

You may feel unconfortable about but there got already one single Standard-Projection defined as there have to be one necessary to get the 2D-Projection from "LandScape". There is also Need to define a Kind of Standard-Zoom-Level even it may actually be a trivial 1.0 for.

For Rotate we need another Rotation-Matrix: http://en.wikipedia.org/wiki/Rotation_matrix

The plain dumb Thing is we need simply do for this or that a Matrix-Multiplication.

Calculation Rule: M1[n,m] X M1[m,n] resp here more simple m=n=3. Row X Column!

eg M[1,3] X M[3,1] :

|a b c| X

|d| |e| |f|

= ad+be+c*f ... the Produkt concentrate quasi to a single Number in that Example.

Now reverse Order of Factors: |d| |e| X |a b c| |f|

= |da db dc| |ea eb ec| |f a f b f *c|

=

|n o p| |q r s| |t u v|

while the latter means that these Products da represent resulting single Numbers you surely know from Math and don't remain as confusing Terms but simple Numbers somewhat similar like a Product of 347507632....= any foo_number we don't feel need to try to understand as Result of any complex Term but simply as Number like many another.

Brief Points are: For Matrices A,B normaly AB != BA - clearly watchable in the Examples above where in one Case the Result is simply a Number while with reversed Factor-Order the Result has more Rows and Columns than both just a single one. You don't really have to understand what the Numbers resp Matrizes indeed are like you can calculate with Zero for Addition and Multiplication or other Numbers and nevertheless are perhaps able to calculate Amounts for Flour and Sugar, Milk to bake a Cokie.

Addition and Multiplication are perhaps somewhat odd but clear and need just coded a a single Time and then can get reused multiple Times ordinary like for Numbers: M3=M1*M2; -- Mul done!

Addition quickly explained: A+B=C = [cij] = [aij] + [bij] If you can do VECTOR-Addition you know quasi how to do Matrirx-Addition and IF NOT - then I wonder about your Opinion HERE if we talk about Programming and 3D-Graphics as even plain 2D-Vector-Graphics require Knowledge about Vectors. No, we can not do it with Euklidic Geometry in the Way of single Numbers, Functions, Pythatgoras and trigonometric Functions: f(x)=ax+b a²+b²=c²,
http://en.wikipedia.org/wiki/Right_triangle http://en.wikipedia.org/wiki/Law_of_tangents

That is already rather interesting Stuff (or was) but for 3D-Matters it's CLEARLY the wrong Iron to deal with. Vector-Algebra is minimum - Matrices are much better suited! When you can do Vector try to calculate Projection. Hint: v1 DOT v2 relates to Length of Projects resp you could egg that Way MAP the 3D-Points to 2D-Plane and thus reconstruct there the Lines in 3D-Space. The plain Matter is: you shot simply a Projection-Matrix on that Problem with little other Accounting-Stuff and get Result. That's what you do if you effectivly use if you eg use GL-Rendering!

For Zoom we have effectively just to customize a single Number for Projection, most plain done if Wheel-Events directly increase that Number send to GL as minimal Kind of OverHead for the following Stuff. For Ration we need more Thoughts about taking Input from KeyBoard or Mouse and feed with the very small Construction for the Rotation-Matrix MR (quasi 9 Numbers between -1..+1 similar related like sin(a)²+cos(a)²=1 .. see Pythagoras and trigonometric Functions: a²+b²=c² c=1 eg a=0.5 -> c²-a²= 1²-0.5² = 1-0.25 = 0.75 = b² ... plain: the Triangle's Hypothenuse is 1! The Legs are not longer than 1 and not shorter than 0. This Kind of Matter have to match for RotationMatrix when Points resp representative the ProjectionMatix PM gets transformed. Understand the PM as Kind of Glass you get Stuff on Screen and with MR you can rotate that Glass resp change Perspective. You could same Way rotate the Points, Lines resp Bodies inside the 3D-Map but better rotate via MR the small MP CAM instead the large 3D Map)

Simplified simplified Point: we need just to scale the mandatory Zoom-Facotor and do a single Matrix-Multiplication on ProjectionMatrix to get all that complex stretching and rotating done.

By changing from multiple different Models (mixed Matters of 2D-OverLay-Painting-Models combined with the underlying 3D-Model, any Code to solve Matter of Coverage depending from Z instead directly from Position ... that all adds unnecessary complex wired Stuff and make Things complicated and Code slower due to the CPU with its few Cores have to do that Stuff inclusive Depencies from conditiional Code (if z>visible paint else skip due already to covered from above.).

Don't think we build Rotation inside but: replace Stuff overlayed on Screen related visible Stuff from 3D-Model below into that Model below! .. and thus don't have to rebuild 3D-Matter on 2D-Stuff parallel to an existing 3D-Model below and keep care that related Things like eg. a Road on OverLay is randomly at that Position where it should be to be visible on 3D-Map below. For Roads afaik these are already flat 3D-Models in GL while the other Stuff like Sites and Units get overlayed. Do you think that simpler and straighter is more difficult than the present doubled Accouting to keep Things together? Where do you fear Problems from buggy Grahpic while you claim that you don't worry about better Graphic and go well with the present Quality. You are not concerned about better Grahpic, are you?

Btw: The technical Way the Game (GL) actually texturize the Map is WORSE with Result that best Aritst CAN NOT create Textures which resp that all in all does NOT effect that ugly CuttingEdges between Fields of neighebored Fields. Think of a Kind of Structure-WallPaper you paper a Room and wonder why nicest Motives looks terrible due to for Corners and even neighboured Lines the Cutting gives a friendly Smile how the WallPaper got cutted. Of course you can only use Motives which have a rather uniform Motive resp only InGrainWallPapers -- like those for Mountains. Actually I don't know how to tell GL how to cut the WallPaper resp doubt it even can. It's clearly inside Scope or even Responsivity of GL but I can not remind to saw Methods which indicate that GL does its Job there. SO we have to do CUTTING outside of GL resp. stretch/rotate the Textures outside of GL and supply per trianle-customized Textures ... it is clearly inside Scope of GL but afaics GL fails here to do its Job. Anywhere above I did already explain that I don't consider GL as good Solution. It's more like a SandBank but a Coast and even half in wrong Direction. Better don't feel there comfortable. Hello GL ES, again.

Cutting the Textures is not the real Task that need to get complished but washing them that Way that they shrink into right Geometry that is need for that Field without cutting anything. I still don't know what Term I have to fire here but for sure we have to do any Kind of Matrix-Multiplication for all Pixels as Kind of single colored Points and remap the Result on another Image as customized Texture. We can either throw RAM (tight!!!), HDD (slooow) or Cores (... we may assume Duo-Core as new Minimun) on that Problem .. or use best the GPU directly to do that Kind of raw TransformWork with its 1000 Cores resp utilze GPU-Cores, actually about thousand of these are inside a GPU, for that Kind of Work to flush the GFX. Well, that does not conern to GL. face-wink.png Brief Point for all that foo: I doubt that GL is suited to perform the transforming for customizd Textures while the GPU offers the necessry Performance to do that Job, that Matter is really important to solve that the GFX does not longer looks crappy (I do NOT blame about ArtWork, even best Texture would fail same like a malcutted Motiv-WallPaper on the Wall, eg, half cutted Donald Duck in ChildrenRoom or cutting a VanGoogh same Way - drivng Problem resp Obstacle is not the ArtWork but the Tec, InGrainWallPaper cutted looks better than cutted VanGoogh, btw).

At TopToppie: if you like we may discuss Matters per PM. At SirVer: can you try out how a larger Map 1k X 1k performs on your Gear?

Actually, Amount of TerrainTypes more tight than vital for WL.
Please consider also Need for Special Types resp different Control for Fields. Examples: There exist a Map which is rather linear, eg 96 width and 196 heigh. Now let's assume due to any Reasons it's reasonable to take square Maps as Default or even Requirement. Or assume any small irregular formed Section of Map with special Attrributes, here in both Cases Kind of No-Map-Fields: That Way the square Map could get made like the linear Example-Map explained above. For Maps with irregulary resp free Forms these special TerrainType would solve the Problem avoiding special Code for that Fields. Assume more special UseCases like Terrain which is fogged or shrouded back with other Conditions: eg any Village inside a Hollow which is always covered by Fog or any Area which gets always back in black even it was explored. It it not about these special Examples but the practical Advantage to have enough free TerrainTypeSlots to add Terrain with special Behavior. With or without these special Needs there is Need before these special TerrainTypes like more diverse regular TerrainTypes. 16 is critical tight, 32 would solve many Problems but why don't enlarge to up to 256 Types or even more? Actually WL is not only limited to up to 16 Types but to exactly 16 Types. As I tried to drop one to add later another I encopuntered Problems from. When enlarging from 128 to 256 due to I got the 129 Type I don't want to invent 127 other Types to make 256 complete.

Edited: 2013-11-10, 13:53

Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote
Adamant

Joined: 2012-10-11, 15:21
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-11-10, 17:28

About warping the Texture to archive better Non-Cuttings:
Assume Texture which is already a TriAngle resp Texture is diagonal half one Side Black.
So assume a rectangular Texture which does simply contain a triangle Texture resp complementary
to Rectangle a black Triangle. We assume the black Part of Image as irrelevant resp a Mixture of being irrelevant resp may keep, add and drop black Pixels on Demand to get a TriAngle resp a Rectangle.

Now: Assume a rectangular TriAngle upright standing. We can easily find Transformations to scale Image resp TriAngle in Width and Height. Now the somewhat lesser easy Problem: see the Image as Rectangle
and think we can move&warp with the Cursor by selecting and shifting the upper Corner by a Point
sidewards thus the TriAngle is no longer rectangular.

That Way in different Order of Img-Warps we can warp a Texture Rectange/TriAngle into Shape needed for the uncutted Textures. We may consider any self-written GFX-Lib to perform such simple transformations quckly resp briefly by small Code, eg a single Call of Func to get warped from Args Vectors and Texture.

We can easily calculate Distances resp Angles of TriAngles we need to texture by VectorAlgebra.
Basics here not explained .. Distance of two Points and eg DotProduct of two DirectionVectors to get cosinus alpha. It's basic even it needs to get lerned before can et done but FYI: it's quasi same trivial like calculating Area of a Rectangle while we still think of Numbers and Points and know Area is a Set of Points ... yes via simple Multiplication. Brief Point: you don't VectorAlgebra not by reading few Sentences, calculatings 3 Equations and got the Point but it is anyway same simple and not so simple. Consider learning Natural Numbers and later Fractions resp a/b + c/d = (ad+bc)/bd .. right, simple Addition, we don't know where was the Problem while learning it for Weeks. Btw Vectors are simple! ;)

Distance of two Points resp DiffVector of PositionVectors v1,v2:
sqrt of (v2-v1) * (v2-v1) ... anyway really same like Pythaogoras but SideLengths via Difference of PositionVectors and Length of Hypothenuse via sqrt c^2. Btw: if you can do it via Euklid Geometry you can do it on Paper with Vectors on half Size of Paper as you safe a Lot of OverHead to describe the PayLoad and thus safe a Lot of unnecessary Things. To calculate an Angle between to Lines with Euklid it looks like you want to build a Rocket for Apollo-Programm while with Vectors quasi same looks small and clear.

- DiffVector dv = v2 - v1
- dv^2 equivalent c^2

So we can calculate quasi c as Vector directly from Difference of a,b resp v1,v2 and via Dot-Square of Vectors Result falls on a single Number. Can tell you that Way for Hours and you may think each Time more you did understand but in Fact you have to calculate for half Year with Vectors in many Ways forwared and reward to understand how Things work and real Problem is not to calculate v1*v2 but to know what to calculate when somebody ask much Time does 5 Men need to cut Trunks into Plates when they have 3 Saws and two have to saw as Pair etc... probably solvable via Addition and Mutliplication ;)
If you like for Math when you can draw for Matters a Figure and thus see something visual this is of course most Time also true for Vectors no Matters if you work with spartial Dimensions or Amount resp Mixture of Colors etc. The Vector does not know if it is a Meter Way 5L Milk or 500 Euro ... but you can make a Figure from .. perhaps call it Kind if Chart or something.

However, here we need simply Substraction and Dot-Multiplication to get Distances and Angles.

If we have Distances/Angles and got Lib to warp Texture we have to see how to integrate Stuff cleanly that correctly Textures gets warped on Demand. Anyway I expect here Trouble from Performance due to each TriAngle could mean another Set of Angles and therefore, if we want to deal precalculated Textures to avoid that CPU have to warp each single Pixel from Map then we factor in a significant large Amopunt of installed RAM, or try to safe CPU-Ticks by waiting for HardDisk (FallBack from HyperSpace into TimeTrap .... HDD-Raping .... um wait, have to seek for a another Sector ... oh, wait for avg half Turn of Disk then it will come). So we have as best technical Solution warp Texture on GPU, there exist one-quarter-effective Ways to render that Jon on GPU, IIRC OpenCL was such a HighLevel-Banger, I would go much straighter.... CTM is the Term but addresses actually ATI only as NVidia did not offer anything for and means quasi GPU-ASM. OR 3rd is to offer nice Texturizing via Option-Menu and Player need a Lot of RAM in his RIG. Those who have to have about 16..32GB M*O*R*E RAM on PC just to keep Textures precalculated in RAM. Some could have but real it is sufficient if only all Textures for all visible Fields got precalculated and when scorlling on Map the Members of that SubSet changes. Even better is to store these Textures inside GPU-RAM to reduce needed BandWidth to GPU and CPU-RAM. Assume ScreenArea from about giant 200x200 Fields means 40k Fields resp with hot shotted 20kB per Field&Texture Need for GPU-RAM result in 800MB. That's not a Chunk but a Hump. Brief Idea here: probably reasonable even for moderate modern Gear, more precise Numbers here necessary but with Moore's Law we can for half Amount of RAM add about 2 Years for Limit of supported HardWare. If we think of 128MB as rather close to 800MB (just about 5y distant) we can assert that there exist a Likelihood of better than 50% (consider here 200X200 Fields ... that was almost maximal MapSize Years ago, with theoretical/gpu-ram limited Zoom-Factor of 100X100 on Screen we got already into 128MB-Zone in that Zone is nowhere where I would identify an Objective to aim for 64MB instead. We can nevertheless support older Gear but WITH that Option enbabled not ancient Gear.)

Again small Review: 2D-Warping explained: trivial, no ShowStoppers, 2D-Geometry-Extraction from 3D-Geometry similar trivial. Providing Textures per TriAnlge got utlized from WL since Day One I guess, Tek of Utlization of GPU-MEM for Textures I know from Days of Duke-Nukem-3D .. I wonder if OpenGL already can before next Duke rolls out.

Perhaps start with writing a Class FooPoint, add Transit resp Addition, Substraction etc, rename it Vector and add Multiplications for Numbers (Scalar, scaling) and two Multiplications Vector mul Vector, called cross and dot, the dot is really simple, the cross looks at first wanyway so arbitrary and confusing, it require some Time to understand the regularity resp Symmery of that Kind of Multiplication and then most essential Vector-Arsenal ready to deal less trivial geometric Matters. There exist several important Lemmar ..? like the very essential Term of Linear Depency. It sounds on first Understanding anyway that trivial that it appear currious why that stupid Term get treated so intesively but Reason is it is essential and is same useful for Vector-Algebra like Swiss-Army-Knife for McGyver. How it gets done? Check for Linear InDepencies. Terms like parallel and complanar origin from and appear as some just special Forms from.
Relatede to is the Need resp USe of Gaussian Algorithm. It does not concerns to Vectors directly but to linear EquationSystems which Vectors are as well. Even if GA deals with Scalars resp Numbers it can get well used to deal Question of LD linear Depencies strictly and effiziently. IF Vectors are the Meanings, LD is the Question and GA a good Way to get the Answer - for brief Orientation about these Thingies. IF you try to adapt this Stuff consider that this Stuff goes towards being really not trivial like changing from BiCycle to SportCar or even Lorry - that are really no easy Toys for Kids. If you plan for Stuff above 3 Days or a Week, for real you need for CrashCourse 1 Month. Don't wonder if you think 3 Days later you did not understand anything! Without clear Lessons you would like to mixture Nitrgens to get any Glizerine and may perhaps ask where you get Elektrons from due to you did not really understand what the Matter. You can not stick to Lessons if you don't know that you can get important Knowledge from. Eg you won't believe that you can/should deal with LD for about a single Month and calculate it forward and rewards and sidewards. So you can simply know that you rush ahead to fast when there is nobody who knows that and can tell you. Think ssimply you visit your own DriverSchool and return 3 Days later and claim you can drive. Well, you prepared also the ExamenQuestion. Well, anywhere to start.

Order for Learning: VectorAddition, NullVektor (and THEN Vector-Subtraktion), then Scalar-Multiplication which means Number mul Vector results in Vector: 3*v= 3*(x,y,z) = (3x,3y,3z).
LinearCombination LC: v_lc= s*v1+t*v3+...+u*vn THEN Term LinearDepency LD. Then LC/LD LC/LD forward reward sidewards and then over head. It is not really like the small 1X1 but more like the many reversible Queries fixing resp partiall defining Things for Koeffizients and Vectors. That is perhaps about 2 Month real existing Work you try to accomplkish in a Week and perhaps like to believe you got it really but would it be like that you won't finger like a drunken Blind in the Fog but simply 1,2,3 solve the Matters as the Matters gets mostly rather trivial then. That Matter above with Distance and Angle is at basic Level of VectorAlgebra and not its sweet Fruits it have. Compared with Numbers: don't wonder that 2+-2=0 or 4*5=2*10 .. that's really not its real Magic but .... basic. Best Help I can give: learn from Addition up to LC and LD and stay there and search a very Lot Excessions for in Internet with Aim for odd being and odd looking Excecises and it is for you not about NumberCrunching but Problem-Crunching to map/express PRoblems on Vectors, Relations etc and apply your ToolKit effectively to solve Problems. Don't consider that Incestment of SpareTime into VectgorAlgebra as Minimum necessary to implement Vector-Libs or calculate Distances betweens Points but to deal very effective with geometric Problems. and don't write 100kb arimethic HorrorCode for Things you can get by 3 or 4 Vector-Operations.

In that Context, even it concerns very the visual Behavior of the Game is effefcts very directly the spartial Authenticity of the Game if the Visibility gets also spartial calculated and not geometric. That Means it is very curious that a Castle can look behind a Mountain if that BackSide is near to Castle no Matter how tall the Moutain is. More straighter explained: the Topology and Objects inside Game have little spartial Meaning but the Appearing of the Moutains.


At TopToppie: As you work with 3D-Perspective-Things: may you do some Experiments with artifical SunSets resp Shadows from existing 3D-Bodies inside Game? Actually for eg Sites Shadow is static ArtWork. But for Mountains SunSets would allow Calculation for Shadow from MapMorphology. Players may worry that Shadows of Sites and Units don't behave depending from SunSet while other worry that there is no SunSet what means the latter would like to see imperfect SunSet and thus see Map more plasitcal - I don't know! - but for sure that would make Map appear more dynamical and some Players would like. To disallow the "unnatural ShadowGrowth" like on Equator makings Shadows longright-short-longleft fade out and restart from other Side and then agains short I suggest to consider .. Declination? of eg 22.5 Degrees and thus allow a moderate SunSet resp ShowBehavior between 6Month-Night at Poles and Side-Flip at Horizon. What's the Point here: actually Map looks always same from Aspect of TimeFlow: no Weather, no DayNightCycle etc. 3D-Morphology of Mountains exist ("you get for free").
Matter of SightRange is related to ShadowFall. You can use perhaps use alsmost same Code to calculate MAtter of Pass and Obstacle for Light and Shadow. IF you think of Shadow as Kind of BlackLight emmited reverse from Surface illumintated from Sunlight this ShadowLight have to get projected behind the Obstacle till the4 Ground. So think simply of Kind of PRojection of BlackLight which gets not only by GL as effective MEthod to handle that Kind of MAtter. I am surprisningly not sure how your isometric Things works factoring in Z for Perspective BUT you may think here of a Kind of RADIAL Projection and that is back to VisionRange again same MAtter BUT with DIFF we don't want to know how the Projection looks like but what effectively gets projected and what remain unseen. That is like if we drop Colors from Projection and reversere identify Fields which have a share from Prjection. Simple appears to color each Surface with a specific uniq ColorCode and on PRojection identify the effective Surfaces and ony these gets rendered for VideoOutPut to draw a Map of just the viewable.

The 3D-Thing sounds good at least for Marketing. IMO that Experience sounds more thriving then it gets experienced from People. Hey, do you have Stereo-Speaker? Yo! Sounds better? Yo! Can you hear that Way hear double with two Speaker?` Um....that is not easy to explain, it hear different but I am not sure if Musik sounds doubled tasty ... I mean think about PacMan-3D and then new Faarture Special Dots can let Paccy run through Walls like Ghosts .... the 3DThing buzzes but pays little to effective GameFun. I don't advise here for aor against anything. Balance what you want to put in to increase ROI and from these I can
only know GameFun as PlayerExperience. I am not sure how cheap you get solved 3D-Matter but from Aspect of PlayerExperience I await in long Term more from SightRange and DayNightCycle as this changes the Appearance of Game much more aside of Aspect of Marketing 3D Game buzzes much more than dynamic Shadow and artifical SunSet or SightRange. However, StereoScopy is on my RoadMap and thus also its REQs for Z etc. I did listed here several Things which are anyway related to this Matters and I don't think its valuable to advice to pick all of these Matters onto a single TODO-Item but I think it is valuable to note these Items to consider Relations and Depencies between these. Eg your Z-Matter I did still noit identify as Requirement and now wonder what all is necessary to change to.

First Idea is to use another Parameter for OverHEad GL and thus warp 3D. To get the 2D-Things warped simplest Thing is to put them into 3D-Space and bend them with on the fly.

What Thingies did you identify as 2D/OverLay-Entities? I would btw throw the Dialogs into same Space as well as I won't like to deal with two different but related resp dependend.





btw: perhaps anyway related or useful but for sure via MUL:
http://reference.wolfram.com/legacy/applications/digitalimage/FunctionIndex/WarpMatrix.html


Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote