A little ULSG V14 mockup.

Well, I was originally going to make ULSG V14’s resolution 1000×625, but then decided that that’s a retarded resolution, probably no monitors support it, and my monitor doesn’t like trying to scale it to the nearest resolution it can support (it decided to change to 1024×768, which is a completely different aspect ratio and therefore looks like a poo :P). So, I’ve decided to go with good old reliable 1280×720. 🙂 Plus, I’ve had a good experience using that resolution with XNA in the past – it scaled perfectly to a 1024×768 monitor when I was working on Fluidity, without messing up the aspect ratio. 🙂

However, the res change means I’ve had to rework the ULSG V14 HUD. It’s a bit tedious having to do it again, but it’s really nice having 280 more pixels of width to work with. 😀 I did a little mockup of what I imagine a 4-player game of MultiQuadrillion Mode would look like:

(Just realised that the Psycho Chain should really be x4 in this mockup. :P)

I think it looks quite nice. 🙂 I used the extra width to extend “LV” to “Stage” for clarity (I’m calling the current “level” the “stage” now, to avoid confusion with Experience Level. :)), and merged the Power Weapon Display into the main HUD, too (Nukes are still in the game, they’re just a type of “Power Weapon”. This gives me more room to experiment with new weapons – for example, you’ll be able to replace Nukes with MediLinks, which let you heal other players. :)). There’s room for 5 Power Weapons now – you can increase the maximum amount with a Booster. 😀

Remote players are shown on the mini-status bars, where the Nuke Display used to be. They show important info, such as Callsign (A 5-character name to make it easier to identify your buddies (and also protects against me needing to make MASSIVELY long name boxes and taking up HUD space (for people with names like MongMaster Grumblkumbatung ;)))) and HI (Hull Integrity), and also show nice-to-know info, such as Power Weapon count and Level. 🙂 If there are other local players, Player 1’s status is shown on the main HUD bar. As for Powerup bars, other players’ powerup bars are shown near their ship, whereas yours are still in the same place – top left, just under score. 😉

The combo counter has a sleeker look, and there’s the new Psycho Chain counter – that increases when you own Failiens in quick succession, terminating after about 1/4 of a second without a kill (it can give LOTS of points out ;)). The combo milestone display is faded out because there’s a player underneath it, but that’s got a new look too. 🙂

The Destructometer in the bottom right looks a bit nicer, and has a label, for clarity. Also, instead of popping out every minute with the game time, that’s always on display just over the Miss Counter, now.

The Miss Counter is a li’l bit different – the more enemies get past, the faster it increases. When it reaches 100%, it gets reset, you lose multipliers and your Awesometer is emptied. The Awesometer is different, too – it increases smoothly up to x100 instead of “jumping” between multiplier levels. 🙂

The Choclit Bar is smaller, so it won’t get in the way of the Fruit Frenzy bonus text, which appears in the same place as always. 🙂 It’ll also come up with a notification when your ULSSLU (Ultimate Lame Ship Special Laser Unit) is ready. 🙂 The Fever Meter is brand new, and comes up with a timer when activated. 🙂

The only thing missing (apart from the Fruit Frenzy bonus text I mentioned earlier) is the Drone Display. Kinda struggling with where to put those, since there’s going to be up to 4 of them this time. Might colour-code them and put them to the left of the Mini-HUDs, or, if you’re playing solo, where the Mini-HUDs are (since they won’t be there ;)). And of course, the HUD for the Challenges and Infinity Mode will need to be different. 🙂

But ya, that’s pretty much all. 🙂 Lemme know what’cha think! 😀

So, it’s official…

I’ve been using Lua for a while now at my placement, and it’s quite a nice language. I’ve learned from it, and I’ve even learned a few things from Corona, even though it’s a hateful SDK with a ton of problems. 😛

This weekend, though, I returned to C# for the first time since the end of second year. I was just wondering if I could make a start on the little engine I’ve been planning on making for a while… well, not really a full-blown engine, more like a code base to make it even easier to develop games with XNA. Classes to easily handle audio, graphics, networking, and so on. 🙂 I call it “JetSquirrel”, a tribute to the team project I worked on in second year:

