Friday, November 23, 2007

Christmas gifts

I just had an awesome idea for a Christmas gift.

Novelty knife-blocks. Rabbit shaped, for example. Or celebrity knife-blocks - stab Bush with a breadknife!

Thursday, September 27, 2007

Offline Web 2.0

Everyone's abuzz about bringing the Web offline. Not shutting it down, but allowing webapps to be accessed offline.

Once you get past the initial "why would you do that?" there are some benefits. Some webapps do things desktop software simply doesn't. Many content-authoring apps don't need network access for 80%+ of their operation.

Somehow I don't see this being a huge success though. Not because it isn't a good idea, but the hassle involved. The story has already played out with Lotus Notes database replication, which personally I steer well clear of. Maybe Web 2.0 will make the required usability improvements; even so I see this as a niche.

Wednesday, September 19, 2007

Yet another reason to dislike Java

Java doesn't deal with lists fluently.


All I'm doing here is splitting a comma-separated string, adding MY_NAME and joining. In Java:

List list = new ArrayList();
list.addAll(Arrays.asList(original.split(",")));
list.add(MY_NAME);
StringBuffer newString = new StringBuffer();
for (int i = 0; i < list.size(); i++) {
newString.append(list.get(i));
if (i+1 < list.size())
newString.append(',');
}


In Ruby:

original.split(",").push(MY_NAME).join(",")

Back to Java again... because this beautiful listcentric pattern isn't supported, I end up using the below code. It's less DRY and the intention is obscured.

String newString;
if (original.length() > 0)
newString = original.trim() +","+ MY_NAME;
else newString = MY_NAME;

Friday, September 14, 2007

Shared RSS, pt 2

I've done it now.

I really like the Shared RSS feature of Google Reader. It bugs me that when I find a cool page, I have to post on my blog here about it. That clutters this blog, obscuring the little original content I do provide.

So (all credit to Mike T for the idea) I've created a second blog, which is autoshared from Google Reader. So everything I post there should end up in my Shared RSS. That means you know what you're getting - inimitable scrawlings of myself from here, links from the RSS.


Check it out by the way, the first article linked through the new mechanism is a cracker.
My Shared RSS - feed

Wednesday, September 5, 2007

Spike theory

Every so often, I get to use something I learnt at university. Rarely on work, but it's still cool. This time, it relates to WoW, which makes it doubleplus cool. In my world.

Top-end combat in WoW consists of a tank, some healers and some DPS (damagers). An important constraint on the DPS is to do less "threat" than the tank. This is usually okay, a good tank will on average deal more threat than the DPS. However, critical hits and crit chains (several crits in a row) increase short-term threat considerably. If this "threat spike" pushes the DPSer over the tank's threat, they usually die. So the size and frequency of one's spikes is of key interest.

Returning to school, queuing theory helps predict how long the queue at a checkout will be. It assumes a server who deals with customers at a steady pace and customers who arrive in a Poisson distribution. Can you see the connection yet?

If we pretend crits are the customers, and the server deals with crits at the effective crit rate, then we can see how long the queue is likely to get. That is, how many unexpected crits are likely to happen in a short time frame. It is possible, of course, for every single attack to crit over a 10 minute period despite only a 1% crit rate - however this is incredibly unlikely!

Using the Poisson distribution we can convert from the effective crit rate into an expected number of crits per second. From that we can determine the longest queue with a probability of, say, 5% or more, over the time it takes for a normal fight (3-10min). By moderating our damage to ensure the tank always has enough threat to handle a crit chain of this length, we can guarantee we stay under zir threat 95% of the time.


Exercises: what crit rate is the spikiest? A high crit rate means 'customers' arrive very fast, but the 'server' will also deal with them very quickly. That is, a lot of crits are expected, so they are less surprising.

Crits vary in size. A basic crit from a magic-user is 50% of the spell's total damage. However, talents can increase this to 125% for some spells. Given the total base damage and the total amount of additional damage done by crits, produce a strict ordering of character builds by spikiness.

Friday, August 17, 2007

XKCD

"Note: I don't use submitted comic ideas and I have already heard about every company making human hamster balls." - xkcd

