( Screenshot )
Anthea "Judd" Lakowski
Sep. 2nd, 2008 02:08 pm"... but by that time Red and I had found a flame-thrower. There was wave after wave of zombies coming at us, but we retreated into the building, and I took the 'thrower and backed into a niche one side of the entrance, and Caroline retreated down a corridor away from me and found a good sniping position.
"I kept up a steady jet coving the entrance, and every zombie coming toward me. Each screamed as it caught alight and fled, flaming from me. A few got close enough I roasted them right threw before they could get away but most streamed crackling and popping down the corridor toward Red, bumping and tripping any of their not-yet-lit brethren and spreading the fire...
"Red was amazing. Her career had gone, but there she was, long frizzy red hair streaming in the wind, leaning boldly forward into destiny. I'd never seen anyone handle a laser rifle like Red; most people need to wait, to line up, but she could snap off shot after shot after shot, punching the brains out of each charred zombie in less time than it took to take a step.
( Read more... )
"I kept up a steady jet coving the entrance, and every zombie coming toward me. Each screamed as it caught alight and fled, flaming from me. A few got close enough I roasted them right threw before they could get away but most streamed crackling and popping down the corridor toward Red, bumping and tripping any of their not-yet-lit brethren and spreading the fire...
"Red was amazing. Her career had gone, but there she was, long frizzy red hair streaming in the wind, leaning boldly forward into destiny. I'd never seen anyone handle a laser rifle like Red; most people need to wait, to line up, but she could snap off shot after shot after shot, punching the brains out of each charred zombie in less time than it took to take a step.
( Read more... )
Two flash games
Aug. 18th, 2008 01:17 amWith thanks to Matt R and PJC respectively for most recently linking me to them,
Scorching Earth, a flash puzzle game where you play as a forest fire.
Fantastic Contraption, a very pretty mechanics game: build things out of wheels and rods and water, bouncily and convincingly
Scorching Earth, a flash puzzle game where you play as a forest fire.
Fantastic Contraption, a very pretty mechanics game: build things out of wheels and rods and water, bouncily and convincingly
(no subject)
Aug. 28th, 2007 02:38 pmA while back I was considering porting my flash game to run standalone and efficiently, or possibly designing a sequel so, but wasn't sure what language (a) suited me (b) was conveniently cross-platform and (c) could handle reasonably efficient and clear code, but also put graphics on the screen with no fuss. It seemed possible the answer was java, which worried me.
Then I considered various cross-platform graphic libraries, SDL (popular cross-platform simple 2-d graphics library), Allegro (based on SDL, also provides sprites, etc,) and wondered if there was anything that actually handled tiles, etc I could borrow.
Recently it occurred to me possibly the code I should have been using was http://en.wikipedia.org/wiki/Gnash (cross-platform GPL flash player, though possibly not up-to-date on windows) :)
Then I considered various cross-platform graphic libraries, SDL (popular cross-platform simple 2-d graphics library), Allegro (based on SDL, also provides sprites, etc,) and wondered if there was anything that actually handled tiles, etc I could borrow.
Recently it occurred to me possibly the code I should have been using was http://en.wikipedia.org/wiki/Gnash (cross-platform GPL flash player, though possibly not up-to-date on windows) :)
Winnie-The-Pooh Game
Jul. 9th, 2007 04:49 pmI looked out the flash game I wrote again (http://cartesiandaemon.livejournal.com/222925.html). Level 20 was hard, it took me half an hour to solve, and I *wrote* it.
I had some other impressions:
* Roguelike mode is very useful, without it its too tedious walking round levels that take a long time.
* You really need a "reset" key, it's stupid that you need the mouse
* Some of the interactions are too subtle. Beetles jump into a 1-wide chasm, but no further. Which makes sense, but it's not clear. I could add some more levels to pad it out a bit, that would be fun, but not every single level introducing a subtlety of behaviour. That was definitely the best effort/reward at the time, but it does mean it can be hard, or too quickly completed if it isn't hard.
* Pooh should be able to see at angles!
But when I found it hard, I remembered several people had been stuck on some level or other, but in the midst of a party I couldn't really help them. If you wanted to ask for hints, I can help you now :)
I had some other impressions:
* Roguelike mode is very useful, without it its too tedious walking round levels that take a long time.
* You really need a "reset" key, it's stupid that you need the mouse
* Some of the interactions are too subtle. Beetles jump into a 1-wide chasm, but no further. Which makes sense, but it's not clear. I could add some more levels to pad it out a bit, that would be fun, but not every single level introducing a subtlety of behaviour. That was definitely the best effort/reward at the time, but it does mean it can be hard, or too quickly completed if it isn't hard.
* Pooh should be able to see at angles!
But when I found it hard, I remembered several people had been stuck on some level or other, but in the midst of a party I couldn't really help them. If you wanted to ask for hints, I can help you now :)
The next iteration of my Winnie the Pooh flash game is online here: http://semichrome.net/~jack/games/quartus/
Christopher Robin, Alice, find the animals of the Hundred Acre Wood are cursed, becoming evil. This, of course, leads to a series of self-contained action/puzzle levels with graphic cartoon violence.
The new version has:
* Ten new levels and plot
* Improved controls, including a rouge-like mode (where things move only as fast as you press a key, giving you as much time to study as you want), and hjkl and wasd keys.
* Blinkenlichten and and LCD display showing you which levels you've completed, and letting you skip to whichever you want.
* One new character, Piglet (squee!), a rewrite of small, become more interactive but less dangerous
* Some of the old levels have been tweaked slightly.
Please play! I would love to hear how far you got, or how quickly you finished it, and if there's any levels (or characters) you particularly liked or found dificult.
Christopher Robin, Alice, find the animals of the Hundred Acre Wood are cursed, becoming evil. This, of course, leads to a series of self-contained action/puzzle levels with graphic cartoon violence.
The new version has:
* Ten new levels and plot
* Improved controls, including a rouge-like mode (where things move only as fast as you press a key, giving you as much time to study as you want), and hjkl and wasd keys.
* Blinkenlichten and and LCD display showing you which levels you've completed, and letting you skip to whichever you want.
* One new character, Piglet (squee!), a rewrite of small, become more interactive but less dangerous
* Some of the old levels have been tweaked slightly.
Please play! I would love to hear how far you got, or how quickly you finished it, and if there's any levels (or characters) you particularly liked or found dificult.
Winnie-the-Pooh Flash Game
Dec. 31st, 2006 12:31 pmYou will remember the flash game? I won't link to it here because I hope to upload version 0.4 shortly, with new levels, more plot and a fiddled interface.
What I like about it is the complexity of the characters. Many games do wonderful things with enemies with very simple rules (eg. Chip's Challenge, Deadly Rooms of Death) which can literally be summed up in one or two clauses. These are a bit more complicated, enough to have some challenging emergent behaviour. Instead of exploring interaction solely on a map, you have to explore abstract state spaces that control them, the idea being even one enemy can be challenging.
Although it should always be fairly logical, simple and graspable, many levels are essentially written around observing, predicting and exploiting just one aspect of behaviour. And others are tweaked to make the overall effect what you'd expect -- eg. if being chased by two enemies, and you go round a corner, and the first follows you, the second will follow him, rather than standing around stupidly. Exploiting that subtlety is far ahead, but it correctly gives you what you'd expect: both continue following you, but they don't just automatically know where you're going.
However, I think I was too niggardly. I like exploring every aspect of interaction of each piece of scenery, but I should have had some more simple interface: a fence, a gate, etc. Then levels could be simpler because you don't need to justify "you can get him but he can't get you" you can just do it, and if you have a fence it's entirely obvious what that means.
Anyway, the point of the post. I never had a name for the game. What should I call it??
What I like about it is the complexity of the characters. Many games do wonderful things with enemies with very simple rules (eg. Chip's Challenge, Deadly Rooms of Death) which can literally be summed up in one or two clauses. These are a bit more complicated, enough to have some challenging emergent behaviour. Instead of exploring interaction solely on a map, you have to explore abstract state spaces that control them, the idea being even one enemy can be challenging.
Although it should always be fairly logical, simple and graspable, many levels are essentially written around observing, predicting and exploiting just one aspect of behaviour. And others are tweaked to make the overall effect what you'd expect -- eg. if being chased by two enemies, and you go round a corner, and the first follows you, the second will follow him, rather than standing around stupidly. Exploiting that subtlety is far ahead, but it correctly gives you what you'd expect: both continue following you, but they don't just automatically know where you're going.
However, I think I was too niggardly. I like exploring every aspect of interaction of each piece of scenery, but I should have had some more simple interface: a fence, a gate, etc. Then levels could be simpler because you don't need to justify "you can get him but he can't get you" you can just do it, and if you have a fence it's entirely obvious what that means.
Anyway, the point of the post. I never had a name for the game. What should I call it??
An anecdote on recursion
Dec. 30th, 2006 02:02 pmHowever, when many Poohs are moving close to each other, the processing can be more complicated. If you have "Pooh, Pooh, space" and both Poohs run right, you would naturally expect that the second would move into the empty square, and the first into the second's square. If the second's move function happens first, this is indeed what happens. However, if the first's move function happens first (as it would if the Poohs start moving right, not left), the square it moves into is blocked. (Or, it moves regardless, overwriting the contents of the next square!)
This manifests as in the first tick, only the second Pooh moving forward, and thereafter them always having a blank square between them. In fact, this looks quite good, but it isn't what the logic demands: in real life, they'd both move a fraction of a centimetre, and the one ahead wouldn't block the one behind, it only does because they move in a square jump at once.
What can you do? It's hard to know the best order to process them in beforehand, you'd have to keep shuffling the array.
Make the first check if the second is moving, and if so, move? But then if there second were moving sideways but in fact was blocked by a wall it would stay where it was after all. Check if it's able to move? But it might be unable to move for many many reasons not even coded yet -- next year I may include sticky mud.
You basically need to do the entire movement routine on the second Pooh, once you realise the first one is blocked. But that's exactly what you want. The answer: The move function checks if movement is blocked by another character. If so, it calls the move function for that character, and when it's complete, checks then if the original movement is still blocked or not.
If you have a line of five Poohs moving left, this never happens. If they're moving right, the first tries to move, tells the second to move before it completes it's move, the second tells the third, and you get recursion five-deep, ending with the rightmost completing the move first, then the next-rightmost, etc.
I thought this was a pleasingly elegant solution. (Of course, you don't need recursion, you could permute the array instead.)
The thought occurs to me, I invented the solution, it's not *necessarily* obvious. But everyone writing a characters-moving-on-tiles games must have done something similar. (Admittedly, mine depends on character interactions more than many. If you have a thousand characters, you fudge this sort of thing. If you have two, they're practically AIs anyway.)
So, experienced programmers, tell me. Was that obvious to you? Had you seen it before? Where should I have been reading/hanging out to have heard of it myself? :)
This manifests as in the first tick, only the second Pooh moving forward, and thereafter them always having a blank square between them. In fact, this looks quite good, but it isn't what the logic demands: in real life, they'd both move a fraction of a centimetre, and the one ahead wouldn't block the one behind, it only does because they move in a square jump at once.
What can you do? It's hard to know the best order to process them in beforehand, you'd have to keep shuffling the array.
Make the first check if the second is moving, and if so, move? But then if there second were moving sideways but in fact was blocked by a wall it would stay where it was after all. Check if it's able to move? But it might be unable to move for many many reasons not even coded yet -- next year I may include sticky mud.
You basically need to do the entire movement routine on the second Pooh, once you realise the first one is blocked. But that's exactly what you want. The answer: The move function checks if movement is blocked by another character. If so, it calls the move function for that character, and when it's complete, checks then if the original movement is still blocked or not.
If you have a line of five Poohs moving left, this never happens. If they're moving right, the first tries to move, tells the second to move before it completes it's move, the second tells the third, and you get recursion five-deep, ending with the rightmost completing the move first, then the next-rightmost, etc.
I thought this was a pleasingly elegant solution. (Of course, you don't need recursion, you could permute the array instead.)
The thought occurs to me, I invented the solution, it's not *necessarily* obvious. But everyone writing a characters-moving-on-tiles games must have done something similar. (Admittedly, mine depends on character interactions more than many. If you have a thousand characters, you fudge this sort of thing. If you have two, they're practically AIs anyway.)
So, experienced programmers, tell me. Was that obvious to you? Had you seen it before? Where should I have been reading/hanging out to have heard of it myself? :)
Claymation the hard way
Nov. 20th, 2006 02:32 amI have some (but not 10) new levels for my winnie-the-pooh flash game, and have gone back to experimenting with live action animation. Hopefully real people for CR and girlfriend, and (creepily) soft toys for the venemous animal characters.
The question is, if I manipulate pooh teddybear with needles to hold his limbs in various running positions for stop-motion photography, is that evil?
Is that why people believe cameras steal their souls, they just haven't broken the fourth wall enough?
The question is, if I manipulate pooh teddybear with needles to hold his limbs in various running positions for stop-motion photography, is that evil?
Is that why people believe cameras steal their souls, they just haven't broken the fourth wall enough?
Winnie-the-Pooh game: a few responses.
Jun. 30th, 2006 02:46 pmTo all: Thank you for feedback!
To people who can't play flash: I'm sorry. I knew this would be usable only by a subset of my friendslist. I wish I could show it to you.
To
naath and
mair_aw: Thank you. However, I'm slightly puzzled: you think I should definitely port to C (or another language) and should, if I have time, optimise the flash code? Do you mean, I should port and keep the flash version as well, or I should port and optimise the C version?
To
the_alchemist: Don't worry, I have been a mainstay of the Pembroke Winnie-the-Pooh Society and agree with you that Disney is an abomination (which I *think* I've never seen). Originally he was cartoony because that's easier to draw, and wearing his T-shrit for the same reason; but if you play as far as level four you will see that this is integral to the plot and metaphysics. Please don't hate me for that, I'm mocking disney :)
Turn-based.
Should it be turn-based or real time? There are many games (including this one) which can be essentially one or the other with a one-line change in code, but levels which are good for realtime can be tedious for turnbased and ones good for turnbased can be evil for realtime. So far the level's I've written could be either, but I definitely intended it to be real time because, I prefer that style of game.
Do you think:
* I should design it to be real-time, but let people switch at their own risk?
* My distinction is overfussy, and it's fairly easy to make a game which is good either way?
* I should change to turn based because you prefer that?
* I should change to turn based because everyone thinks that's better?
* If so, why?
* Turn based would be an easy fix for other technical flaws in the game, and I could use that if I don't have time to do them, but accept that if I prefer I should fix them directly and keep the style the way it is?
To people who can't play flash: I'm sorry. I knew this would be usable only by a subset of my friendslist. I wish I could show it to you.
To
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
To
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Turn-based.
Should it be turn-based or real time? There are many games (including this one) which can be essentially one or the other with a one-line change in code, but levels which are good for realtime can be tedious for turnbased and ones good for turnbased can be evil for realtime. So far the level's I've written could be either, but I definitely intended it to be real time because, I prefer that style of game.
Do you think:
* I should design it to be real-time, but let people switch at their own risk?
* My distinction is overfussy, and it's fairly easy to make a game which is good either way?
* I should change to turn based because you prefer that?
* I should change to turn based because everyone thinks that's better?
* If so, why?
* Turn based would be an easy fix for other technical flaws in the game, and I could use that if I don't have time to do them, but accept that if I prefer I should fix them directly and keep the style the way it is?
I can't remember if I've pimped it before, but: go play the winnie-the-pooh flash game I wrote!:
( Deatils )
Which of the following would you most like to see me do? (Vote for one option, or more only if you want to).
( footnotes )