Haha, it wasn’t actually called Jet-Powered Squirrel – that was just a crazy idea I thought up for fun when we didn’t have a name for our game. 😉 It was named “Fluidity” in the end, but I kept “Project Jet-Powered Squirrel” as the solution name, partly because it was funny, but mainly because I was afraid to change it just in case I messed everything up. 😛

But anyway, ya, this weekend, I returned to C# to make a start on the JetSquirrel Engine. And oh God, how I’ve missed C#, and XNA, and Visual Studio. 😀 It’s so nice working in a proper IDE again. It tells you what’s wrong as you write your code, if there’s a bug, you can use breakpoints to pause the game at any time and inspect properties, and when the game has an exception, it stops and tells you where it went wrong instead of just trying to continue without telling you much… oh yes. 😀 A bazillion times better than Corona will ever be. 😀

There’s a good reason for me deciding to work on the JetSquirrel Engine this weekend instead of heading to Multimedia Fusion 2 and continuing work on ULSG V13 or the ULSG V14 prototype. This is because… well… unfortunately, Multimedia Fusion and I have had a bit of a fall out. 😛

I worked on a prototype of V14 in MMF. The process was pretty quick – I got a lot done in very little time. I posted about it, actually.  🙂 However… when the time came to try and get a second player in, everything fell apart, and I suddenly realised that MMF is not good enough for my needs any more.

I’d been using these things called “Behaviours” in MMF – I assumed them to be kinda like “local code”. I thought that each instance of an object would run this code for themselves, like how a class works. Sadly, that’s really not how it worked. In fact, I fail to understand the point of these “behaviours” entirely – the code is just run as if it was written in the Event Editor… only it seems to run it X times, X being the number of objects of that type there are.

What happened was I had an object called “ULS”, the Ultimate Lame Ship. In the object, there was an alterable value (an integer or double(if you’re lucky and MMF isn’t an idiot about it), you’re only allowed 26 of them per object – another MMF limitation) to identify which player was controlling the ship, and a behaviour which moved the ship by looking at the player’s input device. One of these objects in the scene? No problem. Works perfectly. Add another instance of the same object… BOOM. Player 1’s ship moves at double the speed and seems to break all the rules I set about maximum speed. Player 2’s ship doesn’t move at all. If one of the ships is destroyed, the other ship moves normally again. Yes, I’m giving each ship a unique player number, and yes, the code says that each ship should only respond to its own input device. Yet still only one ship moves… incorrectly.

Because of the progress I was making, this REALLY irritated me – this stupid idiot limitation of MMF. You want to make a player ship that will work in any mode for any player? No, you can’t, MMF doesn’t allow it. You have to make separate objects for each player which contain basically the same code. And hence, if you find a bug in the movement, you have to fix it FOUR TIMES, once for each player. You’ve also got to create separate S.P.A.R.T.A Drones for each player… and separate Balls of Steel… and so on. Yeah, not my idea of fun. 😛

In C#, you can create 4 players from the exact same class, give each of them a player number, and then each player ship runs separately, looking at its OWN values. “Oh, my player number is 2, and there’s been no input from player 2’s controller. So I’m going to stay still.” Not “oh, I’m player 1 and there’s been input from player 1’s controller so I’m going to run my code and player 2’s movement code for no reason WHEEEEEEE” and “I’m player 2 and there’s no input to my controller but player 1’s dead so I should take over player 1’s controller ahahahah” NO NO NO SCREW YOU.

I NEED to go further, and I can’t with MMF2. I’ve reached the program’s limit, and the only way for me to get better and make ULSG better is to take XNA as my tool of choice. So… as the blog title says, it’s official. I’m no longer using MMF. It’s been great using it all these years, and I’d still massively recommend it if you’re interested in games development and want somewhere to start, but for me, it’s time to move on.

If I can bear to wade through the mess of checkmarks that is V13, I’ll finish it off. It won’t have multiplayer, and may have features I planned to put in missing. But all my other projects will be done in C# using XNA – ULSG V14, Dragon Storm, and anything else. And over time, JetSquirrel will get better, so things will be easier to make. 🙂

This weekend, then, I managed to do this in XNA:

(Don’t mind the FPS counter (if you can see it ;)) – the FRAPS recording was making it go crazy for some reason. :P)

