Jump to content

Increased Pod Size


Amineri

Recommended Posts

No, I'm using the exe change for rapid editing and testing, but there's nothing yet I can use in a mod installer. Dreadylein apparently has made a crack at an executable patcher (something that is beyond my skills), but it appears it isn't yet working: http://forums.nexusmods.com/index.php?/topic/1001468-forcing-game-to-load-from-defaultgamecoreini/.

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 107
  • Created
  • Last Reply

Top Posters In This Topic

I've been slowly working on making this easier to add to a larger mod.

 

The primary issue has been figuring out a way to create the larger squads in a configurable way, which I haven't figured out. There is also a practical limit of 9 aliens per pod, as aliens are apparently limited to being placed in a 3x3 tile area surrounding the spawn point. I tried to increase the radius of the "spawn ring", but aliens placed outside of that area aren't being placed at all, and I haven't figured out why.

 

That said, pods of 9 are pretty daunting, even given that many of the maps appear to have a limit of 4 pod spawn points (that's still 36 aliens on a map :o).

 

I've been working with johnnylump, who has been coding up new StrategyAI functions for determining pod composition and size. Unfortunately the code and the design/balance are pretty mixed up, and requires some decent hex-editing skills to alter.

 

Long term I'd like to create a 'points' system for the AI to use in creating mission squads, but that is a pretty significant undertaking.

 

So far I've got the ability to create pods of up to 3 different types of aliens:

eMain : 1 alien, can be "leveled up"

eSupport1 : any number of aliens

eSupport2 : any number of aliens

 

The leveling up process basically allows for configuring additional stats and/or perks based on the leader level.

 

----------------------

 

So far the code seems pretty stable. Only possible problem noted so far is that aliens mindmerging XCOM soldiers appears to cause a CTD, which may or may not be related to the larger pod size.

Link to comment
Share on other sites

This looks very interesting.

 

I often wonder why the urge to radicalise the entire game - sometimes less is more. :smile:

 

To my mind a pod count of even four is a 33% increase in difficulty alone. You're talking about nine!

 

I'd love to see pods of up-to-four (randomised but far more likely on the larger UFO's and Terror Missions). That alone would go a long way in creating a few more cringe moments - especially when ganged by multiple pods.

 

Also, something that's been bothering me for a long time are the spawn points on certain maps - lots of maps. For me the best part of the game is the steady positioning into the fog of war looking for the hated enemy. What deflates me often are those maps where you spawn in and the first move you make reveals the first pod with the second and third pods being only another move away. So 90% of the entire fight is conducted in sight range of the skyranger - and this happens on some of those larger more urban maps too resulting in much of the map, including some nice and complex buildings as well as the roof top battlespace, remaining constantly neglected. That's a real shame.

 

Can you guys influence which spawns points are active on a map? Could you disable the spawn point closest to the skyranger on certain maps? I was thinking that because the number of spawn points is fixed, and because I'm suggesting that at least on some maps we (that means you :biggrin:) disable the initial spawn point, that an increased pod size for the other spawn points - those deeper into the map - would result in the same number of aliens on the field, in larger groups (even if only of four) upping the difficulty (at least modestly) while preserving balance and making each map much more dynamic and less routine.

 

Another thing that would be truly refreshing would be multiple skyranger entry points (xcom spawn points) on all the maps. I assume that would require a dedicated map edtor though.

 

Anyway, thoughts on this pod idea? And is it actually doable?

Edited by Zybertryx
Link to comment
Share on other sites

There are incredibly limited amount of spawn points anyway on most maps, which is why we're trying to increase the size of each pod instead of making more. My personal preference to this pod modlet is to design aliens into squads e.g. 1 Muton Elite, 4 Mutons, 1 Sectopod 6 Drones(possibly weaker), to create more diverse and cooler groups of enemies that you fight against.

Link to comment
Share on other sites

Yeah, that would be really cool. Fewer pods but larger and themed. This might actually have as a side-effect some of the gameplay I was hoping to encourage too. With less pods, there'd be less active trigger-spawns, so potentially more movement around the maps before contact.

Link to comment
Share on other sites

I don't know much specifically about the spawn points, as they are defined within the maps, and we don't have a map editor, nor has anyone (to my knowledge) cracked into the map files.

 

From the upk code that selects the spawns points I know the following:

  • Some spawn points are designated as "commander" points -- this is how the placement algorithm knows the valid points to place a UFO commander pod at (e.g. inside small scout)
  • In most other cases the AI randomly deploys pods amongst the available spawn points

Most of the logic governing how and where to place pods is in the class XGDeployAI

 

One of the root functions that kicks it off is XGDeployAI.DeployPods :

 

 

function array<TAlienSpawn> DeployPods(out TAlienSquad kAlienSquad)
{
    m_kSquad = kAlienSquad;
    SetDeploymentFlags();
    GetPlayerStart();
    GetPossibleSpawns();
    DeployMissionCommander();
    DeploySecondaryAliens();
    DeploySoldiers();
    DeployHunters();
    DeployRoaming();
    return m_arrDeployments;
    //return ReturnValue;    
}

 

 

This is called early on from the XGOvermind.Init

 

The possible flag settings governing how the Overmind (the overmind is the like the GM, and is used to keep distinct what the AI knows about the player from what the impartial game referee has to know to handle the game mechanics).

 

 

enum EDeploymentFlags
{
	eDeploy_Random,
	eDeploy_ClosestFirst,
	eDeploy_FurthestFirst,
	eDeploy_Custom,
	eDeploy_MAX
}; 

 

 

 

The core function that returns the spawn points appears to be XGBattle_SP.GetSpawnPoints. This function is generally called as a part of the LoadSquad call (setting the spawnpoints parameter for the LoadSquad function).

 

There are also some classes XComSpawnPoint and XComSpawnPointNativeBase that handle the lower level mechanics of extracting the spawn point information from the maps. These are pretty small, and mostly server as wrappers for returning class variables. Most of the actually functionality of reading the map info appears to be in XComSpawnPointNativeBase.FindSpawnGroup, which is a native function (so in xcomgame.exe).

Link to comment
Share on other sites

  • 4 months later...

Hi.

 

I always wanted a separate mod for bigger pods without any other major changes. Recently I've got time to finally make it. I used this topic and Long War files to make pods grow in size as the time passes. It was my experience that mid-to-late game is to easy with those 6-on-3 fights (even on Impossible). So I increased the pod size up to 4 since 3rd month and up to 5 since 5th. Plus some other changes to make number of aliens per mission more random. I want to share this mod for anyone to try (and test), but I'm no expert on the installers. Will it be legal if I just share modded upks and exe?

 

PS Here is a screenshot from a Classic game I'm playing now for testing purposes: http://steamcommunity.com/sharedfiles/filedetails/?id=192120133

Edited by wghost81
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...