Dreaming Awake Game 1

I ran my first game set in the Dream­ing Awake set­ting at uni­ver­sity in 2005. Unfor­tu­nately, due to a num­ber of rea­sons, the game only reached its fifth session.

Sys­tem

The first Dream­ing Awake game used a sys­tem cre­ated from scratch specif­i­cally for it. Although it was briefly play-tested for bal­ance issues before­hand, it suf­fered from a few issues that only became appar­ent once it was prop­erly in play:

  • Shiny dwarfed every­thing. The first char­ac­ter to be awarded a Shiny point — for some­thing entirely social, as it hap­pens — sud­denly became a com­bat munchkin against any­thing non-Shiny, and the rest of the party couldn’t keep up.
  • Pow­ers weren’t obvi­ous enough. The “can I do this?” ques­tion was asked too often, and play­ers’ lack of con­fi­dence in their char­ac­ters’ power level made them make poor deci­sions. Play­ers (and thus char­ac­ters) couldn’t prop­erly gauge how much of a threat their ene­mies were, lead­ing to slow and cau­tious combat.
  • The com­bat sys­tem was too slow. Although I began cre­at­ing it with sim­plic­ity in mind, the never-ending quest to make it more ele­gant also made it more com­plex. It was not imme­di­ately obvi­ous to play­ers what stats they should be com­bin­ing at each point.

Infor­ma­tion regard­ing the sys­tem we used is doc­u­mented here for archae­o­log­i­cal purposes:

Set­ting

The fact that I am deeply in love with Dream­ing Awake as a set­ting should come as no sur­prise. I wanted the game to feel like an open-ended sand­box that grad­u­ally drags the char­ac­ters into the plot, giv­ing them chance to have fun with the set­ting, rather than run­ning a rail­roaded cam­paign. I prob­a­bly allowed too much free­dom here, and I learnt the fol­low­ing lessons (the hard way):

  • Play­ers need to see the results of their actions. A lot of the mechan­ics of fame in Dream­ing Awake involved tales of the play­ers’ actions spread­ing by word of mouth — but when that’s invis­i­ble to the play­ers, the results seem arbitrary.
  • …but not when the result is that they’ve made their task more dif­fi­cult. By their actions and word of mouth, the play­ers man­aged to effec­tively start the evac­u­a­tion of a whole coun­try in the face of an oncom­ing army. Regard­less of whether it was a good or a bad deci­sion, it was one that increased the play­ers’ fame, which Dream­ing Awake prizes greatly. As a “look how pow­er­ful your words are” scene, the char­ac­ters stum­bled upon one of many refugee camps that had formed — but rather than impress­ing on the play­ers the impor­tance of the char­ac­ters’ actions, it instead demor­alised them.
  • Plot hap­pen­ing in the back­ground is con­fus­ing. At one point, the char­ac­ters caught a glimpse of some­thing big hap­pen­ing in a far-off land. This was intended as a minor hook to sug­gest that other things are going on that the char­ac­ters are not involved with, and that per­haps they might want to be involved. But because it came across as “look, stuff hap­pens with­out you!”, the play­ers did not feel much desire to investigate.

Mage: Beyond the Fields We Know

This page con­tains the intro­duc­tory mate­r­ial for the “Mage: Beyond the Fields We Know” game that is still wait­ing to be run at some point. It was orig­i­nally posted in this thread.

About the Game

For those of you new to the soci­ety, or absent dur­ing my Pimms-fuelled rants towards the end of last aca­d­e­mic year, here’s some info about the game.

This game is going to be at least a lit­tle novel, I hope, in that it’s going to push the bound­aries of in– and out-of char­ac­ter fur­ther together than most other games (with the inevitable excep­tion of Dream­ing Awake). The char­ac­ters will be Vir­tual Adepts in White Wolf’s “World of Dark­ness” set­ting (Mage: The Ascen­sion). Rather than just play­ing face-to-face, play­ers are encour­aged to invent as much of a seper­ate iden­tity for their char­ac­ter as they feel com­fort­able with. The game will mostly be run over IRC, so char­ac­ters are encour­aged to have at least a han­dle — blogs, prox­ies, shell accounts and so on are encour­aged for play­ers who want to delve deeply into the world.

