Multimedia Fusion 2 is getting right on my tits.

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.

Let’s take the main menu that I’m developing as an example.
Here you're supposed to see the concept for the V14 menu system.(That’s just a concept image, but it will look almost exactly the same in-game, just with a background and some other changes. :))

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…
Here you're supposed to see a picture of the V14 sign-in screen, but WordPress is shit, so you can't.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. πŸ˜‰
ULSG V14 GameplayAlmost 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. πŸ™‚

Advertisements

I’m getting ahead of myself a bit…

This has always been a problem of mine. πŸ˜›

I’m really eager to get started on ULSG V14. Like, REALLY eager. Leaving behind that messy bunch of code that was in V13, starting V14 from scratch, no old code in the way, being able to build it MUCH more efficiently thanks to my improved programming skillz… I can’t wait. πŸ˜€

In fact, I can’t wait so much that I just went ahead and made a start, even though I’ve still got a bunch of things left to do to get V13 finished. πŸ˜› I’ve done this a few times before for other projects – Beat The Computer 3 was finished before Beat The Computer 2, which was (hilariously) never completed, and I started on Special Services Team Gold before completing the normal edition, both of which were dropped. πŸ˜› It’s not just games, either – I actually started writing parts for Dragon Tail 2 about 75% of the way through the original Dragon Tail, and I started work on Streets of Goong: Stage 8 before finishing Stage 7. It’s a bad habit. πŸ˜›

I’ve not spent TOO much time on it, really… well… okay, maybe I sort of have. πŸ˜› I took an old 3DS Max scene of the ULSG V14 logo that I started a while back, messed around with it, changed the “V14” part of the logo to look way cooler, and played with some animation. I also found a piece of music to use as the intro theme, and hence tried to make the animation sync with that. πŸ˜€

After a while, I managed to get God Rays working, added some motion blur, did a load of test renders, then when I was happy, I started rendering the entire animation, which basically made my computer unusable for several hours. 18 hours, to be exact. It also upped my CPU’s heat to around 82C for the entire duration, too. :S

However, GOOD NEWS! One, my overclock is very stable, two, I made some more progress on Patapon 3, three, the Carmageddon IP doesn’t belong to Gay Enix anymore and a new one’s being developed by Stainless (the ORIGINAL devs who I love, so this new one is going to be epic), and four, the animation looks BETTER than I thought it would. πŸ˜€ Oh, and five, Multimedia Fusion 2 now seems to be able to draw things on top of videos. πŸ˜€ It used to only be able to draw UNDERNEATH vids, last time I checked, at least, which wasn’t very useful. πŸ˜›

Here’s a teaser of my CPU’s 18 hour shift… πŸ˜‰

The flashing “press any button” notifications are selected randomly from a list. Just a little extra thought. πŸ˜‰ As you may have noticed, as well, the game detects happysticks… um, joysticks, at startup. So yes, ULSG V14 will have controller support. πŸ˜€ It sounds easy, but it’s currently my biggest hurdle.

Some people might have several controllers for their PC, and they might not all be the same. I have no idea how Windows identifies game controllers, and the MMF2 extension that I have can’t get the ID of a game controller. What’s more, if the player unplugs both of their controllers and plugs them in in a different order, ULSG will pick them up in a different order.

“Why do you care?” you ask? Well, picture this. Player A starts playing ULSG with an Xbox controller, which is the only controller plugged in, and hence is Controller 1. They configure it to their liking, and the mappings are saved in their profile. However, the next day, Player B wants to join in and play 2-player, but uses a different type of controller, which is plugged in first, and hence becomes Controller 1, whereas the Xbox controller becomes Controller 2. Player A will sign in with his profile, but since Controller 1 is now a completely different device, his mappings are going to be all screwed up.

What I WANT to happen is for the controller’s identifier to be stored in Player A’s profile. When the game starts up and Player A signs in, ULSG will look at every connected controller, find the one which has a matching identifier, and respond to input from that controller.

Hmm… but I CAN get a controller’s NAME. That could be stored as a group name in an INI file… and when a player configures a controller, their config is stored there… and multiple profiles could save different mappings under that group… I may have figured it out… MAYBE. πŸ˜›

Haha, wow. Back when I started V13, I didn’t even think HALF as deeply into ANY feature. Even the V14 profile select window I finished last night is already more stable and foolproof than V13’s. πŸ˜€ I have a load of things planned out for V14, as well – apart from the 4-player local multiplayer and Infinity Mode, there’ll be new ships, Drones and Special Modules (Special Modules will be known as Boosters in V14). You’ll be able to tweak the duration of powerups, and you won’t need to be an achievement whore to unlock everything, because things will cost Creditz instead. πŸ˜€

Anyway, yeah yeah, gotta get V13 finished FIRST. πŸ˜›

ULSG V13 may be closer than you think…

Firstly, let me just start with saying HOLY CRAP WORDPRESS IS SHIT. The dashboard needed changing, yes, but the general idea when you improve something is to make it BETTER? STOP MAKING STUFF MORE DIFFICULT TO USE GODDAMN IT!!

Right, now that THAT’S off my chest, onto the actual topic. πŸ˜›

I only have one piece of coursework left to hand in until I have a massive amount of free time. πŸ˜€ That is, unless I fail an exam (maths) or screw up a piece of coursework (algorithms, processes and data structures), in which case I’ll still have a little work to do. But anyway, since I do have more free time now, I’ve picked up ULSG V13 again. πŸ˜€

