Author Topic: [MAPS] New Terror Mission Map Blocks  (Read 116522 times)

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #30 on: February 26, 2012, 12:39:02 pm »
Nice work indeed luke83. I think map variation is a good thing to keep the game interesting and keep people from getting bored, I can't wait to play openxcom with hundreds of new challenging maps of all kinds.
Also, it would be nice to see experiments with new tileset combinations (for example urban with farm or forest), as this is a unique feature in openxcom that was not possible in the original.

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #31 on: March 02, 2012, 12:51:04 pm »
Ok so i have been playing around with some new tiles to add to the battlefield and i now have the idea for my set ( some graphics still need to be improved -especially my park bench and Dance floor tiles) but i have decide this is enough for my battlescape.

With these additional tiles there will be a few more map blocks than i originally aimed for but that's ok  ;)

Now these are done i need to finish my spawn points and patrol nodes for all existing maps in anticipation for being able to test these in game soon ( i hope), Then i will make a few new map blocks.
« Last Edit: March 02, 2012, 01:16:16 pm by luke83 »

Offline Conti-k

  • pixelpolice
  • Captain
  • ***
  • Posts: 67
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #32 on: March 03, 2012, 12:55:31 pm »
If will be possible to dig holes in basement level I'd add death tiles to 24 voxels object to keep progression 24->16->8->0, instead of 24->0. Also, maybe make ground level tiles not possible to destroy (because hilly stuff cause only a problems)?. Or maybe OpenXcom will act like original in this aspect (which means that there will be blanks at ground level)? I'm curious how this is going to work, especially with crashed UFOs at basement level maps.

As for the keeping correct camera angles for new objects either use grid as reference, or grab any 3d package, create an object, render it, and next paint it over. Seems like default perspective viewport (with orthographic projection) will be ok. Art with incorrect camera angles is eyes burning in 2d games :P

~ just some thoughts
« Last Edit: March 03, 2012, 01:08:11 pm by Conti-k »

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #33 on: March 03, 2012, 01:56:18 pm »
Hey i had thought about digging holes in underground , honestly wouldn't be much use in this map block set as i have kept basement levels to a min as i am unsure what will be happening when the 3d explosions take place. I am still not sure what happens if you shoot through a Floor tile in a house , Do you fall to the lower level and get stuck or do you just float over the hole. I am pretty new to this ( modding games/adding content) so i just want to take things one step at a time.

Out of my custom tiles , the only one that should ( and actually does) have the wrong camera angle is the park benches ( these are the only one i have completely drawn from scratch). The images i attached ( of the benches)  are not actually my newest ones as i spent some time last night adjusting the angle on them to see IF i could make them look correct , so far there better but i am still not happy - it appears i am really not a artist  ;) Most of the new tiles have not been added into  the 33 map blocks as i want to make sure i get them right before i go any further. Originally the only extra Tile image i wanted to have in my set was the underground one but i kinda got carried away with "MCDADD" ;D

FYI: i have not ever modded a MCD-entry before so i may need someone who is experienced with this side of the thing either show me what i need to do OR team up with me for the mapset. Honestly i don't think it will be a very hard job with this map set as i have tried to keep things similar to the original maps.  Maybe you would like to offer your services Conti-K as you seem very precise when your testing something.

Just to keep you all informed , i only have 2 more mapblocks patrol routes/spawn points to add then i will be entering stage 3 fine tuning everything, tonight i noticed a basement with no floor tiles , stage 3 SHOULD find these issues ::)


Offline Conti-k

  • pixelpolice
  • Captain
  • ***
  • Posts: 67
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #34 on: March 03, 2012, 03:24:17 pm »
I am still not sure what happens if you shoot through a Floor tile in a house , Do you fall to the lower level and get stuck or do you just float over the hole.

If it will work like with hilly stuff, then yeah, in extreme situations unit may stuck in 24 voxels deep hole, and that's why I've suggested 24->16->8->0 to minimize it. Besides this will look better, than big, badass hole in the ground :P

I've already made 24->16->8->0 basement tiles (they're based on that XBASE tile), as a part of enhancing original maps, and preparations* for basement level (see attachment).

FYI: i have not ever modded a MCD-entry before so i may need someone who is experienced with this side of the thing either show me what i need to do OR team up with me for the mapset. Honestly i don't think it will be a very hard job with this map set as i have tried to keep things similar to the original maps.  Maybe you would like to offer your services Conti-K as you seem very precise when your testing something.

