5,206 reputation
11226
bio website vyznev.net
location Helsinki, Finland
age
visits member for 3 years
seen 10 hours ago

I'm a PhD student in biomathematics, working on stochastic individual-based models of evolution in spatially structured populations. My other interests include cryptography, programming games and puzzles, photography and graphic design.

I started programming (in AmigaBASIC) when I was 10 years old. Nowadays, I'm most comfortable using Perl, C and JavaScript. I know Java and PHP too, but I can't really say I like them. I also know some Python, but not as much as I'd like.


CC-Zero Please consider any (original) code I post to Stack Overflow and other Stack Exchange sites to be released under CC-Zero unless stated otherwise. You may do whatever you want with it and don't have to credit me in any way, although of course that would be nice.


I'm the main author and maintainer of the Stack Overflow Unofficial Patch (SOUP), a user script for browsers with GreaseMonkey-compatible user script support (Firefox, Chrome, Opera, possibly Safari) that fixes or works around a number of outstanding issues with the Stack Exchange user interface.

I tend to answer a lot more questions than I ask. Some answers I'm rather proud of:


Feb
8
answered Whats the physics behind the doodle jump game?
Jan
24
awarded  Necromancer
Jan
24
comment How to deal with “level design creep?”
You could even have the first-designed level be an optional bonus level somewhere in the middle of the game. Nobody really minds too much if bonus levels aren't so perfect, or differ in style from the rest of the game, because, hey, they're optional!
Jan
24
answered Is a programmer liable for copyright infringement in other people's mods to his games?
Jan
14
comment Curious Transparent Holes Render Artifact
A better way to avoid T-junctions would be to do the triangulation like this. That way, you only need two triangles per segment and no new interior vertices. (You could do it with even fewer triangles, if you wanted; the minimum is one plus the number of segments.)
Jan
12
answered How does this background scrolling code work?
Dec
25
comment Distinguishing between multiple objects with the same name in a text based adventure game/interactive fiction
Yes, or at least typing "attack goblin" and being asked "Which do you mean: the hairy goblin, the fat goblin, the wrinkled goblin or the goblin chief?" (Note that the parser would typically accept just, say, "hairy" as a response to indicate that you meant to attack the hairy goblin.) Also, in such a game, if you really were facing, say, 3,872 indistinguishable orcs, they'd likely be represented by a single actual monster (just like in the link I gave).
Dec
25
revised Distinguishing between multiple objects with the same name in a text based adventure game/interactive fiction
added 609 characters in body
Dec
25
answered Distinguishing between multiple objects with the same name in a text based adventure game/interactive fiction
Dec
25
comment Prince of Persia - Original code
Here's a list of some emulators you could try.
Dec
11
revised Rendering scaled-down card images
added 775 characters in body
Dec
11
answered Rendering scaled-down card images
Dec
11
revised Scale a normalized 2D vector always to the same length
added 66 characters in body
Dec
11
comment Rendering scaled-down card images
You might want to post some examples of what you want and what you're getting. Anyway, are you using Inkscape or ImageMagick for the actual rendering? (I'm asking because ImageMagick's SVG rendering is pretty crappy. Even rsvg is better.)
Dec
11
answered Scale a normalized 2D vector always to the same length
Dec
10
comment How to create realistic 2d lighting using colour temperature
@Truncheon: The simple answer is, don't use clipping arithmetic for intermediate results. Do the intermediate calculations with floats (or sufficiently long integers) and only clip the final result.
Dec
9
comment How to create realistic 2d lighting using colour temperature
@Truncheon: If your surface reflectance values run from 0 to 255 instead of from 0 to 1, just divide the result of the multiplication by 255.
Dec
5
revised isometric drawing order with larger than single tile images - drawing order algorithm?
expand answer, add picture
Dec
5
answered isometric drawing order with larger than single tile images - drawing order algorithm?
Dec
2
answered Basic modelling of radar