le sigh. I want an XKCD poster like this:

Man: "We ran your code and it nuked Russia. WTF?"
Black hat: "Agile!"

Tuesday, August 14, 2007

Ruby ruby ruby ruby!

Ruby links

http://jicksta.com/articles/2007/08/04/the-methodphitamine
http://codeaspects.com/ruleby/articles/news/2007/04/30/ruleby-a-pure-ruby-rule-engine

WowSim is doing well. Buffs/debuffs are looking good, reports are generated and ability modifiers are sorted. Still a LOT to do, but the class diagram seems reasonably settled now. Looking forward to getting more maths in there.

Cthuluteh!

 blog it

Friday, August 10, 2007

Assembla

Free SVN, Trac, Wiki at http://assembla.com !

One caveat - if you're behind a proxy, even an invisible one, you need to use https to access SVN or you'll get MKACTIVITY errors (amongst others).

My project: http://www.assembla.com/wiki/show/wowsim

Tuesday, August 7, 2007

acts_as_state_machine

Rails plugins do clever things. Whoda thunk it: acts_as_state_machine

There are many DPS-estimating spreadsheets available for WoW, but no actual simulators. I've started one, but it's very early days, I'm tangling with debuffs. I'll probably get distracted and never finish it, but ^^

Oblivion is infuriating me again. I'm not sure why I'm even playing it, but there you go. I fixed the levelling problem by installing mods - Oscuro's and KCAS. In the short term, they make it much harder though. I was fighting fire atronachs, clannfeyr, amazons and marauders at L2. I want rats, damnit! Without anything to practice on, it's hard to get your stats up. I did find a nice cave with a mudcrab and a rat this morning and trained myself up to L7 or so. Booooring. Still, I can have a crack at those marauders, get my Arcane University pass and make some decent spells soon. That will help.

Monday, July 16, 2007

HK + Bodymod

http://www.kittyhell.com/
http://modblog.bmezine.com/2007/07/13/tongue-splitting-2/


modblog also has a picture of a girl doing a suspension (with hooks). Novel to me, always seemed to be the guys doing those.

Tuesday, July 10, 2007

Sexism/racism in gaming

Low-tech trackback

One day I'll figure out how to do it properly.

Clipmarks Experiment #2, aka "I just ruined my blog"

Now there are going to be frickin' cats everywhere.


awww.
 blog it

Hutter prize

First post! (with the Clipmarks Firefox extension)

I wish I could include this in my 'Shared RSS' feed, but hey, what's a boy to do?

edit: It includes linebreaks somehow. Very annoying, can't figure out why either. If anyone knows, please do tell me... I need an Adams-esque readership to fix these things for me, damnit.
clipped from cs.fit.edu

The Large Text Compression Benchmark and the Hutter Prize are designed to encourage research in natural language processing (NLP). I argue that compressing, or equivalently, modeling natural language text is "AI-hard". Solving the compression problem is equivalent to solving hard NLP problems such as speech recognition, optical character recognition (OCR), and language translation. I argue that ideal text compression, if it were possible, would be
equivalent to passing the Turing test for artificial intelligence (AI), proposed in 1950 [1]. Currently, no machine can pass this test [2]. Also in 1950, Claude Shannon estimated the entropy (compression limit) of written English to be about 1 bit per character [3]. To date, no compression program has achieved this level. In this paper I will also describe the rationale for picking this particular data set and contest rules.


blog it

Monday, July 9, 2007

My pet hate

* "Next" buttons that, when you reach the last page, turn into the "Cancel" button

Sunday, July 8, 2007

Shared RSS

There's a new widget on my blog page, 'Shared RSS'. It contains items from the various feeds I read which are novel, enlightening or just gosh darn cute enough I want to tell the world about. This saves you from a million posts containing just a link to a news article and me from writing anything about it when I have nothing to add.

You can visit my shared RSS page separately if you prefer.


btw it was the macro which really cracked me up in that long lolcat post.

Monday, June 25, 2007

MySpace

http://www.myspace.com/lxsli

edit: coincidentally, this article was posted on Slashdot today.
edit: I've spent a totally disproportionate amount of time setting up my profile compared to how long I intend to spend on MySpace generally. I guess people really do love customising things.