The game is set around the end of the year 1999, as Mil­len­nium Bug fever tight­ens its grip on techies and con­spir­acy the­o­rists alike. As Vir­tual Adepts, the inter­net is in equal parts home and play­ground to you — and you know not only about its tech­ni­cal side, but also its more eso­teric side.

And you know that the Mil­len­nium Bug is more than just pro­gram­mers’ lack of fore­sight. Much more.

My scene-setting story frag­ment, “Catch­ing the Bug”, is here: http://onlydreaming.net/fiction/short-stories/catching-the-bug.

When and How?

This is where it gets a lit­tle trick­ier. This started off as merely an inter­est­ing idea — how far can I blur the bound­aries between the activ­i­ties of the Vir­tual Adept and of their player — and it remains to be seen whether the idea will trans­late well into practice.

I’ll do my best to run this game well, but please remem­ber it’s as weird for me as it is for you!

Firstly, the game will not run face-to-face. It’ll be run online, but I don’t mean over MSN or IRC say­ing “My char­ac­ter does this, I say that”.

I will set up one of my machines as a server, which play­ers — in the guise of their char­ac­ters — will be able to inter­act with. It’ll host an IRC chan­nel, all the play­ers will have user accounts and shell access to them, and so on.

Fur­ther­more, it’ll be run in real time. The game starts on 1st Decem­ber at mid­night, and con­tin­ues until the plot resolves or until about 4th January.

FAQ

Will I need real-life hack­ing skills to play in this game?
No.
Real-life skill imbal­ance is a prob­lem I’ve thought long and hard about, and I’ve come to the con­clu­sion that there will be fairly lit­tle *actual* hack­ing involved — instead, this will be role­played in a more nor­mal man­ner.
How­ever, the abil­ity to log in to your account, run things, move files around and so on will be required. I’ll post an out-of-character man­ual for how to do things, and teach peo­ple basic Lin­uxy things myself if nec­es­sary.
While real-life skills should not give any player’s char­ac­ter an advan­tage or dis­ad­van­tage, the more you know — and the more you play around with the sys­tem — the more fun it’ll be. Hopefully.

How many peo­ple can play?
Lots. I’m not set­ting a limit at this stage. If your character’s back­ground doesn’t sug­gest some goals, moti­va­tions, and so on, we can work some out. The aim is for there to be enough char­ac­ters with con­flict­ing goals that I don’t have to shep­herd around a “party”, but that the game vir­tu­ally plays itself while I play the NPCs and hideously abuse my root priv­iledges in the cause of keep­ing things interesting.

Will I need to be online per­ma­nently?
No. Your char­ac­ter, like you, will doubt­less have jobs, stud­ies and things to do. So long as you can get online enough to keep abreast of devel­op­ments and play the game for at least a while every few days, you shouldn’t fall behind.

What’s this server of yours?
Actu­ally, the machine I’ll use belongs to the lovely and won­der­ful aefari­den, The Artist For­merly Known As Areku. The machine I intended to use decided to rit­u­ally incin­er­ate itself, so I’m eter­nally grate­ful to Alex for the loan of a machine.
It’ll be run­ning a pretty heav­ily cut-down Gen­too Linux.
This machine will be on my home net­work, so I do ask that should any of the play­ers man­age to hack their way into acquir­ing inter­est­ing priv­iledges on the game machine, please don’t try to do nasty things to my other boxes.

Back­ground Info

Late Octo­ber, 1999.

The infor­ma­tion age has arrived. What began all those years ago as merely a way for uni­ver­si­ties to share data has become so much more. Uni­ver­si­ties, com­pa­nies, the gov­ern­ment, every man and his dog is get­ting online. Every­one can dial up and click-click-click through web pages.

But so few of them, just a tiny pre­cious few, truly see the inter­net for what it is.

You are one of those lucky few. Whether you grew up with the ‘net, got involved with it as an adult, or even helped develop it in the early days, you see beyond hyper­text and TCP/IP. As you sit trance-like in front of your blaz­ing mon­i­tor, as you pull on the gog­gles and load up the lat­est VR exper­i­ment, even as you make a call on your mobile phone, you can feel it all around you.

