Rather then brag about how good/bad xxxx game is or how titanic my balls are or that usual tripe, I though I'd make a post about the behind the scenes achievements in clicking; the unseen and ugly aspects of your games that pray that the ends justify the means- the most ridiculous parts of your project that are way overdone or inefficient.
For starters, I'd like the take my current project, Gridquest, and point out how amazing it is. It easily has the most thoroughly obfuscated coding of anything I've ever done, as for mere shits and giggles I forged the entire thing in TGF. Given the task- Creating an entire gridbased RPG in TGF, with no array object- it was no small feat. But there are some rather little quirks in the engine that I thought were funny:
Thats the level editor view of the interface; I actually managed to use up 29 of the 31 allowed loop index's in the fast loop object, so I might be forced to add a new one. The entire game takes place in that single frame, which in TGF leads to some funky business:
In my enemy object, I used up every single animation slot (besides appearing/disappearing, which are hardcoded). Every single enemy in the game, including bosses and motionless block puzzle blocks, are handled by a single object. Considering theres ~150 different enemies currently, I used up every single direction of every single animation.
Next, as I did the entire game within a single frame, that frames event editor got pretty loaded. I counted the events to total ~2546 events. TGF is actually limited to display 1023 at a time I found out, so those are separated into 37 different event groups. For anyone who ever thinks that "having too many events will slow down the game", take this as proof otherwise.
And just believe me when I say 'Nuff Said about my custom level editor:
Lastly, because I opted to create everything in TGF, without using any array object, the game runs its levels entirely in .ini format. Thats right, every single level in the game is a big ugly .ini file in the levels folder. In order to create a new game file, the random dungeon generator needs to export somewhere between 300 and 500 kilobytes in text. Even with only 3 of the 5 slots filled, my "Grids" folder looks like this:
Anyone else have anything really obfuscated or inefficient to show off?
In MMF, I'm generally quite an efficient coder, if I may say so myself. But I'm much worse in C++, since I'm still quite new to the language. I just finished writing a small level editor for a platformer I'm making with my brother. It took me 2000 lines of code - okay, it's not that much, but for what it does, it's really quite a lot, haha. Plus, I couldn't be bothered to divide the code into many separate files, instead I kept everything in main.cpp. But you know, fuck good practice - it's just tool programming
Here's a screenshot:
The graphics are only temporary by the way, my brother drew them in half an hour for testing purposes. I'm currently working on a new, greatly prettyfied version of that tileset.
same here. i wonder, offtopic for a sec, do you ever have problems with your apps and they just stop running using allegro? randomly my apps just freeze and i have to ctrl+alt+del out of it and end the task. im not sure if its my initializations or if its just a bug in allegro.
I dunno, I've never had that problem. If you do something stupid in the initialization/deinitialization stages it usually just crashes. It could have something to do with your timer loops and stuff, but I don't know, I'm not an expert at C++ or Allegro coding. But I guess you could ask on the allegro.cc forums?
9th January, 2008 at 16:00:50 -
Your yellow things look like Cave Story, rude person.
DaVince This fool just HAD to have a custom rating
Rand0mness, cave battle frame. The red square manages all the enemies.
The online isometric RPG I've been working on is a lot weirder behind the scenes, but it's on my laptop. The isometric collisions in there are done entirely by an array file! No hidden "real" maps of levels, no "real" player with wall sensors, or anything. It actually works a lot better this way. Uses less objects, and messyness from sensor detection is erradicated.
I'm up to 346 with E++, and it's only a few days old, lol. It's my most complicated project ever in that regard...
...cos none of the others ever got this far.
I'm just chuffed to see it actually beginning to work! Most useful app I ever built, this...
On the subject of inefficiency in code:
I was wondering why my app was going so slow, when suddenly I realised I had all these groups that I'd been forgetting to deactivate. So each iteration of the master loop was taking forever to run. That was embarassing.