I'm trying to hunt down a track Annie Mac played as a white label from Mickey Finn, it's on the Finn People label (read it off some vinyl at the weekend! then went a bit spastic) and I think it might be by Modified Motion, but Juno Records doesn't have it. Bah. Annie dubbed it Super Mario because of the well, Mario noises... it isn't called that though.

There's a mix here Hattie pointed out, mainly filler as always but some really nice mixes and basslines too. Actually seems the first/second and last tracks are best!

edit: MySpace ftl. FaceBook seems way more featureful. I may make that my 'main SNS', as far as I even have one.

Kids movies

Reposted since I hate to waste 30mins writing and throw it away.

Trackback to original post.


You'll never get a great movie by thinking of a new category like this. What was Monsters, Inc? A kids creature feature or a story about a couple of factory workers helping a kid defeat her nightmares?

Where are the comic adaptations for kids? I read Girl Genius by Phil and Kaja Foglio, it would make an awesome kids movie. It's available free online, although I've bought all the books. There are giant robots, tiny robots, Transylvanian monster soldiers, a talking cat and lots of dirigibles.

A great 'kids' movie for adults would be Barry Ween by Judd Winick. It spins the traditional supergenius kid story by introducing a foul mouth, *reference* to porn and a reluctant hero. Girl problems and an eight year old friend who acts more like five aid familiarity. I cried and it's a *comic book* for gosh darn sake.

What's your favourite genre? Why hasn't it been done for kids? Hoodwinked is fantastic, it's like Murder She Wrote for kids.

Kids feel oppressed by adults, they like to see kids beating adults. The Witches is about a kid with a power uncovering an adult conspiracy, perfect. Kids also like older kids, I bet a lot of kids under 16 sneaked a look at American Pie.

ps. Psychonauts would be good too. Can't be bothered to write porperly any more.

Friday, June 22, 2007

How to mix and write

It turns out beatmatching is only half the story. Stick a tune on, tap out the beat if the BPM counter is off, and add FX to taste. To mix the second tune, pitchbend (or timeshift, if you have it) until the BPMs match, cue and drop. This works for tracks with nice long intros/outros because there's time to crossfade. Unfortunately, lots of music doesn't do that. Especially gabba and other esoteric noise music.

So here's the other way. When you put the second track on, match the mid and treble levels and kill the bass. Crossfade the bass or use the kills to hard swap basslines. The downside of this approach (at least to my ear) is your levels end up very peculiar and people complain about the beat change. I have yet to try it. I'm guessing you can merge the styles, at least if you're not changing track too often.

--

This was also an attempt to follow Scott Adams' recent advice on how to write. The first sentence leads you to read further. The sentences are fairly simple and follow subject|action syntax. I culled this entire next paragraph because it lent nothing to the story. Part of what I want to do with this blog is to actively not talk about myself and focus on what I'm doing / learning instead. That should make it much more interesting!

I woke up one day, a couple of months ago now, and decided to learn to mix. I bought some decks off eBay, Numark CDXs. These are pretty unique because they have a fullsize turntable (no tone-arm) with a slipmat, so you can scratch on them. That's waaaay advanced for me though.

Friday, June 8, 2007

Avatar

Imagine you're a ghost. You had a life once, people you cared about. You grew up, you loved, you hurt, you died. Now you're invisible. Intangible. Powerful.

Find an animal, and possess it. Feed it, care for it, grow it. Augment it. Train it. You are the most powerful being the forest has ever known.

Until one day, you hear a tap on the window. Which is funny, because there are no windows in the forest. Then symbols appear, and suddenly you understand you are not alone, only one tiny piece of a massive telepathic society. Other monsters bump in the night, other Avatars like yourself. Some respect the world about them, others, the Abominations, do not.

--

The most basic shell, the Blob, is also the most adaptable. It is resistant to all kinds of attacks and it has only two component slots. One is a mode of attack, the other a power source. An Appendage allows a melee attack, while a Focus makes the Bolt attack available. Both need to be powered.