It’s not much to look at, but on the programming side, there’s a simple but fully functional game state manager called JetDirector, which is the most important component so far. You create class files for each of your game “scenes”, such as main menu, splash screen, etc., and JetDirector can switch between them. There’s also a SFX class called JetSound, and a graphics helper called JetGraphics. 🙂 All works pretty well so far! 😀

I’ll have to try and find more time to work on it during the week, since I’m at my parents’ next weekend without a computer to use. :/ I’m aiming to get it to this stage as soon as possible:

That’s as far as I got with MMF, until the limitations reared their ugly heads. 😛 Might take a little while, since I’m going with a higher resolution, so I’ll have to redo the HUD and the menu graphics.

But ya, it’s good to be back with XNA again. 😀 When I’ve gotten far enough with it, I’ll make the V14 blog. 🙂

I think that’s all for now… apart from the Shoot ‘Em Up Kit being one of the worst game development tools I’ve ever used – on par with Torque and The 3D Game Maker. 😛 Anyhoo, back to work tomorrow, and we should have our first games on the Android Market and Apple App Store this week – woot! 😀

See ya later. 🙂

Every time I use this thing, I’m less impressed…

No, I’m not talking about WordPress… even though that would also qualify. 😛 I’m talking about the PS Vita.

The console got my attention when I saw its launch titles – Lumines greatly interested me, of course, since Lumines is one of the best puzzle games I’ve ever played. Also on that list was Wipeout 2048 and Super Stardust Delta (I loved both their PS3 versions, but since I don’t have a PS3, I never got to play them much). There was also Dynasty Warriors Next, and Touch My Katamari, too. So, that’s 5 games before the console was even released – a record for me. 😛

Wasn’t just the games, either – I quite liked the PSP, and so I rejoiced when I saw the Vita had TWO analog sticks that didn’t look like thumbtacks. Plus, there’s the touchscreen, the microphone, dual cameras, rear touch pad, accelerometer and AR capability, which interested me a fair bit. So, when I figured out I could afford one, I was basically sold. 😀

When I first got the system, I really couldn’t fault it. The display was excellent, build quality was good, analog sticks felt good, touch screen was really nice, and I was impressed with the graphical capability, too. But that was when I first got it. Now, I’m starting to find a lot of irritations.

Firstly, I’m sick of it asking me to “please wait”. At first, I never really paid much attention to it, but now… Jesus Christ! I’m not kidding – “please wait” flashes up at LEAST four times as the idiot device is trying to connect to PSN or do other random unnecessary turd before a game ACTUALLY starts.

Then there are the features that looked good and/or innovative, but aren’t. The rear touch pad is irritating as hell, and I don’t like it at all – I don’t think any game I’ve played so far has used it to do anything good or interesting. The AR is better than that other fad, “3D”, but that’s not saying much, since the three games that demonstrate it are so bad they made me want to slam my head off a wall. Fireworks is insanely boring and feels as if it has no real purpose, Cliff Diver is just a shitty game where you tap at certain times and its use of AR is completely inconsequential to gameplay, and Table Football has the worst controls in the world.

The cameras are dreadful, too, and anything they see is fuzzy and dark. Here, let me show you:

HTC Titan

PS Vita

Since there is basically no colour in the image, this massively affects games that use the camera, such as Frobisher Says, which I’ll get onto later. 🙂 And to be honest, I don’t think ANY game should use the camera at ALL. I mean, in multiplayer, Wipeout 2048 tries to take your picture and send it to the other players before a race, and you’ve only got 5 seconds to react and stop it. When I first realised what it was trying to do, I literally yelled “WHOA, are you fucking kidding me?! STOP!” I mean, think about it – I could send ANYTHING, and so could the other players! What the hell were they even thinking?!

Then there are the personal experiences. At one time, the Vita unexplainably FORGOT how to connect to PSN. It would just get stuck on the “Connecting to PlayStation Network” screen. Literally, STUCK. It doesn’t time out, ever, even if you leave the thing running for an hour, which really shows the magnificent quality of the firmware. >.> I thought it was my wireless, but nope, it was the Vita, cuz I restarted the thing and it was okay again. But why was it suddenly UNABLE to connect? PSN wasn’t down or anything…