Which of the following would you most like to see me do? (Vote for one option, or more only if you want to).
( footnotes )
Monthly update
Jun. 11th, 2006 10:44 pmI've fallen out of the weekly updates. Suffice it to say I've been good. But at the start of the month I tried to take stock on a longer term, and though there was too much to be easily summarised, I was very pleased to see I've actually made much progress since I last went on an improvement jag.
Organisation
I wouldn't say I've completely beaten procrastination, but it certainly seems not to be a problem any more. I got a system, the key point being that it works when I get behind, so despite occasional wobbles, it's easy to stay in a good place, instead of being kicked into a bad place whenever something goes wrong.
What things do I not talk about? Well, quite a few things. Here, I admit I used to let something get out of control, and then be too scared to look at it. But it seems that working out what I'm scared of, triaging everything else onto next week's todo list, assessing it, asking what's the worst that can happen, and then what do I need to do from here, works. I highly recommend it if any of you ever feel lost :)
Work
I won't go into details, but for a couple of months it's been interesting and productive.
Summary
OK, I'm not as successful as I could be, but I'm enjoying life, which is good :) What I want to do is accept I can only seriously concentrate on one thing at once, and work out what should come next. Having achieved organisation means I *can* :)
Now I'm a bit older, I can think in terms of spending a couple of months aiming to fix something, and get into good habits which could be retained while I get on with my life, rather than feeling I should be able to do X right now, and if not getting dispirited and not being able to face it. Of course, many of you hopefully have everything you want in life right now, but as I say, there's no point pretending I can do something I can't.
1. Diet and exercise[1]. This should have been first a while ago. Let's see if I can follow mum's good example. If in the next year this was the only progress I made that'd be pretty damn good, all in all.
2. Finance. Check all accounts have good rates, all taxes and bills add up to what they ought, pension and stock options are in order, am on best tarrif for everything, that monthly expected and actual expendatures add up, and think about buying a house... Most of this will only take an afternoon, but definitely have good effort/reward, so let's get it out of the way.
3. Social. Concentrate on what/whose I enjoy going to most. Again, easy, can be done in parallel if I recognise it.
4. Work out where I want to go in life. Programmer? Program manager? Mathematician? Actuary? Accountant? Quant? Author?? It's not too late to do some research.
5. A variety of projects I'd like to do at some point.
* A winnie-the-pooh puzzle game I want to finish programming. (Currently in flash, I'm afraid.)
* Writing.
* Drawing. I need to practice. And I need to do a webcomic.
* Actively learn about programming, rather than solving each thing as it comes up.
* Some other programming projects, but with other thinking too, eg. customise a blog to be exactly how *I* want it, possibly make that available to other people too.
[1] Thanks to Simon for embedding in my mind how to spell this. One word at a time :)
Organisation
I wouldn't say I've completely beaten procrastination, but it certainly seems not to be a problem any more. I got a system, the key point being that it works when I get behind, so despite occasional wobbles, it's easy to stay in a good place, instead of being kicked into a bad place whenever something goes wrong.
What things do I not talk about? Well, quite a few things. Here, I admit I used to let something get out of control, and then be too scared to look at it. But it seems that working out what I'm scared of, triaging everything else onto next week's todo list, assessing it, asking what's the worst that can happen, and then what do I need to do from here, works. I highly recommend it if any of you ever feel lost :)
Work
I won't go into details, but for a couple of months it's been interesting and productive.
Summary
OK, I'm not as successful as I could be, but I'm enjoying life, which is good :) What I want to do is accept I can only seriously concentrate on one thing at once, and work out what should come next. Having achieved organisation means I *can* :)
Now I'm a bit older, I can think in terms of spending a couple of months aiming to fix something, and get into good habits which could be retained while I get on with my life, rather than feeling I should be able to do X right now, and if not getting dispirited and not being able to face it. Of course, many of you hopefully have everything you want in life right now, but as I say, there's no point pretending I can do something I can't.
1. Diet and exercise[1]. This should have been first a while ago. Let's see if I can follow mum's good example. If in the next year this was the only progress I made that'd be pretty damn good, all in all.
2. Finance. Check all accounts have good rates, all taxes and bills add up to what they ought, pension and stock options are in order, am on best tarrif for everything, that monthly expected and actual expendatures add up, and think about buying a house... Most of this will only take an afternoon, but definitely have good effort/reward, so let's get it out of the way.
3. Social. Concentrate on what/whose I enjoy going to most. Again, easy, can be done in parallel if I recognise it.
4. Work out where I want to go in life. Programmer? Program manager? Mathematician? Actuary? Accountant? Quant? Author?? It's not too late to do some research.
5. A variety of projects I'd like to do at some point.
* A winnie-the-pooh puzzle game I want to finish programming. (Currently in flash, I'm afraid.)
* Writing.
* Drawing. I need to practice. And I need to do a webcomic.
* Actively learn about programming, rather than solving each thing as it comes up.
* Some other programming projects, but with other thinking too, eg. customise a blog to be exactly how *I* want it, possibly make that available to other people too.
[1] Thanks to Simon for embedding in my mind how to spell this. One word at a time :)