Infor­ma­tion. The new reality.

No longer is the world con­strained by such an abhor­rent con­cept as a sin­gu­lar real­ity — now, we can pick and choose our real­i­ties, and make new ones for our­selves. Any fool can make a web page these days, but we can make some­thing more. Worlds within worlds, the next real­i­ties, the shin­ing path down which we will lead human­ity away from their dying world.

Any­thing is pos­si­ble for us. Already, infor­ma­tion is begin­ning to supercede real­ity. More and more, peo­ple trust the machines, they trust the infor­ma­tion. We manip­u­late infor­ma­tion, cre­ate it and destroy it, and in so doing we rework reality.

We are Vir­tual Adepts.

We are the gods of cyberspace.

We are the future.

Early Novem­ber, 1999

Of course, we are all human and all fal­li­ble — at least for now. Even Alan Tur­ing, per­haps the most respected of all Adepts, had his moments. So did the inven­tors of the early micro­proces­sors and oper­at­ing sys­tems. They under­es­ti­mated how impor­tant com­put­ers would become, nor how long they’d last.

It’s a silly thing, really. Two dig­its instead of four. So sim­ple. So dumb. Of course, to us it never would have mat­tered. Such a sim­ple thing, far below the level at which we per­ceive the infor­ma­tion plane. But of course it wor­ried the mun­dane lot, and to their credit they’ve been work­ing long and hard to fix it. The prob­lem is, the pub­lic got hold of the idea and ran with it.

Our world, the inter­net, is not just our play­ground. It is defined by the data within it, and every­one can influ­ence that. While we have the most far-reaching and pow­er­ful ways of manip­u­lat­ing data, the meme is a mighty tool — espe­cially in the hands of those who do not under­stand it well.

Night­mare con­spir­a­cies and apoc­a­lyp­tic prophe­cies spread like wild­fire once the pub­lic got hold of the Mil­len­nium Bug meme. Word of it passed not only across mes­sage boards and chat chan­nels, but around the office water­cool­ers and in the news­pa­pers. Every­one knows, everyone’s talk­ing about it, and they’re mak­ing it real in ways they don’t understand.

Try as we might, and believe me we are try­ing to fight its effects, we are under siege. Every­one on the ‘net is talk­ing about how com­put­ers and the web are going to come to an end, and these beliefs are fill­ing up the infor­ma­tion sphere. Fill­ing up our reality.

That apoc­a­lyp­tic meme is mak­ing itself come true.

Whilst I vio­lently reject the Tech­no­cratic Union’s desire to con­trol the minds of the peo­ple, it is the minds of the peo­ple that are destroy­ing the future.

I do not know what can be done.

Mid Novem­ber, 1999

Already our world is grow­ing flaky. As com­pa­nies and gov­ern­ments across the globe take their servers offline for “pre-emptive mea­sures” against the Bug, our real­ity is get­ting less and less reliable.

Word of the Mil­len­nium Bug has spread so far and wide that so many peo­ple know about it with­out under­stand­ing it. A lot of them don’t even realise that no real effect of the bug could hap­pen until Jan­u­ary 1st, and attribute their con­nec­tion prob­lems to the Bug already. More than once today I’ve seen peo­ple come out with lines like “It’s start­ing already”.

There’s a lot of pes­simists in the world today; a lot of peo­ple that only see the worst in a sit­u­a­tion. So that thought spreads like wild­fire. The “it’s start­ing early” meme latches on to its greater par­ent and spreads with it, and thus makes itself more true.

No longer can we say that noth­ing can hap­pen until the New Year. It *is* hap­pen­ing already.

Late Novem­ber, 1999

The inter­net is falling apart, and it seems as if there’s noth­ing we can do.

But there is.

I have an idea, and I have made an arrange­ment that not many of you will like. Should we fail to save the net, maybe I will be for­ever judged as the one who put the final nail in its cof­fin. But if we suc­ceed, I hope that his­tory is kind and for­gives this transgression.