Another time, the Vita locked up. Fine, these things happen. But resetting the thing is ridiculous. None of the buttons seem to respond, and there’s no reset button, and the battery is concealed. I assumed you needed to hold down the power button for some time. But it turned out it’s not a sensible five seconds. Not a cautious 10 seconds, either! More of a RETARDED TWENTY seconds. TWENTY?! Why does it need to take SO LONG?

Game loading times are sometimes utterly terrible, as well. Say you have a 10 minute break – if you boot the Vita up and stick in a game card, by the time you get past the firmware, the 2000 loading and “please wait” screens, and the game’s menus, you’ll be lucky to have 5 minutes of gameplay.

Also, when the Vita’s on standby, its light keeps turning on and off for no apparent reason, as if it’s doing something. Seriously, it DOESN’T NEED TO DO ANYTHING WHEN IT’S ON STANDBY! It’s like it WANTS to drain its battery!

Also, this “near” thing is pathetic, and it has nothing on the DS’ rather good StreetPass and SpotPass firmware features. StreetPass lets you collect background pieces from other people, and it even has a mini-RPG in the form of StreetPass Quest. Near gives you pointless “I-don’t-give-a-shit” game charts, and you get “Game Goods”, which are messages, sometimes in different languages, containing mostly pointless unlockable thingies for games – even ones you don’t actually own.

Then there are the games. Yes, the launch titles were nice and all (apart from Dynasty Warriors Next being crap), but after a while, we kind of want NEW games to play. There hasn’t been a major Vita release in forever, apart from Rayman Origins, but you can only play single player on the Vita version, and Rayman Origins is boring single player. Lol.

We’ve had a free match-3 released in the form of Montezuma Blitz, but the devs don’t actually want you to play it, since it has a dumb lives system (max five lives, one game costs one life, lives regenerate over time, no lives = no game (but you can refill them for 79p LMFAO get the fuck out)) and as you gain ranks, the game becomes increasingly impossible to play without bonuses, and they cost gems which you can either grind for or pay for (LMFAO get the fuck out).

Also in downloadable games, there’s a terrible game called StarDrone Extreme (which is not very extreme but does drone on) and another game which doesn’t have a trial version and therefore I don’t care about it. And recently, Frobisher Says, which is the worst WarioWare clone I’ve ever seen. It feels half-made, has almost no content whatsoever, the games are shit, and its only purpose seems to be to show off the Vita’s features WHICH WE ALREADY KNOW ABOUT! In fact, the way this game makes shit use of the Vita’s hardware actually makes me LESS impressed with the device! One game requires you to find an object of a certain colour and point your camera at it. So yeah, what if I don’t have a green object? What if the stupid camera can’t pick it up cuz it thinks we’re in a black hole? I’m stuck and have to quit. Another game requires you to smile, but again, the camera couldn’t even pick me up in this well-lit room, and I had to skip the dumb game, which affects my score! YOU affect MY final score, because YOU didn’t work?! What?!

And my most recent negative experience – trying to delete something. After doing my best to shit on Frobisher Says’ ridiculous four star rating, I asked the Vita to uninstall it. It said “please wait” as goddamn usual, but never actually removed the game. It was stuck there for 5 minutes before I decided to do the dumbass 20-second power button press, constantly thinking “this is gonna mess up my data, this is gonna mess up my data…” It didn’t, thankfully, but then took a further three minutes to remove the game it’d already taken 5 minutes to attempt to remove before! EIGHT MINUTES TO DELETE A 400MB GAME?! WHAT!

Oh, and the PlayStation Suite SDK, the thing you can use to program games/apps for the Vita? Hilariously bad. The simulator can’t play audio properly, some of the sample apps don’t actually work properly on the Vita (or are broken in various other ways), the help, tutorials and API pages are obviously translated from Japanese by someone not fluent with English, and some of the method/parameter descriptions are STILL in Japanese, so I don’t know what they do. And this is OPEN beta, not closed beta. It’s nothing like XNA, and isn’t even close to competing. Hasn’t even been updated in ages.

So yeah, I’m becoming seriously unimpressed. It’s like Sony have gotten bored of the Vita already. Fix your SDK (ask Microsoft how), and can we please get some proper GAMES on the Vita now instead of these “games” which only exist to show off the device’s features?