Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Custom Foundations
#1
Straight from DCoder's test lab comes this screenshot of custom foundations in action:
[Image: CATEMP.png]
The foundation was generated by me in the process of coding the Ares Custom Foundation Generator, to test both the generator's output as well as the game's and Ares's handling of larger, more complex foundations.

The full foundation is 15x15 cells large, the (auto-generated) code to add it to the game is as follows:
Code:
[CATEMP]
Foundation = Custom
Foundation.X = 15
Foundation.Y = 15
Foundation.0 = 1,0
Foundation.1 = 10,0
Foundation.2 = 11,0
Foundation.3 = 12,0
Foundation.4 = 13,0
Foundation.5 = 14,0
Foundation.6 = 0,1
Foundation.7 = 1,1
Foundation.8 = 2,1
Foundation.9 = 6,1
Foundation.10 = 7,1
Foundation.11 = 8,1
Foundation.12 = 9,1
Foundation.13 = 10,1
Foundation.14 = 11,1
Foundation.15 = 12,1
Foundation.16 = 13,1
Foundation.17 = 1,2
Foundation.18 = 2,2
Foundation.19 = 5,2
Foundation.20 = 6,2
Foundation.21 = 7,2
Foundation.22 = 8,2
Foundation.23 = 9,2
Foundation.24 = 10,2
Foundation.25 = 11,2
Foundation.26 = 3,3
Foundation.27 = 4,3
Foundation.28 = 5,3
Foundation.29 = 6,3
Foundation.30 = 7,3
Foundation.31 = 8,3
Foundation.32 = 9,3
Foundation.33 = 10,3
Foundation.34 = 11,3
Foundation.35 = 3,4
Foundation.36 = 4,4
Foundation.37 = 5,4
Foundation.38 = 6,4
Foundation.39 = 7,4
Foundation.40 = 8,4
Foundation.41 = 9,4
Foundation.42 = 2,5
Foundation.43 = 3,5
Foundation.44 = 4,5
Foundation.45 = 5,5
Foundation.46 = 6,5
Foundation.47 = 7,5
Foundation.48 = 8,5
Foundation.49 = 1,6
Foundation.50 = 2,6
Foundation.51 = 3,6
Foundation.52 = 4,6
Foundation.53 = 5,6
Foundation.54 = 6,6
Foundation.55 = 7,6
Foundation.56 = 8,6
Foundation.57 = 9,6
Foundation.58 = 1,7
Foundation.59 = 2,7
Foundation.60 = 3,7
Foundation.61 = 4,7
Foundation.62 = 5,7
Foundation.63 = 6,7
Foundation.64 = 7,7
Foundation.65 = 8,7
Foundation.66 = 9,7
Foundation.67 = 1,8
Foundation.68 = 2,8
Foundation.69 = 3,8
Foundation.70 = 4,8
Foundation.71 = 5,8
Foundation.72 = 6,8
Foundation.73 = 7,8
Foundation.74 = 8,8
Foundation.75 = 9,8
Foundation.76 = 10,8
Foundation.77 = 1,9
Foundation.78 = 2,9
Foundation.79 = 3,9
Foundation.80 = 4,9
Foundation.81 = 6,9
Foundation.82 = 7,9
Foundation.83 = 8,9
Foundation.84 = 9,9
Foundation.85 = 10,9
Foundation.86 = 11,9
Foundation.87 = 0,10
Foundation.88 = 1,10
Foundation.89 = 2,10
Foundation.90 = 3,10
Foundation.91 = 8,10
Foundation.92 = 9,10
Foundation.93 = 10,10
Foundation.94 = 11,10
Foundation.95 = 0,11
Foundation.96 = 1,11
Foundation.97 = 2,11
Foundation.98 = 3,11
Foundation.99 = 9,11
Foundation.100 = 10,11
Foundation.101 = 11,11
Foundation.102 = 12,11
Foundation.103 = 0,12
Foundation.104 = 1,12
Foundation.105 = 11,12
Foundation.106 = 12,12
Foundation.107 = 0,13
Foundation.108 = 1,13
Foundation.109 = 13,13
Foundation.110 = 0,14
FoundationOutline.Length = 94
FoundationOutline.0 = 0,-1
FoundationOutline.1 = 1,-1
FoundationOutline.2 = 2,-1
FoundationOutline.3 = 9,-1
FoundationOutline.4 = 10,-1
FoundationOutline.5 = 11,-1
FoundationOutline.6 = 12,-1
FoundationOutline.7 = 13,-1
FoundationOutline.8 = 14,-1
FoundationOutline.9 = 15,-1
FoundationOutline.10 = -1,0
FoundationOutline.11 = 0,0
FoundationOutline.12 = 2,0
FoundationOutline.13 = 3,0
FoundationOutline.14 = 5,0
FoundationOutline.15 = 6,0
FoundationOutline.16 = 7,0
FoundationOutline.17 = 8,0
FoundationOutline.18 = 9,0
FoundationOutline.19 = 15,0
FoundationOutline.20 = -1,1
FoundationOutline.21 = 3,1
FoundationOutline.22 = 4,1
FoundationOutline.23 = 5,1
FoundationOutline.24 = 14,1
FoundationOutline.25 = 15,1
FoundationOutline.26 = -1,2
FoundationOutline.27 = 0,2
FoundationOutline.28 = 3,2
FoundationOutline.29 = 4,2
FoundationOutline.30 = 12,2
FoundationOutline.31 = 13,2
FoundationOutline.32 = 14,2
FoundationOutline.33 = 0,3
FoundationOutline.34 = 1,3
FoundationOutline.35 = 2,3
FoundationOutline.36 = 12,3
FoundationOutline.37 = 1,4
FoundationOutline.38 = 2,4
FoundationOutline.39 = 10,4
FoundationOutline.40 = 11,4
FoundationOutline.41 = 12,4
FoundationOutline.42 = 0,5
FoundationOutline.43 = 1,5
FoundationOutline.44 = 9,5
FoundationOutline.45 = 10,5
FoundationOutline.46 = 0,6
FoundationOutline.47 = 10,6
FoundationOutline.48 = 0,7
FoundationOutline.49 = 10,7
FoundationOutline.50 = 11,7
FoundationOutline.51 = 0,8
FoundationOutline.52 = 11,8
FoundationOutline.53 = 12,8
FoundationOutline.54 = -1,9
FoundationOutline.55 = 0,9
FoundationOutline.56 = 5,9
FoundationOutline.57 = 12,9
FoundationOutline.58 = -1,10
FoundationOutline.59 = 4,10
FoundationOutline.60 = 5,10
FoundationOutline.61 = 6,10
FoundationOutline.62 = 7,10
FoundationOutline.63 = 12,10
FoundationOutline.64 = 13,10
FoundationOutline.65 = -1,11
FoundationOutline.66 = 4,11
FoundationOutline.67 = 7,11
FoundationOutline.68 = 8,11
FoundationOutline.69 = 13,11
FoundationOutline.70 = -1,12
FoundationOutline.71 = 2,12
FoundationOutline.72 = 3,12
FoundationOutline.73 = 4,12
FoundationOutline.74 = 8,12
FoundationOutline.75 = 9,12
FoundationOutline.76 = 10,12
FoundationOutline.77 = 13,12
FoundationOutline.78 = 14,12
FoundationOutline.79 = -1,13
FoundationOutline.80 = 2,13
FoundationOutline.81 = 10,13
FoundationOutline.82 = 11,13
FoundationOutline.83 = 12,13
FoundationOutline.84 = 14,13
FoundationOutline.85 = -1,14
FoundationOutline.86 = 1,14
FoundationOutline.87 = 2,14
FoundationOutline.88 = 12,14
FoundationOutline.89 = 13,14
FoundationOutline.90 = 14,14
FoundationOutline.91 = -1,15
FoundationOutline.92 = 0,15
FoundationOutline.93 = 1,15



