Topic: New set of graphics
einstein13 |
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 |
SirVer |
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 |
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 |
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 |
Posted at: 2013-11-09, 14:52
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 |
Posted at: 2013-11-10, 13:34
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², 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. 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. 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 |
Posted at: 2013-11-10, 17:28
About warping the Texture to archive better Non-Cuttings:
Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too. Top Quote |