I can say no more here, as I am afraid of what might hap­pen if the infor­ma­tion reaches the wrong ears.

All I will say is this. I can­not do this alone; I need vol­un­teers. Each of us has a stake in the internet’s sur­vival. Though many of us are no doubt try­ing to pre­vent the net’s down­fall in their own ways, I hope that enough of you will trust me enough to join my crusade.

If you are will­ing, head over to the Zephyr node. Wel­come to Project Decem­ber. And… thank you.

Ben­jamin Frost

Vir­tual Adept

So what can I play?

You are one of the gods of the inter­net. What­ever your back­ground, whether your skills devel­oped with your inten­tion or not, you see infor­ma­tion and cyber­space for what it truly is — a new real­ity based on infor­ma­tion alone. Whether you regard your abil­i­ties as mag­i­cal or not, you have them and they set you apart from nor­mal peo­ple. You may just do this in your spare time while hold­ing down a proper job, or you may have sunk so deep into cyber­space that you can hardly bear mun­dane real­ity anymore.

The major­ity of char­ac­ters will be Vir­tual Adepts, vision­ar­ies of the infor­ma­tion age, peo­ple for whom the inter­net is an excit­ing oppor­tu­nity to fur­ther human development.

A few char­ac­ters may, if they like, be mem­bers of a par­al­lel group within the Tech­noc­racy. For the tech­nocrats, the inter­net is one of many tools to mon­i­tor and con­trol the peo­ple for their own good. Just like the Vir­tual Adepts, though, they have a vested inter­est in keep­ing the net running.

Despite their com­mon goal, these two fac­tions are at what amounts to an ide­o­log­i­cal war with each other. There­fore, I’d ask that what­ever side you pick, you do not men­tion both your character’s han­dle and their ide­ol­ogy in any out-of-character dis­cus­sion. I want the char­ac­ters find­ing out about each other and their goals and mind­sets to be entirely in-character.

I will enforce > 80% Vir­tual Adept char­ac­ters, so if you cre­ate a Tech­no­crat char­ac­ter please don’t be offended if I ask you to change your char­ac­ter to a VA.

Your char­ac­ter can be any­where in the world, any nation­al­ity, any age or sex, any social stand­ing and wield any amount of real-world power. The inter­net is the great lev­eller — online, you are noth­ing but your han­dle and your ideas.

Your pow­ers may have devel­oped grad­u­ally with heavy net use, they might have been taught to you by a VA (although you wouldn’t have realised it at the time), or you — rarely — might even have been born with them.

It is hard — but not impos­si­ble — to find out about the Vir­tual Adepts (or the Tech­noc­racy) by mun­dane means. After your pow­ers came to you, though, it would have been sig­nif­i­cantly eas­ier, and it would be quite likely that one or other (or both) of the groups found you before you had a chance to find them.

Who is Ben­jamin Frost?

Whether by e-mail, a post on a secret BBS or by some more eso­teric means, you’ve come across this infor­ma­tion that Ben Frost is set­ting up some­thing called “Project Decem­ber”, an attempt to com­bat the Mil­len­nium Bug meme and save the inter­net and the infor­ma­tion it con­tains from an uncer­tain future.

Although Vir­tual Adepts do not have a for­mal hier­ar­chy, Ben is a renowned expert on vir­tual real­ity envi­ron­ments and net­work secu­rity. He is per­cieved by most as trust­wor­thy although a lit­tle dis­tant, mostly too wrapped up in his own minia­ture VR worlds to inter­act with the other Vir­tual Adepts much. He seems an unlikely wannabe sav­iour of the inter­net, but per­haps the insta­bil­ity of the entire net­work has affected even his own per­sonal playgrounds.

These days he prefers to be known by his real name, although he does on occa­sion go by one of his old han­dles, ‘Emp­tySky’. He is 34 years old, and is a pro­fes­sor of Vir­tual Inter­faces at Cor­nell Uni­ver­sity, New York.

Sea Battle