The basic choices are a Generator or a Reservoir. A Generator gives a small pool but regenerates quickly. A Reservoir gives a big pool, but does not regenerate. When not fighting, your soul heals and recharges your shell quickly, although you can only 'flash-charge' a certain number of times before needing to rest. (time spent eating / drinking is minimal but exists. 1min in 10 perhaps)

Later shells have more slots, but the base shell becomes weaker. Some shells have defensive slots, which provide damage reduction or avoidance. Other shells have multiple attack slots. Most importantly, components gain adaptations. The Appendage becomes a Stabber, inflicting greater single-target damage, or a Cleaver, inflicting short-range area damage. The Bolt attack focuses a certain type of energy, with effects beyond simple damage.

Eventually you find yourself in possession of a full-fledged war machine, a Biosynth constructed from living organisms, able to fell redwoods with a kick or flash-fry a sheep in under a second just by glaring. The only trouble is, that's what the Abominations think of you.

---

I give up on the story. This is a gameplay feature list. Key items include:

The player has multiple Biosynths available for control. Changing 'class' is not free, but it is far less costly than in WoW.

A Biosynth is the sum of its parts. You don't get so much as a punch attack without buying it. OTOH, if your shell has an empty slot, you may as well fill it. This allows for 'mandatory' abilities.

Components are attacks, defenses, powers, reacts and supports. Attacks are physical or energy based, both CAN be specialised for greater effect. Defenses split identically, in both cases more damage/mitigation can be achieved per point by specialising. Powers include generators, reservoirs and reactors, which create power based on damage taken or done. Shells will closely restrict power builds. Reacts are meta-components which power active abilities when conditions are achieved. Supports buff or debuff one or more targets. They constantly drain power, so are preferably offset by a generator. Some supports can be customised to apply differently to different people.

There is no healing (maybe some regeneration). Post-combat, you insta-heal which costs soul points. To regain soul points, you meditate. Most builds should average to 1min in 10 resting, a big decrease from most MMOs. Some builds will not require any resting, but this will cost in other areas. Builds which require >2min in 10 should be rebalanced. Combat occurs in bullet-time.

Tanking: armor (constant dmg mitigation) and luck (% dmg mitigation) are passive. Dodge, parry (allows counter) and block (partial mitigation) are active.

---

I wanted to gut certain aspects of the MMO canon. WoW bent the trinity a bit, but ultimately the purebreed DPS and healers suffered. Warlocks, hunters, paladins and druids can all perform two or more roles admirably, while mages, rogues and priests are left lackluster in comparison. At present, all the priests I know are DPS-specced... which is just wrong. So remove healing. Now you just have tanking and DPS, and tanking seems a hell of a lot harder.

In a long fight, even a perfectly played tank will eventually run out of HP. This suggests multiple tanks are a good solution. Suddenly 1/3 of the group are tanks, tank-swapping is routine, the line between DPS and tank is blurred and boom goes the trinity. This also removes some of the "KPOW, you're dead" factor. No single blow from even the biggest nasty will fell a tank. Of course, if too many big shots are absorbed, the entire group runs out of HP. AKA wipe.

Position is one of the best mechanics since it's 2D. Actually, since we're in bullet-time, it's 3D - a jump lasts long enough that lag doesn't destroy it as a combat mechanic. DPS will be maneuvering around AOE attacks to reach weak spots, while the tank(s) either dodge (safe) or parry (riskier, but with a damage payoff) the main attacks. Yes, tanks - multiple tanks may be required for the 12-armed Cthuloid Abominations. You do NOT want all 12 arms hitting one tank, right?

I wanted to gut equipment. The whole 'magic sword' idea has gone waaaay overboard. It particularly dissonates that when I get a new shiny, I just *destroy* (aka vendor) that thing I sweated blood for. Originally I wanted persistent items with upgradeable sockets. Then I realised that making the entire character the persistent item, with their limbs and abilities the sockets, I could get the same effect. Instead of looting items off defeated foes, you learn genetic techniques.

