Jump to content

UDK Map thoughts


ImmortalD42

Recommended Posts

I used a universal UPK Decompressor & Extractor in an effort to load map assets in the Unreal Editor. I have the uncompressed 'CSupplyShip_OverlookA' UPK loaded as a Package in my Content Browser (UDKGame\Content\Maps). However, none of the files are actually registering, due to unassociated 'Actor Factory'. So the map file is there, but I'm currently stuck on how to access any of the models or brushes.

 

Given how extensively the Unreal Engine is changed for any particular game, I'm not sure that extracting map assets is even possible :/ However, I must admit that I am far better versed in the Source Engine, rather a novice when it comes to Unreal. Anyways, just wanted to brainstorm a little, if anyone else has experience with the UDK.

Link to comment
Share on other sites

Yeah, we've known this for a while. The problem primarily is that they are not standard packages, but special XCOM packages. You can use uModel to get the map assets, and you can move around their coordinates and stuff using hex, but actually rendering and editing the levels would require a fairly advanced program which takes the models and their positions and then renders it.

 

Of course, I'm mainly quoting other people here, so I might be getting stuff a little muddled.

Link to comment
Share on other sites

@Krazy Yeah, I'm just now getting that. Whatever in-house adjustments to Unreal they made in the process of compiling the maps appears to be just that- unique to Firaxis. JL; The legend himself :p I appreciate the consideration mate. I'm certainly not done investigating. If I knew exactly what they did, I could figure out how. Btw Johnny, Canada has been my automatic lost country twice in a row now. Nerf Canada :nuke:

Link to comment
Share on other sites

Some of the maps well have Kismet script built in -- any of the Council Missions maps or DLC maps in particular, or the tutorial maps. I'd definitely avoid those for now.

 

Here's my best understanding about how Firaxis bent the FPS-oriented Unreal Engine to make a turn-based third-person strategy game :

 

1) The First-person player is the camera

2) Most maps in Enemy Within (and all the UFO maps in Enemy Unknown) have multiple "player spawn points" -- this is how the multiple starting locations are handled.

3) Both XCOM and Alien units are handled as computer-controlled bot units, except that their "AI" in terms of 3D shooters has been completely gutted

4) Unreal Engine Pawns are all linked to an XGUnit class which contains all of their strategy game stats, as well as commands for movement, shooting, etc

5) For player-controlled units (XCOM units, civilians in special missions, and mind controlled units), commands are initiated via :

5a) XComTacticalController for Gamepad/keyboard input

5b) XComTacticalInput for Mouse input

5c) XComTacticalTouchHandler for touch input

6) Terrains elements are comprised of classes that are accessible and manipulatible (to various degrees) within XComGame.upk :

6a) XComDestructibleActor -- terrain element that has Toughness and is destroyable once enough damage to Toughness has been dealt

6b) XComFracLevelActor -- fragile terrain elements (e.g window glass) that don't have toughness and are destroyed by any hit

6c) XComLevelActor -- terrain element that is indestructible (e.g. ceilings, ladders, ground tiles, structural supports)

 

Some map elements can be placed dynamically, such as XComMeldContainerActor -- the map contains a list of XComMeldContainerSpawnPoint, from which XComGame.upk selects two to spawn the XComMeldContainerActors at.

 

There are also rules that can allow turning UnitPawns into cover-granting actors -- Alloy SHIVs and Sectopods act as low cover elements, while MECs act as full cover elements when using the One For All perk. This is controlled from XGUnit via the StartProvidingCover() and StopProvidingCover() commands. Units that always provide cover (like Alloy SHIVs), have StopProvidingCover() called when they start moving (to remove their cover from the tile it used to occupy) or upon destruction, and StartProvidingCover() called when a move is complete. Such an ability is built into the Pawn itself, but the WorldData is rebuilt using :

class'XComWorldData'.static.GetWorldData().RebuildTileData(vLoc, 96.0, 96.0);

Hopefully this helps! :)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...