Sea Bat­tle is a casual 2D real-time strat­egy game. In the game, you must research com­po­nents and build ships from them at a fran­tic pace in order to out-gun the computer-controlled enemy player. You win by destroy­ing the enemy base, and of course you lose if the enemy man­ages to destroy yours.

Screen­shot

Sea Battle Screenshot

Play Sea Bat­tle now!

Sea Bat­tle is avail­able in var­i­ous forms, all of which require an up-to-date Java run­time. The applet form (“Play online now!”) is unplayably slow on some OS & browser com­bi­na­tions — if this includes yours, please down­load the game for your plat­form instead.

How to Play

First off, select your dif­fi­culty level and hit Start Game. Easy dif­fi­culty is selected by default — this set­ting dhould be beat­able once you have a lit­tle prac­tice, or first time if you get the hang of the game quickly.

Once you’re into the game, the right-hand side of the screen con­tains your build and research options. You start with no ships, so that’s where you’ll want to begin.

Each ship is con­structed from four com­po­nents — Hull, Weapon, Engine and Radar. You can see the tech tree for each on the right, mostly in grey. You are given the first of each for free, which are cur­rently dis­played in yellow.

Bet­ter hulls have more health, but they are also slower to move and slower to build. Weapons have vary­ing dam­age lev­els and fire rates, but in gen­eral the later ones are bet­ter. Engines increase ships’ speed, very impor­tant for the larger hulls. Radars set the weapons’ range (out­rang­ing your enemy will be a big advantage).

You’ll prob­a­bly want to begin by build­ing a few of the most basic ship, in order to fend off the enemy while you research and build bet­ter things. Click­ing on the “Build” but­ton in the bottom-right builds one ship of what­ever con­fig­u­ra­tion is cur­rently shown in yel­low. You can click it mul­ti­ple times to fill up the build queue.

While your ships are build­ing, pick some com­po­nents to research. This is done by click­ing on a grey box — it will turn green for the dura­tion of the research. Once com­plete, it will be white — avail­able, but not selected. You can click white boxes to turn them yel­low and select that new configuration.

By this point, the enemy will be throw­ing some ships at you. Your base is at the bot­tom of the game win­dow, where your (blue) ships are appear­ing. The goal of the game is to destroy the enemy base at the top of the screen, but first you have some ships to deal with. Left-click on your ships to select them, then left-click again some­where else to set their des­ti­na­tion. You can also drag a box to select mul­ti­ple ships. Right-clicking at any time can­cels selection.

To begin with your ships will be evenly matched, but the enemy never stops research­ing, and nei­ther should you. Hav­ing the tech­no­log­i­cal edge is the key to win­ning the game.

The best research / build pri­or­i­ties, and advanced tac­tics on the game field, are up to you to discover!

Devel­op­ment Status

Sea Bat­tle is cur­rently at ver­sion 0.3. It’s playable and enjoy­able, but there are a few tweaks that will be required before it can be prop­erly released as v1.0.

The devel­op­ment of Sea Bat­tle was doc­u­mented as a series of blog posts.

Licence and Source Code

Sea Bat­tle is released under the terms of the GNU GPL v3. Source code is included with each platform-specific down­load above, and you can also grab the source code from Github.

Bugs and Fea­ture Requests

If you find a bug or would like to request a fea­ture for a future ver­sion of Sea Bat­tle, please con­tact me via this form or if you have a Github account, you can enter issues directly into the tracker.

Sea Battle: Of Ships and Submarines

The dis­tinc­tion between sur­face ships and sub­marines in Sea Bat­tle has turned out to be a more thorny issue than I orig­i­nally imagined.

The orig­i­nal plan was to have two classes of ves­sel, based on their hull types — ship or sub­ma­rine — and weapons that could hit ships, sub­marines, or both. A future update could also have included air­craft “hulls”. How­ever, the more I think about the game bal­ance issues, the less I’m con­vinced that this is a good deci­sion with the tech tree and play­ing field size that Sea Bat­tle cur­rently has.

