A brand new game
for Windows, HTML5, iPhone, Android TV and more,
Today, I really need to buckle down, and pad out the menu a teensy bit.
As you can see, it's... a little bit empty right now!
I'm still not sure how everything's going to fit onto the screen, but I found a nice font last night so it shouldn't be too hard to get everything nice and padded out, whilst still being jam packed with menu-style goodness.
After that, I really should start to add some kind of scores into the game! I haven't yet bothered to do that, what with all the testing and stuff, so it's about time it went in there.
Menu, scoring, multipliers, super-weapons. That's the main 4.
Once those are in, it's time to throw up a small demo edition for people to try out. With any luck, the game should work!!
Then I'll carry on building the editor, finish off the online highscores, and get everything neatly packaged for a proper release.
I'd say it should take no more than about a week, but then I also have to be 100% sure that the game's "DONE" before I upload it with the highscore system attached.
There's nothing worse than finding a stupid silly bug that people can score millions of points on, just after the thing's been uploaded!!
Yesterday was my long work day, and since I didn't get up until about an hour before I was meant to go, I didn't really get much work done!
Still, no matter, today's a longer day..
Unfortunately, most of today was spent playing GTAIV
... Note to those who are getting used to my "Play it, now make it!!" habit... I'm not going to make a GTA game!! That would be nuts!
So, there's nothing to report today, other than the fact that I'm enjoying GTAIV.
I'll get back to work tomorrow!
With the editor in, pretty much, full swing, I'm heading back to playing with the bugs again..
Having been undecided for a while, I eventually decided that the green bad guys should explode with a nice little puff of green smoke..
This is what happens when you turn off the death routine, fill the screen with Greenies, and then touch a Bomba..
Obviously that won't happen in the real game, because the Greenie's would've killed you minutes before this situation arises, but even still, the framerate's holding on at 37fps.. That might not seem a lot, but this is running on my rubbish "Let's check it works AT ALL!" Celeron system, whilst Winamp's playing the Sonic R soundtrack in the background...! (Winamp takes a lot out of a Celeron, these days!!)
So, I'm pretty happy that the game will keep on ticking.. Nice to know!
More to come!
I'm quite happy with the level compression, now. Things are nice and trim, and everything's fitting into a small enough area.
So, today I'm thinking about how the server should work.. Note, I've not added the server yet, but I'm definitely getting prepared! What I've decided to do is implement an Author name and Level name directly into the checksum.
This way, when the server checks your game for new levels, it can automatically dig out the new stuff, and it'll know what it's meant to be doing. You also won't be able to rename a filename, and have your own silly highscore, because you renamed someone elses level to "My Copy for My Highscore.lev!" or something.. The original name's kept at all times, so everything should be good.
As with AD1, whenever the game does find a new level, it'll nick it from you, and pop it onto the server. AD1 would send you two new levels every time you've played every other level, so long as there's any levels left on the server.
It'd be a bit quiet about this, though, so this time I'll make a bit more of a song and dance about it.
It'll tell you when it's stealing your levels. It'll stuff it into a great big bag of random levels, and then .. perhaps daily, it'd send you a new one. I'll get the server to pick a level at random, each day, and then send that out to everyone that plays. The level will of course be saved to your system, but it'll only ever be sent out once. If you miss it, you've missed it.... No going back!
My hope is, that if everyone gets the same level on a certain day, it'll lead to more competitive highscores. Whether or not that'll work, we'll have to wait and see.
Meanwhile, it'll keep track of the random bag of levels, and probably let you know how many are left.
I'm thinking that, maybe, if the bag gets below about 14 or so levels, that it could switch to a weekly level instead.. That way the game would last a little longer, depending on how many people are building and uploading their levels. Keep the flow going!
And that's a lot of work that still needs to be done.
Still, it's good to get these things written down, and the thought processes churning on.
Meanwhile, I have to come up with a nice menu system that's not as "Obviously just a big menu" as the last one. I say that, but there's still a whole lot of stuff to show onscreen, anyway!! If there's lots of levels, it'd probably be a good idea to shrink the text size down a bit so I can fit more onscreen. And then there's the achievements to fit in, and the online highscores, and message of the day, and a whole big bunch of other stuff, too. Whew!
I might nick the NXE idea of having levels above one another, highscores if you scroll right..
That'd be nice.. And since the PC doesn't have a really really really shit DPad, it'd mean you could scroll left and right without accidentally ending up in a completely different section, because you accidentally hit up.. .. Oops, seem to have whinged about the Xbox a wee bit there.. Still, this whole game's appearing because GW2's so damn blurry, so I might as well moan about other things, too ;)
More to come.. (game making, and possibly whinging, too!)
To stop my head from exploding from all the compression stuff, I decided to play with the theme tune, today.
First off, I tried something different.
It was rubbish.
Next up, I tried the old theme, but rejigged.
Today's work has been mostly of the external variety.
First off, compressing a level..
I'm taking 160x160 pixels, each one being around about 16 different colors (give or take, depending on what walls/floors/etc I bother to add.) and trying to bundle them up into a teensy tiny bit of data.
To me, compression's a fun time, where you get to play with lots of fiddly numbers, and chaotic maths, just to get large things down to size.
Today, however, .png is annoying me.
Because my 160x160 is down to about 3716 bytes and png's is 1007..
But at least my version is a neatly formatted string, and not a nasty mess of binary data, which means I'll be able to upload and download these things in a relatively easy manner.
I'm still working on the compression, mind, so I'll probably get it down a teensy bit further still.
Meanwhile I'm starting to think about the uploaded highscores, and how I'll be able to keep track of them. You might be aware that I've already created a nice highscore system for basic games, so I'll be nicking parts of that code. The checksums, the user handling, and things of that nature will be grabbed and used in this game, since they work well enough.
I'm also going to use shorter checksum values to check each level between the player and the scoreboard server. It'll help relieve the strain that the last one took. (The previous one used the whole level as a checksum, so entire chunks of data kept being sent back and forth each time you updated your highscores!!! Hey, it worked, stop moaning!!)
Hopefully I won't end up with any nastily clashing levels, and if there are any clashes, I'll implement some kind of double checking system to be sure of which one's which. (!)
With all this input/output/overthenetput work, there's not much to show off, really. But rest assured that the game's coming together little by little..
Even if it's not actually loading the saved levels, or doing anything over the internet, yet!!
Yesterday was spent playing with the editor some more.
As the game and editor become more closely entangled, I'm finding lots of little extra tweaks that need to be made to the game, so that the editor can be that little bit more complex.
Here's a nice list of things you can currently tweak within the editor..
The start weapon (1-16 so far.. there are 16 forms of Basic weapon, and then the Super weapons on top. I've yet to add any Super weapons, yet, though!) and also how fast the weapon builds up... Basically meaning that, if you wanted to, you could ensure the player never actually changes their weapon in your level..
The initial wave layout (1-17.. from "An alien" to "OMG!WTF! LOTS OF ALIENS IN A CIRCLE!!") and how fast the layouts build up.
The initial Alien (1-6 as before, but additionally the breeds too..) and again, how fast they progress.
The randomness of alternative breeds, so that Red Bombas, Pink Spawns and Yellow Bonus aliens can all randomly appear within other basic breed type waves. Keeps things a bit more interesting when the Spawn type starts appearing at the basic levels..
That's your basic tweaks, and there's a few extras in there, too. You can also disable the progress for all the settings, and even the random breeds, to keep your level within strict rules. Should be plenty to keep the editor peeps busy.
I should mention, at this point, that I've actually reduced the Bomba alien quite a bit.
Previously, the Bomba would explode with a nice radial swirly blob, killing everything around it.... Including you!
If the Bomba ran up to you (which they tend to do!) and then exploded, you'd be too close, and die.
It was a teensy bit unfair, to say the least.
So, taking a leaf from Geometry Wars 2 (hey, why not!) I've turned the Bomba types into more of a "That gate thing" type of alien.
The Bombas still go boom, they just won't kill you.
And if you step on one, it also goes boom.
In basic terms, it means that in the middle of frantic action, you can stop shooting, run up to a flickering red guy, and blow everything up.
In complex terms, it means you can turn up the Randomness of Bombas, turn down the evolution of Aliens, Turn off weapons, and you've got yourself the lovely "Pacifism" mode from GW2.
Now, that's progress!
More to come.
I'm ashamed of myself!
This site's meant to be a game a week. I'm meant to be challenging myself..
True... Making Alien Deathmatch 2 is a challenge all of it's own, but I was wanting my own special little site with it's own special little gimmick, and it'll all look a little bit worse for wear if I leave a second week without a new game...
So, let's have a rummage through Jay's directory of leftover bits, and see if we can come up with something special..
How about a brand new, previously unreleased edition of Stringy Things DS!
Today, I finally got around to making the editor. Starting nice and easily, I'll be adding bits and pieces as I go, so that .. hopefully.. when you get hold of it, it's not as empty as it currently is!
Yesterday I said I'd be working on something else..
I didn't! Alien Deathmatch keeps dragging me back in ;)
Today I played with the weapons a bit more, to try and get a nicer feel to all the different main weapons. I also messed about with Particles because unbelievably I'd forgotton to put the things in! Silly me!
After that, a teensy bit more Alien AI work, and some more background tweaks managed to keep me busy through most of today.
They're little things, really, but it's those small niggling things that keep you busy for ages, as you load the game up, and "Test" it for 20 or so minutes at a time..
And by "Test" I mean sit and play it for ages, and forget you're meant to be working on it!!
More to come.. If I can drag myself away!
*... quite a bit!
Since we're already up to Saturday, and there's still an amazing amount of work to be done, I think I'm going to bump the deadline for Alien Deathmatch 2.. (OMG!! Missed Deadline!! WTF?!!?)
So, with that in mind, and since we missed AGameAWeek last week, I'm quickly heading back to Wednesday Workshop for a nice quicky idea.. This week's challenge is to create a game that works just as well played with a pen and some paper, as it does ingame..
For my entry, I'm not 100% sure, but I think I'll probably do the good old Dots/Lines/Squares thing.. Where you start with a grid of dots, and each draw lines in turn to create squares.. You know the one.. You probably sat at the back of the classroom playing it, just like I used to.
I'll get that done nice and quick, so you can look forward to "enjoying" that on Tuesday, and then I get back to coding Alien Deathmatch some more.
The editor's been started, today, but only in so much as I realised I'd probably need a better zoom, cos otherwise the 160x160 grid looks kinda tiny..
Zooming's not easy in Blitz!
I won't post a screenshot.. you wouldn't be able to tell the difference!!
But there is a difference..
Today I spent most of my day working a little more on the "Building up" stuff. That is, setting things up so that you start off easy, and things gradually get tougher.
I've put into place a huge number of little variables, all over the place, that should help decide how things progress in a level. Again, these will (somehow?!) be accessible within the editor.. once I bother to start it!
But currently I can have chaos from the start, or a really nice paced slow build of doom.
So that's nice to have.
I also nipped back into the graphics and did a few nips and tucks here and there, as well as getting the Red Breeds to explode nastily, the Pink Breeds to do their "Release a Swarm" thing, the Blue Breeds to run a little faster, and the Yellow Breeds to drop Multipliers..
Then I removed the Yellow Breed's Multipliers! I'll probably get them to drop guns, or something, 'cos it got WAY too easy to keep your Multiplier thriving when they actually came towards you!!
I should probably point out that the Guns and Multipliers will pretty much work the same way they did before, except that when the Multiplier hits the bottom, rather than hitting 1x straight away, it'll start beeping, and then plummet from your current multiplier, back to 1x.. This oughta give you a second or so to find a Multiplier pickup, and save at least a small bit of it!
Seems a bit fairer.. It was no fun when you'd racked up a high multiplier, and then suddenly lost it..
Um.. More to come!!
Haven't done a thing, today!
Actually, that's not entirely true. I spent most of this morning playing about with the Enemy Spawning layout code, and tweaking it to be a little fairer.. One of my annoyances when playing Geometry Wars is when you're running in one direction, and a bad guy spawns RIGHT in front of you, giving you a fraction of a second in which to go "Oh, FFS!" and then die horribly!
Maybe I'm just rubbish at it (so says my gamerscore), but that always pisses me off.
So, I've tried to ensure that won't happen in Alien Deathmatch 2.
The game checks that enemy won't spawn at any point within a 0.5 second radius.. (3 pixels per frame x 30 frames worth = 90 pixel radius.. although I actually set it to 100, just to be on the safe side.)
I'll probably reduce the spawn time, though, 'cos they took way too long in the last game.
What I have been doing, today, is waiting for NXE to appear, and then pissing about with all the lovely new stuff.
Which, since I'm in the UK, and we don't have NetFlix is approximately bog-all.
The avatar's nice, and all, but.. it's severely limited.
I did make a very very rubbishy not-too-much-like Pikachu-ish gamer icon, though! So, can't complain!
Meanwhile I took some time out to play both Geometry Wars (woot) and it's headache inducing elder brother.. I lasted about 5 minutes on GW2, and currently have a headache.. GW1 was more fun, and I think I've picked up a few new AI traits that'll be plonked into the game.
I also considered creating some kind of proper Achievement system into the game, this time around, and.. since I'm so mindnumbingly rubbish at GW1 (I have a whole 3/12 achievements!!) I might even incorporate a type of Suckage Unachievement list... or something.. Although I'm not sure how easy that would be to do, since it would be pretty easy to trigger the unachievements by purposely sucking at it..
Might be tricky!
So, all in all, a nice day of *cough* Market Research *cough* that oughta keep me active for a while.
Tonight, I'll get back into the code, and hopefully get quite a bit more done.
Background progress is coming along nicely.
I've currently got the level renderer to come up with a nice selection of coloured floors from 3 prerendered ones.. It can do plain, and chequered, thus giving us 6 possibilities of floors. Every room that's separated gets a random floor. Nice and simple.
(They have to be prerendered colours because Blitz is a bit slow at basic 2D stuff!! bah, humbug..)
It shouldn't be creating rooms with alike colours right next to each other, so I'm currently working on fixing that.. But even if I can't it's not exactly a biggy, right!?!
Meanwhile it's helping to make things look a bit more interesting and somewhat different from the previous version.
You'll probably also noticed that I finally got around to making the doors look a little better, too!.. Although I have just noticed that the vertical doors are highlighted the wrong way around.. d'oh! (*fixed*)
Most of the sounds are back in place, but gameplay elements aren't quite up and running yet.
The weapons don't upgrade without you manually hitting cursor keys to do it, the baddies won't appear without you hitting 1-6 to trigger a wave of aliens, and worst of all, there's not even a score yet, let alone multipliers!!!
That'll come later.
For now, I need to have a play with the editor!
I spent most of last night tweaking the graphics.
For starters, I've jigged about the whole Background tileset.
If you've bothered to poke around inside the old game, you'll have noticed that bg.png contains a great big pile of unused "Inside a Wall" stuff. It was originally going to serve a purpose, and fill out the black, but eventually I decided that having plain black nothingness would be good enough, and the black stayed as black.
So, they're now removed from the tileset, the odd yellow wall stuff's gone, too, and a whole big blank area has been created, ready for all new tiles to go in.
First off, though, I had to make myself some new walls!
The other day I considered redoing the whole wall structure. I considered making nice wonderful multidirectional walls, and levels with all kinds of diagonals, straight, and maybe even curves.
It seemed like a good idea.
Then I started to work on it, and... well.. it wasn't exactly super fast!
In fact, things were painfully slow.
As the game struggled to draw a single wall, with nice detail like the old one, I realised that drawing an entire arena in that way would only lead to drastic slowness on Blitz Basic's part.
It's a shame, but I think I'm going to have to cancel the whole plan.
So, today I opened up the old Alien Deathmatch, grabbed the nice "Level Renderer" code, stuffed it into the new game, tweaked it up to fit the new game's size, and bob's your uncle..
So far the 6 different aliens act as follows.
(But this might be tweaked once the walls start to get in the way!)
Note : If adblock's not letting you see the images above (due to it blocking "ad2_" images!) you may want to "Whitelist this whole site".. It's safe.. I despise adverts too, so there ain't any here!Read More