Of course, that's an extreme example. The game's 3x3Refinery foundation's code would look like this:
Code:
[GAREFN]
Foundation = Custom
Foundation.X = 3
Foundation.Y = 3
Foundation.0 = 0,0
Foundation.1 = 1,0
Foundation.2 = 2,0
Foundation.3 = 0,1
Foundation.4 = 1,1
Foundation.5 = 0,2
Foundation.6 = 1,2
Foundation.7 = 2,2
FoundationOutline.Length = 17
FoundationOutline.0 = -1,-1
FoundationOutline.1 = 0,-1
FoundationOutline.2 = 1,-1
FoundationOutline.3 = 2,-1
FoundationOutline.4 = 3,-1
FoundationOutline.5 = -1,0
FoundationOutline.6 = 3,0
FoundationOutline.7 = -1,1
FoundationOutline.8 = 2,1
FoundationOutline.9 = 3,1
FoundationOutline.10 = -1,2
FoundationOutline.11 = 3,2
FoundationOutline.12 = -1,3
FoundationOutline.13 = 0,3
FoundationOutline.14 = 1,3
FoundationOutline.15 = 2,3
FoundationOutline.16 = 3,3

Editor view:
[Image: arescustomfoundation3x3.png]

Illustration of how it usually looks ingame (courtesy of Vinifera7):
[Image: 3x3refinery.png]

