2015-01-12

Dear Firefly-Team,
Some nice words first. I respect you guys. You made an awesome new game, which makes more fun playing than Crusader 1, as I think, and it is impressive that just two guys - if I counted correctly - programmed all this stuff. The Steam Workshop is a great system for sharing custom maps, and I say this as a steam hater.

However, there is one big, very big issue with Crusader 2 which could be reduced to "a bit annoying" with a simple feature called "Logging" and "Human-Readable Error Messages". This will be a little (mostly polite) rage post about my experiences while making maps. Sorry for that, I do not intend to offend you, just to make you understand how I felt and feel making a map for Crusader 2. Yupp, something as simple as that.

First things first: That's the map I'm currently working on.

https://www.dropbox.com/s/jemkxwouf4gro ... p.png?dl=0

Pretty neat, huh? Big, a ton of details, hidden easter eggs,... stuff like that. Simple skirmish, no events, no other magic. Took me many days to reach this far. As you may notice, this map is file number 18. Currently I have 19 saved versions of this map plus one bug-finding-version. That by itself should alarm you. Ask yourself a simple question: "Why would the user need to save every single step of his custom map?" And here begins my little story...

First of all: You know me. I sent you an issue about a missing scroll bar in the editor. The screenshot's resolution is actually higher as my screen's native resolution. The map editor would be cut at the height of the ship in Italy, which would also cut away the brush and the brush's size/intensity while texturing, which would make pretty texturing pretty much impossible. You said that no editor changes would be done in the near future. Okay, fine, so I keep scaling up my monitor while mapping. Let's go with that. It's still an annoying issue, but one with a work-around.

Next: When first playing the map at... file 4, I guess? (Before that point there were no estates on the map.) ... the game crashed instantly when starting a skirmish match on this map. No error message, no clue in my debugger's disassembly, so I had to check everything the hard way. And by everything I mean freakin' everything. Took me half a day! So, what was the error? I deleted all sound sources and the map stopped crashing. Wait, what?! Yes, exactly. The map editor played all sound sources just fine, whereas they crashed the engine ingame. Why wasn't there an error message like "FMOD failed doing stuff with dem stuffz"?!

Anyways, I started testing the map again, no crash, but something else happened... Directly after loading the map, nothing buildable was grayed out. Okay, weird, but let's just place a stock pile and a granary. Placed, fine, and now build a... What the?! Graphically, the stock pile and the granary were filled up with stuff, but the resource bar in the HUD counted everything as zero. Weird? And yes, I couldn't build a thing now, because nothing more is for free. I cannot select troops, and the AI doesn't even place the stock pile! After much WTF, some tests, and yet even more WTFs, I found out that there were two objects on the map with a different scaling than (1,1,1). Nothing unusual about that, there are plenty more, actually. I scaled them myself. However, these two were shown as being (1,1,1) in the map editor, whereas they were configured (2,2,2) and (0.5,0.3,0.3)! After deleting these two suspicious (but esthetically important) objects the map was fully playable. Wait, what?! Two glitching map objects (drift wood and pilgrim's cross) could somehow stop the game logic from processing.

But hey, now the map works fine, so I continued until I reached the point on the screen shot. I wanted to try to add sound sources again, but all sources show a message like "FMOD error 255", whatever that's supposed to mean. So, sadly, no audio sources for now, which is a huge draw back in atmosphere. Whatever, let's first test the almost finished europe map.

The map crashes. Again. Just a short time after finished loading. The map has 953 trees, 580 stone fields, 361 iron fields, 521 swamp fields, 333 river tiles, 44248 oasis fields, 160 troops, and 217 buildings. It's an eight player map with five villages. I'm now looking for the problem, deleted about 400 trees (from ~1300 down to 953), slowly added an insane amount of fields to a working older version,... nothing reproduced the bug. I added numerous buildings to estates and stated Crusader 2 from the console, hoping that it would redirect some log outputs to CMD. (Sometimes this works!) Nothing.

While I'm writing this, I'm adding river tiles next, then pathing tiles, then simple estates. Pretty frustrating. This map should've been finished 7 hours ago. I intended to upload it as a contest map. Deadline is in 5 or 4 hours, so how could I have enough time to write this post to you? Not because I gave up. I give up when I fall dead asleep or when the dead line gets me. No, it's because opening the map editor, opening a map, and finally saving the map take forever. The later two procedures even freeze the editor due to the lack of event processing. Closing the editor is pretty fast. Just kill it with the Task Manager. Closing it the normal way takes forever as well and sometimes even freezes and then crashes the editor. WTF?

Yes, by that time I could've rebuilt the rest of the europe map from file 16, but that would be even more frustrating than the bug hunt. And who guarantees me that a rebuild wouldn't have the exact same issues as file 17 and 18? Noöne, as noöne gives me even the slightest clue about what's going on. A simple error message like "Entity #DEADBEEF (Pilgrims Cross) is broken" or "FMOD goes boom" could have saved me a lot of time and nerves. It also could save you or other users time, as good error messages aid the user in figuring out how to solve problems on their own.

But here I am. Stuck. What doesn't even get into my head: The map editor loads every single file of my europe map just fine. Everything looks good, nothing lags,... but ingame? Boom! And the reason could be just everything. The only thing I know is nullptr crash. (Famous error code. Seen it a lot in my first programming years.) Yeah, I could've reported an issue in the bug tracker, but the thing is... you blocked my account. I don't know why, I never received an E-Mail containing a reason (Really, could've just told me what's wrong), but that's fine with me. So no official issue about that... those things.

I've finished adding more estates. The test map works fine. Now I have only one single clue left: Bloating the test map up to over 9.4MiB (the size of file 19, which is file 18 with less trees.) to see, whether the crash occures due to RAM explosion. (Meh, 32bit software...) If that doesn't work out, then there is - again - just a little tiny object broken, like the cross, but this time it's not a scaling issue. So I'd have to check over 1000 objects for weird behavior to delete the one (hopefully just one) object responsible for this whole mess. And if that's the case, I will give up. Perhaps, one day, I would then start over from file 16. This time it could be every object.

So, what is there left to say? Ah, of course. The ground textures glitch large areas horribly, whenever multiple oasis textures come close to multiple ground textures on a small area. The result is wide areas of ugly cutoff textures, which is very, very hard and annoying to fix.

tl;dr
So much for that post. Long story short: The map editor and the game are a mess when it comes to working on complex maps. The process is frustrating and full of weird and unpredictable bugs. That's very sad, especially because I think that Crusader 2 is a great game, even more enjoyable than Crusader 1 was. I want to expand this Crusader 2 experience with custom maps. I want to make Catan, Hyrule, even Middleearth later, share these maps with the world, but at this state, making such maps is a waste of time. And the least that could have helped would be human-understandable error messages before any sort of crash.

Thanks for reading and a good morning,
Evrey

Statistics: Posted by Der Imperator — Mon Jan 12, 2015 5:15 am

Show more