Sea Battle’s tech tree, as it cur­rently exists, has four straight “trees” with 10 items in each. By and large, each com­po­nent that you research is bet­ter than its pre­de­ces­sor. (Later hulls are heav­ier and take longer to build, so small hulls are still use­ful. How­ever, you would rarely want to choose any­thing other than the best weapon, engine and radar that is avail­able to you.) Com­bined with the small play­ing field, this makes for a fast-paced game of a few min­utes, with each player research­ing and churn­ing out ships con­stantly to gain the upper hand.

There are a num­ber of rea­sons why the cur­rent tech tree is inap­pro­pri­ate for sub­marines. Firstly, the weapons that a sub­ma­rine could have: there’s only two. The Sting Ray tor­pedo (weapon 8) and Tom­a­hawk mis­sile (weapon 9) are the only weapons appro­pri­ate to be fired from a sub­ma­rine. This would make rush­ing down the hull tree to sub­marines point­less unless you’d already reached near the end of the weapons tree — and in most games, you don’t even get that far.

It also cre­ates a UI com­pli­ca­tion, in that cur­rently, any com­bi­na­tion of hull and weapon is per­mis­si­ble. Submarine-appropriate weapons would break that behaviour.

There’s an issue with anti–sub­ma­rine weapons too. Again, only two (Depth Charge (6) and Sting Ray (8)) are appro­pri­ate for use against sub­marines. But since a viable sub­ma­rine build wouldn’t exist until Hull 6 + Weapon 8, they would only exist in the late game, at which point Depth Charges just can’t hold their own against other weapons — so why have them at all?

To abuse game the­ory, the log­i­cal choice is for play­ers to build Depth Charge ships when they become avail­able, then hold them in reserve as insur­ance against their oppo­nent build­ing sub­marines. But if you see your oppo­nent stock­ing up on Depth Charge ships, you might as well not bother build­ing subs and just go for bet­ter weapons and radar instead. Who­ever com­mits to a strat­egy first ends up on the los­ing end.

To cure these prob­lems, per­haps we need to take another les­son from War­zone 2100’s book and have sep­a­rate tech trees for dif­fer­ent weapon types. So rather than one tree of 10 weapons, we have two trees for anti-ship and anti-sub. (And poten­tially anti-air later.) If we’re going down this route we ought to have dif­fer­ent hull trees for ships and subs too. But at this point it’s turn­ing into a rather dif­fer­ent game — a slower, more tra­di­tional rock-paper-scissors RTS. But these games ben­e­fit from larger play­ing fields, var­ied ter­rain and squad-based com­bat — none of which Sea Bat­tle is par­tic­u­larly well suited to in its cur­rent form.

So the ques­tion stands: Do I expand Sea Bat­tle sig­nif­i­cantly to include this extra com­plex­ity, on the under­stand­ing that I would prob­a­bly need to rewrite it in some­thing other than Pro­cess­ing and that may con­sign it to the pile of “projects I lost inter­est in”, or do I just ignore the issue and for the sake of sim­plic­ity not treat sub­ma­rine hulls as any dif­fer­ent from ships?

Sea Battle: Here Comes the Science Bit

Another day down, and some­how Sea Bat­tle is remark­ably close to the fin­ish line. (No idea what I’m talk­ing about? See pre­vi­ous blog entries 1, 2 & 3.)

First things first, my fail­ings: CPU use and mouse sen­si­tiv­ity are still not fixed. I’m now hav­ing to re-render more of the win­dow on each refresh than before, so if any­thing they might be slightly worse.

On the Face­book thread, Scott and Mark men­tioned an AI issue in that a suit­ably scary player ship, when parked close to but slightly off to one side of the enemy base, will be ignored by enemy ships in favour of attack­ing the player base instead — even when they have no hope of destroy­ing the player’s base before their own is destroyed. As far as I know that issue is still there, though improved enemy research and build AI should mean the enemy is pump­ing out ships just as scary as yours.

On to the new features:

  • All 10 hulls, weapons, engines and radars are now implemented
  • You can now choose between them when set­ting build orders, so you can build in what­ever con­fig­u­ra­tion you like
  • Research is now imple­mented — click on an unre­searched com­po­nent to start research­ing it
  • You start the game with only basic com­po­nents, and must research more to survive
  • Colours: Grey — not researched yet, Green — research­ing now, White — avail­able, Yel­low — selected (click­ing Build will build this)
  • Enemy AI now han­dles its own research
  • Enemy AI now builds intel­li­gently rather than randomly
  • You can now drag a box to select mul­ti­ple ships