With the code fixed/expanded and the tool to generate them available, custom foundations should now fully work in Ares! Smile
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#2
Nice!
Sorry about losing (*cough* deleting *cough*) everything related to RP2, including the FoundationMaker sources.

Seems you already got a working replacement.
What the heck is that GUI? :S
[Image: jsfml.png]
Reply
#3
Had you followed the link provided, you would have seen it Wink - it's a website. A self-contained HTML file, to be exact, also placed in Ares's Doc folder to ensure availability of the generator. Needs a 'net connection, though, 'cause it gets jQuery from Google.
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#4
Question: what is the purpose of the outline - what does the game do with it?
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#5
great! I wonder what kind of building people will create now.
Only if gamemate was still here......
Reply
#6
So does this mean I could make a building 4 by 6 now? Or do we have to wait for Ares
Reply
#7
lol

Marshall: The original foundations all have it, but the only use I've seen for it is on land based war factories, where the 11th cell, FoundationOutline.10= , will be used as the default exit point for produced vehicles. If it's occupied, objects in all eight cells surrounding this cell, regardless of whether they are declared as part of Outline, will receive the instructions to Scatter as to make room. The rest of the outline cells are also treated as preferential exit locations, but obviously that doesn't work well for some reason. Basically, as far as I can tell, just make sure that 11th cell is the center of where you want the produced units to gather around.

Worth playing: 1 | 2 | 3
Reply
#8
(You can set FoundationOutline.10 explicitly by using shift+click in the editor.)
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#9
Sad 
Update regarding War Factories: Using different exit paths than the existing one for normal vehicles is impossible for now, and will stay that way until someone smarter than me can read the locomotor code and extend it. Hover vehicles and jumpjets have their own exit paths which can be made changeable, but I don't think it's worth fixing without ordinary vehicle support. So, using custom foundations on War Factories is not supported.

Details: When exiting War Factories, objects get spawned in the ExitCoord= cell of the factory.
If the object uses Teleport or Tunnel Locomotors, it gets imbued with the Drive Locomotor and instructed to Force_Track(66) and go to the earlier mentioned Outline.10 cell.
If the object uses the Drive Locomotor, it also gets instructed to Force_Track(66) and go to Outline.10.
Otherwise, the object is told to go to cell (4, 1) relative to the factory's top corner cell.

Problem is, Force_Track() is an instruction for it to pick one of the predefined behaviours. In this case, track 66 is "four cells down that way\", and it calculates where it should start from based on the wanted exit position. Which means that, for example, if I pick a 3x5 foundation to mirror the current 5x3, and set an arbitrary ExitCoord=, this will happen:
[Image: warfac.png]
1. All units spawn here.
2. Teleport, Tunnel or Drive Locomotor -equipped units will warp to here...
3. ... and drive out to here ignoring any obstructions in the way.
4. Whereas all other units will use their normal Locomotor from (1) to arrive here.

Worth playing: 1 | 2 | 3
Reply
#10
Nice to see this features return, i remember very well when pd was first coding it up!
Reply
#11
May one inquire how you got the Custom Foundation Generator to be rotated?

Sad thing about the War Factory though, but for most people, it probably won't be too much of a big deal. Though we couldn't do anything about it anyway.
[Image: darkstormsmall.png]
Reply
#12
Simple: I use a real browser, rather than a standards-slaying infection vector.
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#13
I know War Factory's have problems, but what about Ore Refineries? Don't they have a hardcoded docking cell?
Reply
#14
Middle cell of the bottom row, I think.
Ares Project Manager.
[Image: t3wbanner.png]
[Image: cncgsigsb_sml.png]
Open Ares positions: Documentation Maintainer, Active Testers.
PM if interested.
Reply
#15
(11.10.2009, 08:00:00)Renegade Wrote: Simple: I use a real browser, rather than a standards-slaying infection vector.

Which browser? I checked in Firefox and Opera and it still wasn't rotated.
EDIT: It rotates in Google Chrome.
"The present is theirs. The future, for which I really worked, is mine."
- Nikola Tesla

"My - y - my - your - my vision has permutated. My - y - my - your - my plans have followed a path unpredicted by the union of Nod and GDI. Your - my - our - our directives must be reassessed." - Kane/CABAL

[Image: 9853.png]
Reply




Users browsing this thread: 1 Guest(s)