As part of the whole loot thing, I wanted to move a little away from the "numbers going up!" basis of RPGs. Through the levelling game, primarily you'll be looting specialisation and diversity. The Blob is going to be pretty damn boring... roll up, set autoattack, wait. Soon you'll become faster, or sharper, or tricksy. By 'endgame', you should have enough techniques to fulfill one or two roles one or two ways.

It bugs me that WoW Mages can only do fire or frost at once. It bugs me I even have that stupid fireball spell when it's so useless. Biosynth mages will put most of their points into lower level modules, they can choose to specialise or not, but two schools should be affordable. The expensive choices will be stylistic - debuff or direct, fast or slow, control or power.

I'd like to introduce some aspects of Populism, but I'm not sure how yet.

I'll add more later.

Character customisation

So, Shamus Young wrote this post about character customisation in Jade Empire, and my response got a teensy weensy bit out of hand...

---

I loved the Open Palm / Closed Fist philosophies, re: actual personality development. Except for the couple of cases where you had to be straight, mindless, chaotic evil to avoid Open Palm points. Closed Fist actually makes sense, it's harsh but fair.

I disliked that you really needed all three stats. Health/Chi were pretty interchangeable and Focus let you use weapons, which speed the fights up to a bearable point. Basically, you couldn't be a "warrior" or a "sorceror" or a "ninja" - you were always a jack of all trades. I love to specialise.

I also disliked that there were so many styles and you had to put points in just to make a lot of them worth using. My first toon, I spread my points around a lot and had a tricky time in the midgame. They could have fixed this to a large extent by making all the weapon/support/etc styles use one pool of points each.

I really hated the poor descriptions on the abilities. Storm Dragon stuns, it doesn't do damage over time at all. It stuns for longer than Paralyzing Palm. Misleading text like that is a slap in the face, it honestly decreased my enjoyment of the game.

LoTRO customises via traits. Particularly the choice of Legendary trait can be fundamental, or so I hear. WoW of course has talent builds. Oblivion is so back to front it makes my head spin... although it has the unique quality that min/maxing is sometimes HARDER than normal play. Killing Daedra with untrained fists and arrows is tricky.

What I dislike, especially about D&D based games, is how hard it is to identify successful builds. It seems elitist, a kind of metagame that gives an unstoppable advantage to those willing to actually run the numbers. Google 'DDO Batman' to see the full horror of a Rogue 2, Paladin 2, Warrior 6. While I respect Grenfell a great deal, the developers really messed up.

WoW, for me, strikes a good balance between premade subclasses (talent trees) while still allowing meaningful customisation. You can - generally - just look at the talent trees, read the text and come out with something 80% as good as an optimised build. Each plays differently and requires different equipment choices to optimise (the Warlock has to be the prime example).

The most successful customisations allow a revolution instead of an evolution of gameplay. I would have been happier if they'd removed the style and attribute points from Jade Empire entirely, and had instead focused on genuinely differentiating the styles. Thousand Cuts was a big disappointment.

edit: I'm completely onboard with Lee from the OP who hates critical choices during character development. I want to be able to respec *everything*, goddarnit. Yes, even my class. I have 4-5 L60+ WoW chars and levelling another is not an attractive prospect, even though I would love to see the endgame with that char (my warlock is 43).

DDO was by far the worst for this. There were so many critical points in that system that one misplace stat point during character creation could have a massive impact on your future performance. The developers actually considered rerolling a part of the game. You couldn't even create one of the really good characters (with extra stats) without completing 80-90% of the game content. The redeeming 'feature' was that you could hit max level in a month without even trying. Still, you'd be running the same dungeons again, and again, and again.

edit: Up to 12 80s and a 77 now. I've become more casual with the raiding and the DDO model is starting to appeal much more, particularly in reference to Kingdom of Loathing, where you gain an itsy bitsy bit every 'reroll'. I very much like the KoL model.

Wednesday, June 6, 2007

How to treat your customers

I just bought two t-shirts from Noisebot. They're US and charge as much for UK shipping as they do a t-shirt, but two still worked out at <£15 each. We're so ripped off here... or maybe I should stop paying £15 for fancy tees. Anyway, this is how they confirmed the order:
*** ORDER SUCCESS! ***

Yay! Awesome! Thanks a lot for ordering from NoiseBot.com! =)