And bug fixes / tweaks:

  • Base health sig­nif­i­cantly increased
  • Build­ing a sec­ond ship with­out mov­ing the first no longer places them on top of one another
  • Pathfind­ing code tweaked to cope with much faster/slower ships now all the hulls and engines are available
  • Fixed an issue whereby the blue radar cir­cles were drawn at half the ships’ actual radar range


Still to come:

  • Ship / sub­ma­rine hull and vs ship / sub­ma­rine weapon distinction
  • Tweaks to enemy AI
  • CPU use / mouse respon­sive­ness fixes
  • Menu sys­tem and dif­fi­culty picker


If you’d like a good strat­egy for beat­ing the game at this point, I rec­om­mend you begin by keep­ing your build queue about 3–4 ships full, build­ing the best thing you can at any point. Research-wise, rush down the weapons tree as far as Har­poon mis­siles, throw­ing in a cou­ple of hulls and radars. Avoid engines for now. As soon as you have Frigates with Har­poons and Radar Mk 4, keep build­ing them until you’ve fended off all the ene­mies near your base and you have a fleet of 15–20 of them, then move them all right up to the enemy base. With that fleet you should be able to destroy the base before the ships they build wear yours down too much.

You can play the cur­rent ver­sion of Sea Bat­tle as a Java applet by click­ing here.

Sea Battle: That’s what Guns are for!

Another day — or three, in this case — brings another ton of func­tion­al­ity for Sea Bat­tle. (Pre­vi­ous posts: 1, 2)

Today’s release reduces the tar­get frame rate from 60 to 30 frames per sec­ond, in an attempt to alle­vi­ate the CPU hog­ging reported by aefara­dien in the pre­vi­ous post’s com­ments sec­tion. As I said in the com­ments, it’s not an issue I see on every machine, so I’d be grate­ful if any testers could tell me what PC setup they have, and how much CPU power the game takes up.

Today’s ver­sion also fixes the spin­ning ships bug that just about every­one reported. What it doesn’t do is make mouse clicks any more respon­sive, which is annoy­ing me too. Please bear with it for today, I’ll see if I can work out how to deal with that soon.

Mostly this release is about new fea­tures. Sea Bat­tle now has:

  • Ships are now imple­mented as hav­ing sep­a­rate Hulls, Weapons, Engines and Radars
  • Ships can shoot at each other (finally!)
  • Ships have health (and health bars), and can be destroyed
  • Bases have health (and health bars), and can be destroyed
  • That means there’s now a win and a lose condition
  • Enemy ship AI now con­sid­ers your ships’ scari­ness — a fac­tor of fire­power and remain­ing health — to pick tar­gets it thinks it can defeat
  • You can now build, with appro­pri­ate build delays and an 11-slot build queue
  • The enemy can now build too
  • Colours have been tweaked to make ships’ alle­giances more obvious

The only real bit of func­tion­al­ity that’s still miss­ing is the research / build options. Cur­rently, click­ing the Build but­ton pro­duces a ship of a pre­de­fined con­fig­u­ra­tion — you can’t change that con­fig or research bet­ter ones. The AI builds ran­dom ships up to and includ­ing as pow­er­ful as your default one, and has a rea­son­able amount of ‘thought delay’ to its actions, mean­ing that you can achieve vic­tory fairly eas­ily. (Just fill up the build queue and send every ship North as soon as it’s built — you’ll lose a few, but enough should sur­vive to destroy the enemy base.)

You can play the cur­rent ver­sion of Sea Bat­tle as a Java applet by click­ing here.

Note: this blog post is old, and the applet now has more func­tion­al­ity than is described here. The next blog post in the sequence is here.

Sea Battle, now with more Processing

Nearly a month ago now, I blogged some sketches and ideas for a game I felt like writ­ing. mas­terofwalri made a pass­ing ref­er­ence to Pro­cess­ing in his com­ment, and hav­ing heard peo­ple men­tion it in the past, I fig­ured I should check it out.

