So! I've been working away on Yuyuko - mostly at work over my lunch break - and mostly I've just been breaking the test app I had all worky before. However! I've been doing all this in order to make it more game-like - if you gave it a go, you may remember that the last demo just launched straight into the shooting, and often the pause at the beginning while the video mode was set was enough time for a fairy to spawn and kill the player, which was less than ideal.
So, one thing I've done over the last month or so was implement a 'Loading...' screen:
![]() Yuyuko: Loading |
After the loading screen, of course, comes the game menu:
![]() Yuyuko: Menu |
Only the 'New' and 'Quit' options actually do anything right now, but that's easy enough to rectify. If you can make it out in the resized-down-twice tinyFont, 'New' is selected, and also a bluer shade of grey.
Selecting 'New' takes us into a new game. What it's actually doing is nesting a new Game State inside the old one - the top-level state is the Game Menu, which contains the in-game state for the first stage. When the first stage is done, it hands off (rather than nests) to the state for the second stage, and so on. When the game is over, the state is shrugged off and control returns to the menu state.
So here's our new game:
![]() Yuyuko: New Game |
Empty, eh? But that's the other thing, which has actually taken the time - getting all the scripting support in place and then writing level-script loading routines! This was a bit of a daunting task, so it was broken up over several days weeks. But in the end, it worked more or less first time. The only bug I had to fix after it all compiled for the first time was to add a new action which I'd specified in my test script and totally failed to code for, which I'm pretty pleased about.
![]() Yuyuko: Level loading! |
If the player hits 'Pause', then the game nests a new Paused State. This is a good demonstration of the nesting of the states, since the Paused state here calls out to its parent state (the level 1 game state) to draw everything that was going on when the game was paused, then draws its own stuff over the top of that.
![]() Yuyuko: Paused |
So yeah! It's getting very close to the point where I could actually make a whole game with this engine, which is both pretty exciting and also pretty daunting at the same time. There's lots more things I want to do with it (as witnessed by a 5kb ToDo list in the SVN repo) but a good portion of that is pie-in-the-sky stuff, and a good portion more is mostly-unnecessary optimisation/tidiness stuff.
I'm actually very very tempted to go back to the Shooter/VN-hybrid idea for NaNoRenO this year...
So, yeah. How long has it been now? Hmm. Three months? Well, Yuyuko has been progressing. Just not in obvious ways that you could see when you look at it.
![]() Yuyuko, yesterday |
Most of the code I've written since the last tech demo has been to do with scripting; setting it up so I can change the rate of fire of an enemy by fiddling with an XML file rather than recompiling code, for example. A few other things have been added to this end, for instance the points each enemy gives you when you shoot them is no longer a hard-coded constant applied to a global variable in custom code, but a script-loaded number applied to a named game counter in generic runs-on-every-entity code. Which is nice.
Anyway, here's the latest tech demo. Same deal as before, but without me being bothered to package it for Mac:
The notable differences for this version of the game compared to the last one are that this one:
* Is more fun
* Features three different enemies with three different shooting modes
* Includes scoring that better reflects your awesomeness at curtain-fire shooters.
Incidentally, the highest score I got while testing the third shooting pattern at lunchtime at work today was around two and a half thousand.
There are two important things to remember when thinking about Wartech: Senko no Ronde.
* Firstly, it's awesome.
* Secondly, it's not for everyone.
![]() Look, mum! Giant flying robots! |
So, I gave in and bought an XBox 360. Not for Bioshock, since that isn't really my kind of game, and not for Halo 3, since Halo 1 bored the hell out of me when it started asking me to re-do the same levels I'd already completed, only in reverse this time. Armoured Core 4 was tempting, I'm going to need [1] a platform for Rock Band when that comes out, but realistically I bought a 360 on the back of seeing a promotional video for this game. It was obvious from the first few seconds of gameplay footage that this was the spiritual successor to Virtual On, which was quite possibly the best mecha-duel game in the history of mecha-duel games.
Now, this is a bit of a niche genre, it has to be said. To enjoy Senko no Ronde (and arguably Virtual On), you really have to be a fan of fighting games (Streetfighter et al) and also a fan of 2D shooters (Ikaruga, for example), since this subgenre contains strong elements from both. So I can understand that people in general aren't necessarily going to like the game... but still, reviews for the title are pretty bizarre in places.
Major review factories like IGN don't seem to be able to work out what kind of game it is. One review complains about features found in every fighting game under the sun as if they're new and inexplicable choices, because the reviewer has pigeonholed it as a shooter; the next complains that the arena doesn't scroll and that the combat is limited to one-on-one, because he's decided it's a shooter. It's kind of amusing to read until you come across tripe like this [2] - or worse, too-short pieces like this which make sweeping statements like "It saddens me that somewhere out there in this wide world someone might not read this review, and thus might never know what a horrible mistake it would be to spend money on this travesty". Well, it saddens me that people might actually read that 'review' and get put off buying such a wonderful example of its [3] genre because some guy on the Internet is too lazy to expound upon his points.
So yeah - the game has its flaws. There are a couple of gameplay irritations; for example, the arena boundary is a fixed circle that it's all-too-easy to not notice and run into, and since the game's combat takes place exclusively in the sky, if not space, there's no obvious rationale behind this. There's the genre problem - not everyone will love this game as much as I do - and as such it would be wise to find someone who owns it and get them to give you a few rounds before throwing money down. You may love fighting games and shooters and still dislike this hybrid blend, it's entirely possible. But here's some things I can confidently assert as facts, counter to the more scathing of the game's reviews:
* Senko no Ronde is not a shallow game - there is enough depth in the combat to keep a Streetfighter fan like me happy. If you think it's shallow then frankly, you're not doing it right.
* Senko no Ronde is not a short game, because like any fighter under the sun the point of the game is not the story mode, it's the multiplayer. Complaining that this is a short game is like complaining that Chess is a short game, when you're playing against yourself and losing on purpose.
* Senko no Ronde is not a 2D shooter in the 'STG' sense, it just borrows heavily from tropes of that genre. So if you love Touhou but hate Streetfighter, don't be surprised if this isn't your thing... but like a shooter, most of the combat takes place at range.
* Senko no Ronde is not a fighter in the traditional sense either, it just borrows heavily from tropes of that genre, too. So if you love Mortal Kombat 4 then you should shoot yourself but hated Ikaruga, then there's no guarantee you'll like this game... but like a fighter, it only really makes sense against other human beings.
* Senko no Ronde has a control response that would generously be described as 'unique'; after a while you get used to it and it feels fine, but when you first pick up the controller it feels sluggish and odd.
Anyway, I think it's great.
BEEEAM.
So, yeah.
If anyone's trying to email me at my bichatse.net address, then I'm not getting the mail. The reason, broadly speaking, is because Compila (a hosting company I'm going to stop using in the very near future, as soon as I find an alternative) decided it would be fun to randomly drop half my email for a few weeks, during which I apparently missed all the renewal notices for the domain. I've now paid for the renewal (still, thankfully, well within Nominet's grace period) and yet they've still failed to actually re-regsiter the domain. So yeah... mail isn't getting through, and I have no idea what kind of error you're likely to be getting.
Also: If anyone knows any good UK webhosting companies, let me know. I've noticed a trend while looking around myself - compared to the US company I have this domain hosted with, all the UK ones I can find a) charge about three times as much, if not more and b) provide approximately a tenth as many features. Most of them don't let you have a database until you're paying £10 a month or more, and even then you're restricted to one. Some of them are still acting incredibly pleased with themselves that they can offer you a whole ten email addresses! For £10 a month!
(Guest)2009-07-28 20:59:35
Hey it's M12 from lemmasoft. Wow... did you code this game? If so, crazy! Keep up the good work.M12 (Guest)2008-01-18 09:56:38