Personally I'd keep new frames somewhat organized. Like not mixing ground stuff with furniture. This way will be easier to work with files, like enhancing sets further. Small size, organized files vs. nasty giants full of mess. Keep in mind that all hardcoded limitations of original engine will be gone, and that means number of sets used per map as well (or at least I think so :P).

OpenXcom has hardcoded to use only original number of MCDs record, so it's not possible to add new stuff right now. Your new tiles (including "basement" one) will be replaced with something else (and after loading savegame OpenXcom will crash) thus there's no way to perform any reliable tests.

On a side note: of course, adding new entries to binary MCDs is annoying. Much easier would be to work with some human readable format, so you could easily copy&paste one record, and then quickly assign new frames/SCANG.DATs/lofts without using MCDEdit, or hexeditor. The same goes for .MAPs, RMPs, and PCKs. I hope that OpenXcom at some point will get its own format(s), with batch tool that will allow to convert original files with just-one-click :P

* better to make things slowly before you'll get full engine support :P
« Last Edit: March 03, 2012, 04:39:40 pm by Conti-k »

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #35 on: March 04, 2012, 12:01:06 am »
Yes i am not overly happy about the Mixed FRNITURE set either , the hope was i could tweak the Rules somewhere soon to allow these extra tiles into the game so i could  test these in the coming months ( Plan B was to send all my work to Daiky once finished and say " How do i make these work " :P . I would prefer to move all these into a separate MCD record later leaving the original MCD data unchanged as this would make it easier to allow people to MIx and Match later on.  There is no rush in using these as just like all my Sprite mods i cant use them correctly ingame until all the rulesets come out anyway, i am just getting ready for the BIG DAY  ;)

All these have been added using "MCDADD" Basically you copy and past from another MCD record , and change the picture through PCKview. You can download MCDADD from the strategy Core site. Every table in my set has the MCD data of another table , same goes with chairs , this way 95% of the tile should still work the same.

At a later date , i want to build a heap of destructable terrain as shown in my picture above but OpenX 1.0 will be out before i start that project.

Offline Bomb Bloke

  • Sergeant
  • **
  • Posts: 19
    • View Profile
    • StrategyCore
Re: New Terror Mission Map Blocks
« Reply #36 on: March 04, 2012, 04:52:19 am »
OpenXcom has hardcoded to use only original number of MCDs record, so it's not possible to add new stuff right now. Your new tiles (including "basement" one) will be replaced with something else (and after loading savegame OpenXcom will crash) thus there's no way to perform any reliable tests.
I understand if it only loads the original number of MCD files, as the only way to make that dynamic would be via an ini file or something. But hardcoding the record counts...?! Why would anyone go to all the work of adding such a pointless restriction when it would've been way, WAY easier to make it dynamic, like it is in the original game?!

(Yes, I signed up just to rant about this. I'm hoping you're mistaken, as I cringe at the idea of someone copying all those numbers into a great big pointless array.)

If will be possible to dig holes in basement level I'd add death tiles to 24 voxels object to keep progression 24->16->8->0, instead of 24->0. Also, maybe make ground level tiles not possible to destroy (because hilly stuff cause only a problems)?. Or maybe OpenXcom will act like original in this aspect (which means that there will be blanks at ground level)? I'm curious how this is going to work, especially with crashed UFOs at basement level maps.
Curved craters at blast sites! This is a really good idea. It may be better to go 24->22->16->8->0 though, as stray bullets hitting the ground should only take a slight chunk out (if any), and that'd reduce the chance of them creating giant pits everywhere.

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #37 on: March 04, 2012, 06:27:36 am »
Hey BombBloke welcome to the site :)

I am waiting to here from Daiky on the official ruling as i figure he coded it :)   Even if it is hardcode , i am sure its only a temp thing ;)

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #38 on: March 04, 2012, 10:47:51 am »
Welcome Bomb Bloke :-)
I can assure you (and others) that OpenXCom loads an MCD file record per record in a vector of objects... there is nowhere defined or hardcoded how many records are to be found in each of the MCD files.
You can add new objects to MCD files to be used in your maps or you can create your own MCD files and define them to be used in your maps,....

