I think I get why I’ve been developing ULSG so slowly recently. It’s not the heat or anything distracting like that. It’s motivation. But not in the “I’m making this game but no-one actually cares” sense, because I know that’s not true. MMF2 is the problem.
I’ve been doing some work on ULSG for the past few days, on both V13 and V14. V13’s not so bad, probably because it’s coded so inefficiently, and that’s the way MMF2 prefers you do it. However, V14 has been a nightmare.
It has severe problems sometimes which literally make no sense. For example, you can group objects into “Qualifiers”, and you can address all the objects in a qualifier at once. Sounds good. Works well in some situations. However, when it comes to choosing a specific object in the qualifier depending on an object’s alterable value, MMF2 poos itself.
I have an object which keeps track of the current selection in the main menu, called “CurrentPositionInList”. It increases when you move down, and decreases when you move up. In each of the menu options is a value called “PositionInList” which basically says where the menu option is in the list. For example, the Single Player option has a value of 1. Multiplayer has a value of 2. And so on. The idea is that when “CurrentPositionInList” and any of the menu options’ “PositionInList” values are equal, that option should poke out to the right to show it’s the current selection. If not, it should go back to where it was. So if CurrentPositionInList is 1, Single Player should poke out, and all other options should slide back to where they were.
What’s the problem? Well, if you compare CurrentPositionInList with PositionInList, all options pop out for some reason. However, if you compare PositionInList with CurrentPositionInList, it works fine. SENSE. IT MAKES NONE. It’s like MMF2 is saying 1 is equal to 1 in one direction, but 1 is not equal to 1 in the other direction! WHAT THE…?!
That’s not the worst problem, oh no. You see, even if I ignore this stupidity and just compare PositionInList with CurrentPositionInList without questioning how it works in that order and not the other, then if you select any of the last four options in the menu, they slide out just fine, but WILL NOT SLIDE BACK TO THEIR OLD POSITIONS WHEN DESELECTED. And that makes EVEN LESS SENSE. They’re in the same group. The formulae I’ve written to make the options slide out and slide back are perfect, and I know, because I’ve used them elsewhere, and the first six options use the same formulae and work just fine. There’s NO PROBLEM AT ALL, but it doesn’t work. And this isn’t one of those bugs you can never seem to spot for hours on end, oh no, this is actually MMF2 being a dumbass.
How do I know that? Because I just wrote the exact same code for each individual object instead of using a qualifier, and it WORKS FINE. Great, but that’s 10 times less efficient. And there was nothing wrong with the old code! And the worst part – if something needs changing in these menu objects, I need to go through every object and change it, which is the exact reason why V13 is so tedious to code now! No matter how hard I try, I CAN’T write V14 perfectly efficiently, because of how dumb MMF2 is.
I love how easy MMF2 is to use. But I hate how frustrating it is to find out that one of these progress-halting bugs is actually caused by MMF2 itself, and not me. I’ve NEVER had this problem with C#. Which is why I’m seriously considering this to be my last game with MMF2. If so, Dragon Storm will be ported to C#.
But anyway, might as well update on progress. 🙂 ULSG V13 is slow as usual, but it’s going fairly well. Just another four challenges to update, then some more testing, then I’ve gotta do the last of the Achievements. After that, Lame Survival Mode updates, and that’s everything. 🙂 Then, I’ll need to decide whether to scrap multiplayer and leave it for V14, or fix it up a bit and release it with a disclaimer saying it’s experimental and therefore buggy and crap. 😛
ULSG V14, despite the retardation of MMF2, is actually going quite well. Keyboard and controller support are both there, but there’s a bit of a problem with controllers – if one is unplugged and then reconnected, ULSG won’t pick it up again until I repoll the controllers. And I can’t just constantly repoll them, because it drops the FPS to zero for about half a second every time I do it. Again, a bug which isn’t my fault; it’s the joystick extension’s fault this time. I’ll have to figure out some sort of workaround for that. Something that pauses the game when a controller’s been unplugged should work. SHOULD. Might not. This is MMF2, remember. 😛
The profile menu is much more advanced than V13’s…
V13 has a really lame system – it doesn’t actually scan for files, it just ASSUMES you delete and create all profiles in-game, which is just stupid. V14 scans for valid profiles properly, and puts them in a pretty list. It also figures out whether the profile is from V13 or V14. It can create new profiles, delete profiles and rescan without exploding. The only thing left is to allow players to convert their V13 profiles to V14 ones. You’ll lose almost everything, but in return, you can keep up to 14 levels of experience, and you’ll get bonus Creditz. Maybe even an exclusive ship or Booster! *audience OOOOHHHHHs*
The gameplay is very easy to implement right now – ULSG isn’t a particularly complicated game at its core. 😉
Almost everything to do with the core gameplay works. Multipliers spawn and can be collected, but MultiMultipliers don’t spawn yet. You can even get Insane Stunt Bonuses. The new Awesometer works, and the new Miss Counter fills, but nothing happens when it reaches 100%. You can shoot and destroy Failiens, and scoring works just fine – you can’t crash or level up yet, though. 😉
Those powerup bars are my pride and joy at the moment. 😀 They’re different colours now, which looks nice. They slide into the correct position automatically when created, and smoothly fade in and out when time’s running out. They also count down much more smoothly. And the best part – if a powerup bar runs out and leaves a gap, other powerup bars will slide up and close the ugly gap! 😀 I even had a try at animating the different powerup symbols, and did quite well for once – they look great! I’m especially proud of Quad Damage – two red particles spin around the lightning bolt. 😀 Sure, it’s not much, but I didn’t think I could make it look that nice. 😉
So ya, that’s my update for now. I’ll keep pressing on with V13, and I’ll try not to go too mad with V14. 🙂