I’m very, very glad I did.

It neatly deals with the issue of what I should develop for. The com­ments were lead­ing me down the Java path any­way, but Processing’s two-click export to Applet and bun­dles for Win­dows, Linux and Mac OS sealed the deal. And it’s easy to pro­gram in too — it’s clear that it’s beginner-oriented, but it’s also ideal for sim­ple games like this as it sim­ply removes all the start­ing faff, like sort­ing out JPanels and TimerTasks and all the rest. Time will tell if Pro­cess­ing over-simplifies things and stops me doing some­thing I want to do, but for now it is excelling at the main task of high-level pro­gram­ming lan­guages — reduc­ing the amount of brain over­head I need to allo­cate in order to talk to the computer.

One lunchtime has pro­duced 270 lines of code — which already includes the game area of the GUI, con­trol­lable player ships, and the begin­nings of AI for the enemy ships.

You can play around with it as an Applet here.

Note: this blog post is old, and the applet now has more func­tion­al­ity than is described here. The next blog post in the sequence is here.

Cur­rently there’s no real game­play — you can’t build, and ships can’t shoot or be dam­aged. You can move your ships (start­ing at the bot­tom of the screen) around, and the AI ship will hunt yours. Click on a ship to select it (blue cir­cle), then click else­where to set its des­ti­na­tion. Red lines, when they appear, show when ships would be shooting.

The next block of code will give the ships cus­tomised gear, health points, and the abil­ity to attack and sink oth­ers. With that will prob­a­bly come attack ani­ma­tions, which with my lack of skill in that depart­ment, will take a while. After that, dam­age­able bases and win/lose con­di­tions, then the build/research sys­tem. Finally, graph­ics tweaks, AI improve­ments and game bal­anc­ing will fin­ish it off.

More blog­gery will appear once more cod­ing occurs!

Death by Electorate 2010

For any of you want­ing a rea­son to be in A&E by 6am tomor­row, we proudly present: the Elec­tion Results Drink­ing Game!

Sim­ply tune in to a live broad­cast of your choice by 10pm tonight, and…

  • Every time the Labour party wins a seat, take a sip of Aftershock.
  • Every time the Tories win a seat, take a sip of Blue Curaçao.
  • Every time the Lib Dems win a seat, take a sip of brandy.
  • Every time the Green party wins a seat, take a sip of absinthe.
  • Every time UKIP wins a seat, read their man­i­festo, then make and drink a Pur­ple Rain to get over the shock.
  • Every time the BNP wins a seat, emigrate.

There are 649 seats up for grabs, so good luck and try to avoid an untimely demise!

Type X29

“Type X29” is an exper­i­ment: a 1D bullet-hell shooter. Although ene­mies and bul­lets may move in two dimen­sions, your ship is con­fined to a sin­gle line, mean­ing that dodg­ing enemy fire becomes not just a mat­ter of quick reac­tions but of strate­gi­cally destroy­ing ene­mies in advance to give you enough space to move between their shots.

The game is very early in its devel­op­ment phase — I’ve lit­er­ally only spent a few hours on it over a cou­ple of days. None of the art­work, game­play etc. is final, and as yet there is no real goal other than sur­viv­ing as long as pos­si­ble. Even­tu­ally there will be lives, weapon upgrades, bosses and all the rest. But for now, see if you can beat my record of 114 seconds!

You can play Type X29 here. It requires the lat­est ver­sion of Java and a plu­gin for your browser.

Screen­shot

Type X29 Screenshot

Type X29 Screenshot

Licence & Source Code

Type X29 is licenced under the GNU GPL v3. You can grab the source code from GitHub.

Changeling 2: The Anti-Changeling?

I have thought up yet another set­ting for a role­play­ing game that I will prob­a­bly never get to run. This may be of inter­est to my for­mer “Changeling: In Love and War” play­ers since it’s in the same world, though the feel of it is com­pletely dif­fer­ent. Pretty much the oppo­site, in fact.

I have two words for you: Punk fairies.

Here’s the introduction.