Big problem, though. I, um… I’m a much, much more experienced programmer now. I can pick up a piece of C# or Java code and figure out what it does, I’m a little more experienced with PHP, and I can easily recognise the vomit-inducing syntax of C++. πŸ˜› Because of this, I nearly DIED when looking at ULSG’s code.

It’s all over the place. And it’s not just limited to the code, there are other things that are really bad, as well, the biggest of which is that I haven’t set ANY objects or code to be global, and because of this, updating Challenges to allow equipment to be used is a nightmare. :S

The reason for this is totally due to the way ULSG was made. It started its life INSIDE a larger project about FOUR YEARS ago, and although I had experience with MMF2, it wasn’t a massive amount, since most of my experience came from The Games Factory 1 and Multimedia Fusion 1.5. Over time, ULSG just had features bolted to it without any real planning, because I didn’t think it would get so big. Now, this bad planning has come to haunt me. πŸ˜›

What I’m planning to do now is get V13 finished as soon as I can, and start work on V14. That means stopping any planned new features, deleting anything that’s not really fit for the final version, and getting everything else polished. It won’t be as good as I want it to be, but it will make it less painful when I start V14, because I’m planning to start that from scratch. The more I add to V13, the more I’ll need to scrap when I start V14. πŸ˜‰

Yes, I’m gonna start V14 from scratch. I’ll still use some code from V13, because some of it was good, and I still have the assets, so it won’t take another four years to make. πŸ˜› Plus, it’ll be better, smoother, more efficient and it could use less disk space. πŸ™‚

So, if I get to work, ULSG V13 will be released within the next month or so, maybe even within the next couple of weeks. πŸ™‚ It will have some things missing such as local multiplayer, and online multiplayer might be a bit crap, but all of the single player enhancements – ships, drones, special modules, new challenges, and so on, will be there. Plus, the unlockables will be more accessible; instead of earning AP solely from Achievements, you can earn them by collecting Creditz and destroying enemies, too. πŸ™‚

If you’ve played the V13 Alpha, you might not notice a huge difference, but compared to V12… it’s a MASSIVE leap forward. πŸ˜€ So yes, keep an eye out for ULSG V13, coming to an Internet near you very soon. I’ll also upload a guide here, which gives you general hints and help on how to unlock everything. πŸ˜‰ I might also start a Facebook page for ULSG… not sure WHY, because it’ll get absolutely no likes, but whatever. If it could help spread the word, I’ll try it. πŸ˜€

Anyway, that’s ULSG. Now, onto my solid-state drive…

Yes, I bought an SSD. πŸ˜› For those that don’t know, solid-state drives are like hard drives, only they use flash memory instead of platters. Hence, they’re better in almost every possible way. They have no moving parts, so they are silent, they don’t generate as much heat, a head crash is impossible, and they’re also less susceptible to shock, although I wouldn’t drop one anyway. πŸ˜›

They’re also much faster. MUCH faster. The hard drive needs to move the read/write mechanism over the correct part of the platter, and then it needs to wait for the platter to spin to the correct position. On average, this takes around 12ms, and that doesn’t include the spin-up time if the drive is stopped. A solid-state drive doesn’t need to spin up, nor does it need to wait for anything – it can just go where it wants to go and read the data it needs to. Because of this… the average access time is about 0.1ms – 120 times faster. πŸ˜€

The only thing that hard drives have over SSDs is PRICE. My 1TB hard drive cost me about Β£80. This 180GB SSD cost me Β£230. :O But oh damn, it was worth it. My PC is so much more responsive now. πŸ˜€ I didn’t believe the hype, really, I thought that SSD’s were maybe a bit overrated… but they’re not. Windows now boots in less than 30 seconds, and shuts down in about 5 seconds. Programs start loading instantly and finish within a few seconds, games start up insanely quickly and loading times are cut VERY significantly… it’s just unbelievable. πŸ˜€

If you’re looking for a way to improve your PC’s performance, and if you can afford it, you really can’t go wrong with an SSD. And if you CAN’T afford it, you could always try a hybrid drive, which are cheaper and can give near-SSD performance in some cases, but they’re not QUITE as fast as the real thing. πŸ˜‰ Don’t sweat it, though. SSDs will be mainstream in a couple years. πŸ™‚

As for games, I’ll just quickly talk about the two I’ve played recently. πŸ™‚ In a nutshell, Ace Combat is still my favourite action-flight series thanks to the amazingly fun, exciting, addictive Ace Combat 6 (it blows H.A.W.X out of the sky ;)), and I can’t wait to try Ace Combat: Assault Horizon. πŸ˜€ Brink, on the other hand, is a boring pile of poo, with stupid clunky controls, constantly low FPS, dumbass bots and a campaign mode which lasts for about 9 seconds and has the most boring story of any shooter possibly ever. πŸ˜› The only reason it got any real attention is because Bethesda published it, and the only reason THEY published it is because they wanted money for Elder Scrolls V. Which I have a feeling will be pretty average, but it’ll get a good mark anyway because it’s an Elder Scrolls game. πŸ˜›

I think that’s everything for now. I’ll probably be back soon to announce THE COMING OF ULSG V13! πŸ˜€ Remember, you can follow its progress in more detail here:

http://www.create-games.com/project.asp?view=main&id=1684

See ya lat0rz! πŸ˜€