tracktwo Posted July 10, 2015 Author Share Posted July 10, 2015 Oh for sure, demonstrative maps are all that's really needed right now, just to get a feel for it and shake out a few potential issues before we get too far down the road in any direction. I'm not entirely sure how the coordinates and re-scaling will pan out, which is another reason I wanted to get some basic functionality in sooner rather than later. One thing I noticed is that in my last post in the flash thread is that the resizing code seemed to indicate it was setting the viewport to 1280x720, even when my resolution was 1920x1080. But when querying flash it told me the resolution was 1920x1080. So it could be the game considers 1280x720 to be the "native" resolution and scales from there up to higher resolutions? Not sure, I need to experiment more with it. Scaling down to resolutions lower than 1280x720 had flash reporting the same, lower, resolution as the game was running in. Dunno whether I have a preference for 1 or 2. 2 fits the situation room more naturally. An alternative #1 is to use the actual hologlobe itself and just overlay the new info on top of it, hiding the other UI elements (if possible). More to look into. A similar hologlobe is used for choosing the starting country at the start of a campaign. Speaking of, this technique could probably be used to load a more user-friendly UI for that purpose, maybe even implementing the original concept art version. Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 10, 2015 Share Posted July 10, 2015 (edited) Yep, i also think the 1280x720 fallback resolution is the Firaxis way to maintain consistancy in its GFX scaling variations. Most code routines simply keeps referring to that default in a number of functional components while dispatching various procedural resets if need be (user settings being one of those). The #2 option would be the most coder-friendly for any complex calibration of coordinates... but this assumption needs formal incode testing to evaluate its general power. The HUD has a knack for cute buttons, automated texturing and SWF gimmicks. Such active elements are all battling for efficiency while stacking in the precious memory space, i gather.Thus, we just don't want to overload the process (well - the global balance between dispatched calls and the need to distribute our multiple "objects" in a speedy manner) even if it will probably be isolated from other areas. My first target was indeed the country Geoscaping as a core feature of the secondary Summary options where 16 selections (and individual pseudo-maps) should be offered. If we must zoom onto the (per months, indirectly the 17th context) HoloMap, we might have to get in with a bang of magic 3d fun. The trick with it is that visual properties and abstract features must be smoothed out enough for easy of use. Considering an entire campaign can easily stack for a good 12 to 16++ months... i wouldn't be surprised 150+ UFO events should fill up our central screens -- nearly 20 of which could even clutter up Brazil and Argentina (EACH) in July 2016! Tiny Cyan & Blue circles spreading on just those two small maps. Now - you understand why it matters that a country level HUD is important; Abductions, Council, Terror missions still happen. And they must use their own tags and screen(s) spots! I fear we're getting near to discarding the Situation Room default background model... which i would rather not. In the meantime, i've redone a tilted Japan and tested it with grid & the 8-boxes... looks cool to me. :wink: http://s14.postimg.org/3wjio42w1/Country_Japan_w_Grid_8_Boxes_sample.png I feel the Mission-Box (4x5) would fit nicely right underneath North-Korea, right?And -- yes, any of these Box-Groups (made them shorter too, btw) can be relocated (up-down-left and/or right) via SWF parameters! :D PS; Concept Art?? Edited July 10, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 10, 2015 Share Posted July 10, 2015 (edited) About that tricky #2 solution... How's that to gain some perspective on what could be done if we can "run" a straight (but still customized without any artifacts and given its proper color for the country in focus -- in this sampling version -- Brazil would have to become "greenishly" easier to support many tags) GeoScape that hovers directly above everything on screen?! http://s13.postimg.org/hrby5y9tj/Basic_Mock_Up6_Geo_Holo_Test.png With more subtle glowing effects, a relocated 8-Boxes and the Mission-Box somewhere around!?! :smile: Edited July 10, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 10, 2015 Share Posted July 10, 2015 (edited) Something else... I've just made a quick reference file that will possibly come handy once we try manipulating our custom 3D-Geoscape in the "Campaign Summary" HUD at encoding level.This is what i mostly took as data to create 16 specific KeyBoard macros on my Logitech G110 that provides three different sets of G1-G12 keys. Since i really didn't want to mess around into the DefaultInput.INI gameplay file (with bindings) to inspect (or create snapshots of) these ingame (aside from having to continually go to the setup phase of Bonuses selection), i needed some direct camera controls that sends me to each country Capitals at will. "GlobeLookAt" for all 16 Countries centered on each Capitals... ---------- ((USA)) :: (iType=95, v2Loc=(X=0.2860, Y=0.2839), iCountry=0) ; Washington ((CAN)) :: (iType=15, v2Loc=(X=0.2860, Y=0.2420), iCountry=15) ; Ottawa ((MEX)) :: (iType=16, v2Loc=(X=0.2210, Y=0.3880), iCountry=21) ; Mexico City ---------- ((ARG)) :: (iType=76, v2Loc=(X=0.3370, Y=0.6880), iCountry=20) ; Buenos Aires ((BRA)) :: (iType=83, v2Loc=(X=0.3740, Y=0.5750), iCountry=19) ; Brasilia ---------- ((EGY)) :: (iType=71, v2Loc=(X=0.5880, Y=0.3390), iCountry=18) ; Cairo ((SAF)) :: (iType=68, v2Loc=(X=0.5790, Y=0.6420), iCountry=22) ; Pretoria ((NIG)) :: (iType=191, v2Loc=(X=0.5207, Y=0.4496), iCountry=25) ; Abuja ---------- ((UNK)) :: (iType=22, v2Loc=(X=0.5000, Y=0.2130), iCountry=3) ; London ((RUS)) :: (iType=37, v2Loc=(X=0.6000, Y=0.1800), iCountry=1) ; Moscow ((FRA)) :: (iType=28, v2Loc=(X=0.5040, Y=0.2300), iCountry=5) ; Paris ((GER)) :: (iType=33, v2Loc=(X=0.5360, Y=0.2080), iCountry=4) ; Berlin ---------- ((CHI)) :: (iType=55, v2Loc=(X=0.8250, Y=0.2760), iCountry=2) ; Beijing ((J-P)) :: (iType=45, v2Loc=(X=0.8880, Y=0.3000), iCountry=6) ; Tokyo ((IND)) :: (iType=42, v2Loc=(X=0.7130, Y=0.3390), iCountry=7) ; Delhi ((AUS)) :: (iType=141, v2Loc=(X=0.9151, Y=0.6961), iCountry=8) ; Canberra ----------For example, using the devConsole instruction "GlobeLookAt 0.8880 0.3000" leads to Tokyo! Japan is then neatly centered but very small in proportion to much bigger Nations. :wink: Eventually we'll also have to decide how to Zoom In and Rotate the "Views" for better context and sufficient space to show all of our mini-mission-tags on that custom Globe. Edited July 10, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
tracktwo Posted July 11, 2015 Author Share Posted July 11, 2015 Great! I did some more looking around in the unrealscript and here's my findings: The mission summary journal entry is recorded in the strategic layer, which is why I didn't find it before. So this is easily moddable. It's defined in XGStrategy.RecordMissionResult. The city and country of the mission are available to this function, but just aren't currently written. The 2d location of the mission is also available and can be written. Regarding coordinates: from what I can tell so far, the mission object records coordinates in the 2d map space. It looks like it directly uses these coordinates to draw the UFO sprites on the situation room map with no translation. The hologlobe view transforms these coordinates to match the current globe rotation when it draws the UFO icons on the globe. The tricky bit will be in the "zoomed in" per-country view. If the per-country view retains exactly the same aspect ratio and rotation as the full map, as in it's exactly just a zoomed in version of the map, this is a simple scaling operation to translate the coordinates. Another option that would work for all the missions except UFO missions is just to by hand determine the coordinates in the blown up map for each of the cities and map the coordinates for the mission on a city-by-city basis. UFO missions are going to be impossible to correctly draw on the blown-up map anyway as it's common for crashed UFO coordinates to actually be way outside the borders of the country it's supposedly associated with. One option would be just to associate each UFO mission with the closest city in the country (in terms of vector distance), and draw it there. Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 11, 2015 Share Posted July 11, 2015 (edited) Gosh, you're right. Why complicate the process with orthographic "translations" picked from the GeoScape Globe. The main resources that draw anything on that globe are basic (and properly formatted in a 2:1 ratio) Equirectangular files anyway. Since the XY proportions are referred as (0.0000) to (1.0000) UV-style coordinates for runtime calculations... we might as well adhere to such principles as much as we can. Thus here's the low-down truth of the essentials, i guess. 1) T_Earth_Main is the principal asset. 4096x2048 in size. Visually, it's a pure Natural satellite view rendering without bathymetry (oceans are strictly shading blues). There are plenty of other variations available online from which i could simply design our 16 "Map textures" in the previously exposed thematic Dark-Cyan with grids and supplemental layers. 2) The engine then applies a variety of effects (Night lights, Clouds animation, Holographic "borders", many mini-models like satellites, bases & mission symbols, etc) to the Geocape spherical meshing. We'll probably won't have to use any of those except for a custom set of National borders to create when our images are made. 3) The zoom-in concerns are almost easy to address. For example -- a theory textured map background for the UK is directly related to my 20x10 grid system. The country itself could be "centered" and "built" from its current 2x3 location. Doubled or tripled in size to fit the 952x508 ratio of the worldwide framework. Done. 4) Another easy principle would be to restrict any (absolute for clarity and visual appeal) needs for some rotation(s) to a strictly valid 90° angle and range. Instruct the tagging function to react to that new referencing state and deploy the symbols on that custom map. Not many countries should require this custom step, btw. 4a) Here's a quick list of those that really are perfectly fine when shown as they appear on the equirectangular structure; AUS, CAN, CHI, EGY, FRA, GER, IND, MEX, NIG, SAF, UNK, USA.4b) The others with 90 angles; ARG, BRA, JAPAN (I soooooo wish could get a 45° version instead)4c) RUS is a special case for orthographic (or even Mercator) rendering if possible... otherwise, it will become very thin and wide on the EquiRect "scaling" limitations.4d) Zooming factors could go from +1.5 to +4 on average for any of the above. 4e) What i'll do (to have better understanding of what's involved) is a combo picture where all the calibrated boxes are shown in specific colors on a smaller T_Earth_Main sample. EDIT... here it is! http://s29.postimg.org/6j3hk6xjr/Calibrate16_Areas.png USA is without Alaska -- for now! :) 5) 90% of the task falls into holding a final version for each that has the correct "visual balance" with our Dark-Cyan theme. To receive the grids, symbols... etc. Here's a test i had made earlier with the UNK+FRA+GER cyan concept that uses T-Earth as its graphic template. All that becomes necessary is to drop a SHP layer of coastlines and corresponding borbers... and so on. http://s10.postimg.org/bb6hy5xsp/UK_France_Germany_Test_DC.png Good bye SVG and various orthographic perspectives that aren't standardized. :wink: Edited July 11, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
tracktwo Posted July 12, 2015 Author Share Posted July 12, 2015 Awesome stuff! This looks like it's really starting to come together now! On my end I have modified the mission summary journal entries to include the city and map coordinates. This is working just fine. Missions that don't have a city will record City -1, but will have coordinates. I don't have saves handy at the moment, but I imagine that some missions will have neither cities nor coordinates, e.g. the base defense. I'm not sure about base assaults or the air base missions. These all have special mission types that are recorded in the mission log though and can be handled specifically. Base defense is easy cause its the same location as HQ. Base assaults would probably be wherever the HQ would have been had it been based in that country. I may need to add another entry to the journal to record the country, though. I don't think I have any saves handy that have an available base assault to test it. I did validate that an abduction mission correctly recorded both the city ID and the coordinates, and a landed harvester I had that landed in central china had coordinates recorded that were almost exactly what I had estimated they would be by eyeballing the position of the UFO icon on the situation room map. I think my next step will be to actually start writing the code that will process the journal entries so they will display better than the raw strings that are recorded now. Once that's done and verified with the blue-box movie, we can start actually integrating the graphical elements onto the situation room. I can definitely start with the preexisting whole-world map in the situation room. Were you planning on keeping that one as-is and just working on the per-country maps or had you planned to replace the world map entirely too? Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 12, 2015 Share Posted July 12, 2015 (edited) About "true to gameplay facts" coordinates... I've been wondering if the actual SkyRanger flight pathing (from any bases or HQ which are consistantly deployed in their own same screen spots) would somehow contain the correct relative destination XY. Cuz, it's a fairly common gameplay feature. Every time, the HUD proceeds with such trajectories -- it's ending on a spot populated with small 3d models that a SWF animation surrounds with some target "flash". So -- that particular code event certainly requires exact locations parameters. Wouldn't know if these values are logged though. The whole-world map is done (and now -- fixed with your requested 1024x512 version)... http://s13.postimg.org/tlsv70al3/Holo_Map_Snap_1024x512.png You simply have to click the image to save it on your PC.Not sure yet about the final GRID layer... i might have to go for a 24x12 (15°) structure and fit it onto the 952x508 size above. 24=40 (losing 4 on each sides) and 12=42 pixels that must include framing lines. EDIT == Okay, i've made it as a standard 1024x512. Along with the current Mission symbols... http://s30.postimg.org/464nmk7ld/Missions_Bar_75.png Here's the final "Mission-Box" & the "Numeric-8-Boxes" also... http://s17.postimg.org/rr3i1ql5r/Mission_Box_w_Gradient.png -------- http://s24.postimg.org/r38fi0h5h/Numeric_Boxes_Less_Tall_ALL8.pngAs you will see these use a gimmicky tiny pixel for precision in their top-left corner. Design decision. :wink: That should give you some valid GFX resources to play with!!More to come... Edited July 12, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 12, 2015 Share Posted July 12, 2015 AND... Don't forget the engine expects DDS textures (normally) and these things must have resolutions that give multiple of 4's for compression reasons -- IF we'll decide to reduce their memory trails - that is. It's a good habit to have anyway for any Flash components. My 8 colored circles are (then) 32x32... http://s24.postimg.org/5fo2lb64x/Map_Tag_Circle_G32.png--http://s11.postimg.org/ivbn4xa33/Map_Tag_Circle_C32.png--http://s16.postimg.org/3rn5zt2bl/Map_Tag_Circle_Y32.png--http://s13.postimg.org/wqpebglj7/Map_Tag_Circle_O32.png--http://s2.postimg.org/9ge4mnbtx/Map_Tag_Circle_R32.png--http://s30.postimg.org/3t8o2mzxp/Map_Tag_Circle_B32.png--http://s27.postimg.org/vjr8mninz/Map_Tag_Circle_M32.png--http://s12.postimg.org/9vhrqdphl/Map_Tag_Circle_V32.png Link to comment Share on other sites More sharing options...
Zyxpsilon Posted July 12, 2015 Share Posted July 12, 2015 (edited) As a result... this is how they all look alike on a temporary (with the old 20x10 grid) mockup! http://s28.postimg.org/fccafd6ql/Basic_Mock_Up7_w_Layers_Sample.png ... still -- a work in progress but we'll get there. :D Edited July 12, 2015 by Zyxpsilon Link to comment Share on other sites More sharing options...
Recommended Posts