Please note that orders require at least 3 to 5 business days (excludes weekends and holidays) to process before they are actually shipped.

You will receive an email confirmation for your order shortly. You will also receive a second email with a U.S. Postal Service "Delivery Confirmation" number when your order is actually shipped.

Please print or save this page for your records.

Again, thank you very much for the order!

You are awesome! We love you! =)

Sincerely,

Sylvia

Sylvia Drake
Customer Assistance
hey@noisebot.com


Arguably it's a teensy bit desperate, but I'm not complaining. Way to positively reinforce, people. I particularly like the name and email address at the bottom.

I bought "the cat says MAO" (all pictures) and "Come to the dark side! (we have cookies)". I was tempted by "Make awkward sexual advances, not war" but didn't follow through.

Also I appear to have fallen into traditional "blogging whatever makes me go ooh" mode. Oh well. I haven't had any smart thoughts for a while so this will have to do.

edit: the tees arrived :D I'm very happy with the cat one, but the dark side one I regret a little. It's not the most original after all.

Tuesday, June 5, 2007

Energy

http://www.ecogeek.org/content/view/684/
http://www.sciencedaily.com/releases/2007/06/070603225026.htm
http://www.physorg.com/news99904887.html

The downside on solar cells is, as always, production cost. Still, commercial cells are peaking around 19% efficiency now (Wikipedia). Last I heard, it was 5%.

The thermal acoustic piezo article specifically mentions solar cells. If the two dev paths become tightly coupled, it may affect solar cell design by enabling heat dissipation to be partly offset. IE a very high absorption material which sheds too much energy as heat to be conventionally efficient may become useful.

I'm not sure what's going on wrt microwave power transmission these days. Wikipedia seems to say it is possible and safe, but somewhat impractical (a "large rectenna volume" is required).

edit: http://news.bbc.co.uk/2/hi/technology/6725955.stm
Brilliant. What pisses me off about this is that apparently it isn't even that hard, just no one bothered. Gah.

Monday, June 4, 2007

Version control

I've taken another look at version control systems again today. Subversion still seems the clear winner, despite Linus Torvald's writing his own called Git. It's a distributed SCM and designed for the Linux dev model, ie maintainers accepting patches, instead of the centralised SVN model where devs commit independently.

Word is that a distributed system is better for massively branched systems, but I don't quite see it. The killer for Git is that it's optimised for POSIX; Windows performance is poor.

Distributed runners up include Darcs and Mercurial. The former can become unstable, the latter I didn't read about any problems before I lost interest in the distributed class.

edit: huge fan of Mercurial now. Note all (or at least, many) of the Svn devs are now on Mercurial.

Thursday, May 31, 2007

Why EVE is worth playing

http://eve.klaki.net/heist

I love spreading links. But in general, I'm going to resist, because it's too easy to turn into Metafilter. However, this is an old story which somehow I missed at the time.

The reason, btw, is that it allows you to truly, totally, soul-crushingly DESTROY another player, to an extent which would be considered a critical design flaw in another game. EVE is for the truly hardcore and GHSC should be snapped up by the intelligence service.

Wednesday, May 30, 2007

Big numbers

what's the biggest number you can write in 15 seconds?

9 > 1
99 > 9
99+99 > 99
99*99 > 99+99
9999 > 99*99
999999 > 9999

this is where it gets more interesting.

2 ↑ 2 = 22 = 4
3 ↑ 3 = 333 = 19683
3 ↑ 4 = 3333 = lots

3 (↑2) 3 = (3↑3) ↑ (3↑3) = 19683 ↑ 19683

so where: f(n) = n ↑n n
and f3(n) = f(f(f(n)))

my big number is: fn(n) where n = 9

mr. xkcd would have beaten me though with BB(9). he could have had BB9(9 ↑9 9) but it would, frankly, have been unnecessary wear and tear on his pencil. in other words, it would have reduced the computational density.

actually he goes bigger. he also restates the problem in a more exact form, 32 characters instead of 15 seconds. and btw, yes this entire discussion was sparked/ripped by/from his post and my vague recollections of a conversation with josh.

Collision and movement in RTS games