Only restriction is, if you would insert MCD records in the middle of an original MCD file, all the records behind it would shift and original MAPS that are based on this MCD file would become invalid. But this is only normal I think. (I don't see a reason why someone MUST insert records in the middle of an MCD file)

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #39 on: March 04, 2012, 11:27:19 am »
Thanks for confirming that Daiky, for now i will stick to my MIXED frniture.MCD , later ( when i start working on multilevel of destruction) i will move all these out into different object types as it would be better for people in the future if they only want my furniture not everything i created.

Offline Conti-k

  • pixelpolice
  • Captain
  • ***
  • Posts: 67
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #40 on: March 04, 2012, 12:06:10 pm »
I've said right now :P

Currently I can't use new stuff in OpenXcom. I've added new pieces to the map - it's working nicely in original engine, but in OpenXcom new pieces are replaced with default ones. Once I was browsing through Rulesets, and I've found this:

Code: [Select]
https:// Add mapdatafiles
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("AVENGER",new MapDataSet("AVENGER",59)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("BARN",new MapDataSet("BARN",29)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("BLANKS",new MapDataSet("BLANKS",2)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("BRAIN",new MapDataSet("BRAIN",4)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("CULTIVAT",new MapDataSet("CULTIVAT",37)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("DESERT",new MapDataSet("DESERT",66)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("FOREST",new MapDataSet("FOREST",83)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("FRNITURE",new MapDataSet("FRNITURE",26)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("JUNGLE",new MapDataSet("JUNGLE",82)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("LIGHTNIN",new MapDataSet("LIGHTNIN",42)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("MARS",new MapDataSet("MARS",36)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("MOUNT",new MapDataSet("MOUNT",78)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("PLANE",new MapDataSet("PLANE",65)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("POLAR",new MapDataSet("POLAR",81)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("ROADS",new MapDataSet("ROADS",23)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("UFO1",new MapDataSet("UFO1",20)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("URBAN",new MapDataSet("URBAN",112)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("URBITS",new MapDataSet("URBITS",25)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_BASE",new MapDataSet("U_BASE",67)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_BITS",new MapDataSet("U_BITS",8)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_DISEC2",new MapDataSet("U_DISEC2",17)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_EXT02",new MapDataSet("U_EXT02",34)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_OPER2",new MapDataSet("U_OPER2",15)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_PODS",new MapDataSet("U_PODS",11)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("U_WALL02",new MapDataSet("U_WALL02",47)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("XBASE1",new MapDataSet("XBASE1",97)));
_mapDataSets.insert(std::pair<std::string, MapDataSet*>("XBASE2",new MapDataSet("XBASE2",62)));

this does look like MCD record count to me. That would explain why new records aren't loaded. ATM this file is stored in exe, which means is hardcoded. But again, right now. If I did a mistake in reasoning, sorry about that, and please correct me.
« Last Edit: March 04, 2012, 12:09:05 pm by Conti-k »

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #41 on: March 04, 2012, 12:34:56 pm »
Hmm, thanks for pointing that out Conti-k. That is indeed currently defined in there ... but the good news is - I tried with removing that and having a dynamic "size" function which retuns that actualy objects in the MapDataSet (=MCD file) and everything works... UFO crash sites/loading/saving ...
These numbers must have been left-overs from an early system of terrain building where I first build the map without loading the MCD files (so I did not know their size, and I had to define it up front).

I will take care that these numbers are gone now, before we externalizing this to configuration files.

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #42 on: March 11, 2012, 01:00:39 pm »
Above ground for the night club 8)
 I wanted to keep the above ground more open on this block to try to balance out the set.
« Last Edit: March 11, 2012, 01:03:24 pm by luke83 »

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: New Terror Mission Map Blocks
« Reply #43 on: March 18, 2012, 12:12:30 pm »
Good news luke, I can load your custom maps, with custom tilesets and all in openxcom - only by modifying rulesets.
You only probably need to check your spawnpoints - I did see a cyberdisc spawn on a place where he was split in half by a fence.

Offline luke83

  • Commander
  • *****
  • Posts: 1558
    • View Profile
    • openxcommods
Re: New Terror Mission Map Blocks
« Reply #44 on: March 18, 2012, 12:16:19 pm »
OK so spawn point question , A spawn point is only 1 square, a cyberdisc is 4 , which square is  of the cyberdisc is located on the spawn point?