Jump to content

Challenge to the Code Gurus


Skonar

Recommended Posts

Would it be possible to write a new geoscape type frontend that would call on the battlescape and set up battles and take the results to a saved file, or does our extensive knowledge of X-Com Hacking not extend quite so far?

 

For example, Aaron writes a Battlescape scenario and posts it online. People can then download it, run it, and post their results to a challenge board.

 

Or, could similar functionality be put together with one of the save game and map editors?

Link to comment
Share on other sites

Since the battlescape and geoscape are separate programs that work together by way of a batch file, there are a variety of possibilities available.

 

A mission generator would certainly be possible if a program was written that could generate all the right pre-battle files and then call on the battlescape to play them independently of the Geoscape.

 

- NKF

Link to comment
Share on other sites

I've just been thinking that every attempt to give people a bit of a 'competetive' angle when playing X-Com has been limited to non-specific challenges - can you win the game while playing as a technophobe, for instance. I'd just adore having a kind of... 'competetive' X-Com frontend like that, where people could take on the same missions or scenarios and compare notes on how they did.

 

Or, alternately, surely one could then produce new campaign structures? Sequential 'story' mode type missions would be rather interesting, so far as I'm concerned.

 

Anyway.

 

What sort of elements would be in the pre-battle files? Wasn't something like this done with XComUtil, to do stuff like switch sides?

Link to comment
Share on other sites

XComutil operates on the actual savegame files to do the side switcharoo.

 

The pre battle files (the files that go in missdat) are very similar to the savegame files - in fact a lot o them are identical, though there are a few extra files that are used for the two programs to talk to each other.

 

- NKF

Link to comment
Share on other sites

When you go to start a new battle, the game actually makes a "special" savegame in the MissDat folder - Right before the battle actually begins (before the trooper inventory screens appear). This save is a lot like a normal save, only it also contains the info required to generate the new map.

 

It's pretty easy to make the game load this special savegame whenever you like (that is, you can make the game instantly jump to the very start of that particular battle by keeping a copy of that particular MissDat folder). My "toolpack" (check my sig) actually includes a batch file for this very purpose (along with a few more to make the game start from other points too, it's all documented and not too hard to work out).

 

The relevant files in the MissDat folder remain completely unchanged until you start a new mission via the GeoScape. So, you keep entering the Battlescape until you get the exact map conditions you want, quit out, save and distribute the MissDat folder, then other people can use my batch to start the mission from that exact point.

 

Note that if people are using the CE version of the game, they need a split executable to boot straight to missions. XComUtil creates one when you install it, and my pack also includes a tool that mimics this function (though my splitter requires Java).

Link to comment
Share on other sites

When you go to start a new battle, <SNIP> <SNORP> and my pack also includes a tool that mimics this function (though my splitter requires Java).

 

Thing is, would it be possible to use your editor to edit the MissDat somehow? I was hoping to actually engineer stuff that wasn't really in the game, like, for instance, a city-map with a subway station full of civillians to clear with heavy entrenched bugs in a building overlooking it.

 

I am quite hopeful about your toolset which I'd never encountered before, though! I will certainly be scheduling some time to play with it.

Link to comment
Share on other sites

That can be done, but a little manual editing would be involved as well (as things stand). I've only played with map generation a little bit, and I don't think anyone else has written tools to create exact conditions.

 

There are a couple of ways you can go about it.

 

First off, you know how the game takes a bunch of "map modules" when combat starts, sticks 'em together, and creates a larger map? Well, Daishiva's written a program that lets you edit those individual modules. This is the quickest way to create a whole bunch of "new" maps to play on. Catch is when you distribute your "challenge" maps people will also need you unique module files to play them.

 

The file GeoData.dat can be edited to force the game to load a specific set of modules when battle starts. For example, it controls what ships appear on the map - you of course know you can have an X-Com ship and an Alien ship, but it's actually quite possible to have two X-Com or two Alien craft if you like.

 

A bit more manual editing of data files and you can create some pretty precise initial battle conditions. For details on what needs to be changed to achieve which effects, read through this lot - it covers exactly what goes on when battle begins.

 

On the flip side, my Battlescape editor lets you alter savegames (maps that have already been generated). This means you can alter any given tile in a battlescape to exactly what you want it to be, place units exactly where you want them, with the stats/weapons you want them to have. Since you don't need to manually alter the data files with a hex editor you can tailor your maps a lot faster, the only catch is it's not so simple to convert a saved game back into a pre-battle MissDat folder - it can be done by renaming a few files, but all changes to the tiles on the map will be lost. Though you may decide that you don't actually need to go back to the "pre-battle" stage of things (the only thing users will miss out on is the initial equipment screen).

 

Re your subway idea, that's an entirely different keetle of fish. There are no train track tiles in the game. Yes, it's quite possible to add them, BUT you'll need to mess with a lot of files to do it. Adding unique terrain files is a large project in it's own right, and requires a lot of time and research.

 

About the only person who's done any real work to creating new tilesets is Hobbes. You can grab some of his terrain packs (which includes a railway yard) from his website.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...