Collision detection is a fundamentally hard problem. Spheres are easy enough (y2 = x2 + r2, iirc) but generally objects are knobbly.
A related issue is movement and pathfinding. Each step along the path involves collision detection and either halt or reroute.

Probably the oldest solution is to use a square board, a la chess. That isn't very good though, because a diagonal move is longer than an orthogonal. Pentagons don't tesselate well, so hexagons are the next step up. Hexagons offer 6-way movement with a pure grid, the famous isometric grid. This is good enough for most games and people have made east+west movement possible.

Octogons don't tesselate perfectly; they need squares along the diagonals. You get all 8 compass points though and the squares give you a little flexibility. You can choose to put units in them or not, you can choose whether a given item collides on squares as well as octogons (to make a slightly bigger tank). You could allow small units, like single Marines, to occupy a square.

Going back to hexagons, seven hexagons make a superhexagon (my name). They have supersides composed of 3 hexagon edges - happily, they have 6 of these. So by making each tank take up a superhexagon, you gain some freedom for irregular shaped units. That gives me a cool idea for super-units which are assembled from smaller units - like in cheesy anime.

By adding surrounding blocks, you can allow pixel-precise unit placement. A single square sized unit cannot overlap more than a four-square, wherever it's centred within that four-square. A foursquare sized unit needs a ninesquare. A hexagon needs a superhexagon. By doing collision detection on the containing area first, using coarse blocks, you save a lot of CPU compared to trying to make pixel-perfect collision detection between everything at once.

There is a tradeoff involved in how many blocks you use. Too many blocks and the memory requirement goes through the roof. The containing-block lists also get large and less useful. Too few blocks, and you get large blank spaces between units.

Incidentally, the blank-space effect can be substantially mitigated by combining buildings. This is often done for walls in RTS' but not bunkers. I've never seen production buildings built like this - maybe in Rollercoaster Tycoon? - it might be interesting to introduce vertical scaling to RTS'. (traditionally horizontal scaling is used, ie more factories not bigger ones)

Paradoxes of games

Ha. I thought I lost this. Thank gosh for autosave. It's unfinished though, maybe I'll come back to it.

--

In economics, people pay to make life less challenging.
In games, people pay to make life more challenging.

Life is 'fair' when success is rewarded, eg by the environment becoming more to your liking.

Hypothesis: games are fun when success is 'rewarded' by an increase in challenge, like rubber-banding in race games.

Man-law is very strict on boasting, dares, gambles etc. Public achievement is a key motivator.

Hypothesis: online gamers will fight to succeed with the greatest handicap.
Hypothesis: there are breadth-oriented (completist) gamers and depth-oriented (time attack) gamers

Classes

I've been thinking about an afterschool class/club I could run (with help) at Cantell. I helped on a maths masterclass, which was fairly simple but the contact with the kids was amazing. Recently I found HackityHack which is cool, but it's still beta imo. It also involves writing code, with all the attendant complexity.

The best find was Scratch. I almost couldn't stop playing with this yesterday. There's a Wiki textbook project. I found a Snake game, but sadly it seemed a bit too complex to work towards over a short class (say 6 lessons).

No healing

MMO without a healer class

Bullet-time, active block/dodge/parry mechanics


Full heal/mana restore outside combat

Chess RTS

King - flag
Queen - commander, kickass + makes production buildings
Bishop - flyer
Rook - force cannon, makes walls or medium range attacks
Knight - stationary artillery, constructs portal underneath and fires construction kit to endpoint
Pawn - 4-man bunker construction team / marines

Branch/morph units for diversity
3 playable 'races'/styles


Bishops - offensive vs rooks + knights
Rooks - defensive vs pawns + knights
Knight - offensive vs rooks + pawns
Pawn - short range, balanced, anti-bishop
- also farmers?


Direction of movement
independent of direction of offense
independent of direction of defense

Economic targeting by armor + value

Groups are armies, select unit classes by order prefix (eg G1, FLYER, ATTACK)

All special abilities on army page, specify class to reduce

Welcome

Welcome to my new blog. A lot of it probably won't make sense. That's ok by me.

I edit posts a lot.