My name is Christian Perfect and this is my website. Here I upload the various things I make.
If you want to email me, you can! My email address is email@example.com. Like most people, I am especially open to receiving friendly emails.
faint feint flint
paint point print
glad goad grad
shag slag snag stag swag
fecal feral fetal
deal dial dual
opal oral oval
pedal penal petal
nasal natal naval
scam seam sham slam swam
scan span swan
tear tsar tzar
scar sear soar spar star
afar agar ajar
peat phat plat
scat seat shat slat spat stat swat
beat boat brat
feat fiat flat frat
beach beech belch bench
coach conch couch
poach pooch porch pouch
mean happy case million fruit left deep lie pattern took wave column self land voice ten get stream duck valley happy ever rub fall fish school neck law we planet told came long reply same my sail room above view who suit push forest past start blood step cry just ran came inch began work office condition ice get lone beat hill arrive sheet mass lay share front compare instant consonant rope tail just stead sense story provide bone large mile stand thank boy sense sky experience decide king seven stay short sense plant rain metal ease north mean car
oil weather is solve body month such throw general forward glad clock white call join interest verb prepare bear early was question pick believe stream system ice slow old parent total arm push green about until reach whose finish division first house came lay band paragraph fruit get show believe look deep toward glad gentle board best molecule practice oil broad tree condition kind was master form major age west minute son lie my at rule double govern let equal again receive men term smell receive human region four act cut act practice slow section famous busy speed fly think
the joy through boy always leg chief imagine history told protect capital push high roll ask rise test minute death let division week old fraction bright table which danger took iron walk experience probable they favor little form at chord shoulder we field end bell bit expect history list chord speak die still space poo neck travel populate she parent then.....
Each letter's favourite words
a (6): astragalocalcaneal, calcaneoastragalar, taramasalata
b (4): beblubber, beerbibber, bubblebow, bubbybush, bumblebomb, flibbertigibbet, gibblegabble, nabobrynabobs
c (6): micrococcocci, pneumonoultramicroscopicsilicovolcanoconioses, pneumonoultramicroscopicsilicovolcanoconiosis
d (5): disdodecahedroid, dunderheadededness
e (7): electrotelethermometer, ethylenediaminetetraacetate
f (4): chiffchaff, cuffuffle, cuffuffled, giffgaff, niffnaff, riffraff, tufftaffeta
g (5): huggermuggering
h (4): chichihaerh, choledochorrhaphy, chromophotolithograph, dichlorodiphenyltrichloroethane, hochhuth, ichthyophthalmite, ichthyophthiriasis, ichthyophthirius, ophthalmophthisis, phenolsulphonephthalein, photochromolithograph, rhamphorhynchus, shihchiachuang, thymolsulphonephthalein
i (9): floccinaucinihilipilification
j (4): jajawijaja
k (4): akiskemikinik, kakkak, knickknack
l (6): llullaillaco
m (4): dynamometamorphism, hamamelidanthemum, immunocompromised, mammatocumulus, mammectomies, mammectomy, mammiform, mammilliform, mammogram, mammondom, mammonism, mammothermography, mammotomy, melammdim, mercuriammonium, mesembrianthemum, metagrammatism, metalammonium, methylenedioxymethamphetamine, mohammadanism, mohammedanism, monoammonium, muhammadanism, multimammate, mummiform, mummydom, tetramethylammonium, thalamomammillary, theomammomist, thermometamorphism
n (6): nonannouncement, noncondescendingness
o (9): pneumonoultramicroscopicsilicovolcanoconiosis
Posty, by Christian Perfect
This is a game about sorting post. I think it's quite a calming activity, reading addresses on letters and separating them into piles.
The game generates a random network of villages. Some of them are big and have lots of people in them, while others are tiny hamlets.
People send letters to each other every now and then. It's your job to get the letters to their destinations.
Right-click and drag to move around the map. Use the mousewheel or PageUp/Down to zoom. Click on a dot (representing a postbox or sorting office) to see its letters.
Drag letters into piles in the top half of the screen based on where they're going. Right click a pile to move the whole thing at once.
Press space to send the letters on their way. Vans will carry a pile of letters as far as their last common stop.
When looking at the map, you can hold space to speed up time.
This is an idea I've had for a few years, and this code has sat about for a long time. I've just added some graphics and fiddled with the controls a bit this weekend.
I think what I want to do with it is to limit your actions to sorting offices that you have bought, and to limit the number of vans. Delivering letters brings money in, while buying more offices and vans costs money.
At the moment you can't directly control where vans go with a pile of letters - they just go as far as they can until two letters need to go in different directions. I think this.....
no u 4245
d r 3063
re un 2858
pr r 2800
b c 2323
b p 2251
c s 2168
b m 2135
c p 2117
b r 2078
b d 2077
c t 2072
m p 2068
d m 2031
b t 2028
p t 1926
b f 1899
s t 1893
b g 1872
c m 1847
i u 1844
p s 1823
b s 1794
de re 1792
l m 1738
d t 1718
l r 1707
in un 1691
c g 1686
m t 1671
m s 1663
c d 1649
b l 1616
h m 1613
d l 1601
f p 1589
b h 1586
c f 1560
r s 1545
m r 1542
d s 1532
d p 1507
l s 1476
g p 1468
l t 1463
r t 1460
h p 1449
g t 1440
p r 1424
l p 1423
h t 1413
c h 1403
h s 1400
c k 1398
f m 1397
f s 1386
d h 1385
h r 1370
c l 1368
h l 1360
co i 1346
d g 1344
b w 1326
c r 1318
g m 1301
in re 1297
f g 1255
f t 1251
t w 1242
g s 1215
d f 1182
a e 1177
c w 1171
e i 1142
p w 1135
s w 1134
g l 1120
g h 1091
m n 1091
h w 1087
b st 1085
f h 1084
m w 1072
g r 1060
f l 1057
i no 1055
st t 1038
f r 1029
k s 1023
p st 1015
c n 1011
d st 1007
d n 1006
n r 1005
f w 996
d tr 995
l n 988
r w 983
b n 981
a ma 979
d w 968
k m 964
n p 964
n s 963
b tr 959
n t 957
l w 952
a co 929
g w 923
c st 919
k t 907
b k 902
d pr 897
h n 897
k p 885
b ch 883
br r 861
d k 850
c ch 850
a ca 849
l st 848
k l 848
a o 841
ch m 839
h st 835
b j 835
r st 831
e u 829
de un 826
sh t 808
s st 807
b sh 806
br l 805
b sp 798
ch h 790
j m 789
c sc 789
h k 783
be un 780
ch p 780
p sp 779
ch t 777
m st 776
ch l 773
g st 771
j r 770
co re 762
d sh 758
a re 758
s sh 753
j l 748
g k 745
j t 742
ch d 738
gr r 737
p sh 734
be re 730
m sh 726
g j 724
ch s 722
b br 721
r tr 721
g n 720
ma pa 719
a ha 719
st w 719
d j 718
cr r .....
b, b's, bb, bb's, bbb, bbl, bbl's, bbls, bbs, bbs's, bbses, be, be's, bebe, bebe's, bebel, bebless, bebog, beboss, bee, bee's, beeb, beeb's, beebe, beebe's, beebee, beebee's, beebees, beeish, beele, beelol, bees, beg, beg's, beggs, beggs's, begiggle, begloze, bego, begob, begobs, begoes, begs, behl, behl's, beige, beige's, beigel, beigel's, beigels, beiges, beisel, beisel's, bel, bel's, bele, bele's, belee, belees, belg, belibel, belie, belies, belili, belili's, belis, belis's, belize, belize's, bell, bell's, belle, belle's, belles, belli, bellies, bellis, bellis's, bello, bello's, bells, bels, bes, bes's, besee, besees, beseige, beseleel, beseleel's, beses, beshell, besiege, besieges, besigh, besighs, besoil, bess, besse, besse's, bessel, besses, bessi, bessi's, bessie, bessies, bez, bezel, bezel's, bezels, bezes, bezil, bezil's, bezils, bezzi, bezzle, bezzles, bezzo, bg, bge, bh, bhel, bhel's, bhels, bhil, bhil's, bhili, bhl, bi, bi's, bib, bib's, bibb, bibbie, bibbie's, bibbies, bibble, bibbs, bibi, bibi's, bibio, bibio's, bibl, bible, bible's, bibles, bibless, bibless's, biblheb, biblheb's, bibliog, bibliologies, biblos, bibos, bibs, bie, biebel, biebel's, biegel, biegel's, biel, big, bigg, bigg's, biggie, biggie's, biggies, biggish, biggles, biggles's, biggs, bigos, bigos's, bigoses, bigs, bil, bil's, bilbe, bilbe's, bilbi, bilbie, bilbies, bilbo, bilbo's, bilboes, bilbos, bile, bile's, biles, bilge, bilge's, bilges, bili, bili's, bilio, bill, bill's, bille, bille's, bil.....
I found a nice paper a few days ago called Position Based Dynamics, by a chap called muller and some other dudes. It explains rather clearly how to implement a dynamics system that can handle pretty much whatever sort of rules you want to put in it.
This is great, because physics is something that everyone seems to have trouble with beyond simply moving particles about, without resorting to those wrappers for things like newton or ODE. I certainly do, so this is going to stick around for a good while in my how-to-do-stuff folder.
So, I had a go at writing this system in BMax, and here it is. I hope someone finds it useful!
Position - based dynamics (Muller et al 2006)
HOW IT WORKS
There are objects , which are collections of vertices and constraints on how those
So you create an object , add a bunch of vertices , then add some constraints
Constraints can set the distance between vertices , make sure something doesn't bend too
much, make sure an object retains its volume, whatever.
The update function then moves everything about for one timestep then finds an arrangement
for them to be in that satisfies the constraints
You can make sure a vertex isn't moved by the solver by setting its inverse mass, w, to 0.
(For example when you've attached it to something)
Adding different kinds of constraints requires a little bit of maths and know - how ,
which you can find in the original paper:
http:/ / www.matthiasmueller.info / .....
Clanging, banging, shooting robots roam the countryside. It's a bit like war of the worlds!.....
In this game, you have to create a path along the network of points.
You do this by left-clicking on the points connected to your current
point (THE BIG RED ONE), to move to that point.
BUT: You can't visit a point twice, apart from the one you started at.
SO: If you get stuck, right-click to destroy your path and start again.
The aim of the game is to get back to the point you started at (THE GREEN ONE).
Doing this gets you points. You get more points for a longer path,
And lots more points for enclosing other points within your path......
There's water falling all over the shop. It must be raining or something. The rain gods are pleased when you keep the rainwater in jugs, especially thin ones, they're very fashionable rain gods.
You can move the buckets about by left clicking on the circle in the centre of a bucket and dragging it about, but it can only move within a certain range from where it started.
The buckets will disappear after a while so you need to move the water about with pipes. To create a pipe draw a line with the left mouse button. You can grab either end of a pipe and move it about if you need to. To pump water, grab the crank in the middle of the pipe with the left mouse button and swing it left and right as fast as you feel like. To remove a pipe that's getting in your way right click on it.
The game ends when the water level reaches the top of the screen. When that happens you'll be given your score......
Rowing boats and jellyfish.
A really rather pleasing scene of rowing boats going out to fish for jellyfish......
I was going to wait until I'd got this perfect and then wow everyone with it, but as usual my mind's wandered elsewhere.
So for the last couple of weeks I've been thinking about how to do a simulation of that thing where you fold a piece of paper up lots of times, then cut it into the shape of a little person, unfolding to give a whole chain of little people.
So here's a why-can't-I-concentrate-for-longer-than-5-minutes-on-something EXE.
You can cut the bit of paper by clicking first outside of it, in the black space. Click on another point outside the paper to make a clean cut along that line, or click inside the paper to make an incision. Make another incision to the same point to cut a chunk out of the paper.
You can fold the paper by doing a normal clean cut, but right clicking instead of left clicking on the second click. You can cut folded paper, and unfold a fold by right clicking on it.
The folding doesn't completely work all the time yet because I haven't put the layering in. I know how to fix it, but can't be bothered today.
Anyway, hope someone likes this, I'm quite chuffed with myself for working out all the geometry and algorithms, but a bit disappointed I couldn't find the motivation to finish it properly......
I've made a game.
It's called Schizophrenic Pacman.
It involves popping pills to keep your sanity in a maze of twisty passages that only vaguely makes sense.
Try it out! .....
The Clockwork Shooter!
A story, why not?
So someone finally got the Swiss angry, and they've conquered the known universe, prompting every Heroic Little Dude to climb in his spaceship and head for Lake Geneva. It's your job as the Swiss master watchmaker to build the clockwork machinery of destruction that will defend your beloved alpine nation from the villainous forces of liberty and imprecise timekeeping. Connect the cogs together, shoot the Heroic Little Dudes, eat some cheese with holes in it.
An explanation, because someone's bound to ask:
Link cogs together by clicking where you want them to go. The large pegs on the cogs are what push the other cogs round. Red lines on cogs show where they will shoot when turned. The bullets from ships either shoot out the large pegs, or damage the cogs. Cogs turn red the more they get damaged, but repair themselves when they are turned. There's no end to the game, I can never be bothered to put an end in my games......
The beginning of an idea that didn't become playable. A little world where stuff happens. The idea was to have one on the bottom of the screen and one upside down at the top, and they'd fight each other......
Another diversion, which I'm considering making into a surveying / charting mini game.
It's a virtual ruler and compass set, for making geometric constructions. I've also spent a frustrating evening making it calculate the area of arbitrary polygons, even with holes in, albeit very slowly. .....
HOT DAMN this is a good idea!
It's like your common or garden Pacman, but the ghosts are wave-functions: Until you observe them, they have a probability of being everywhere. This probability is shown by the board lighting up with each ghost's colour where they are likely to be. If you observe a square, there is a probability that the ghost will appear there and start chasing you. Cripes!
If a ghost does start chasing you, try and get it out of your sight, where it will fade away until it becomes a wave-function again.
Cursor keys to move, objective is to pick up all the pills, yadda yadda yadda. There's no need for the super pill things, because you can just hide from the ghosts......
For ages I've wanted to make a game where you control a trading empire, like in Anno 1602 or any number of other German games, but you don't have a god-like overview of the whole world. Instead, you are confined to your banca in whatever port you reside in, sending ships full of letters and goods to your agents in foreign places for them to use.
There were two main problems with this idea - the first being that you need to have a simple, intuitive way of writing letters that can be interpreted by the game, but don't take too long to write and look plausibly like a person wrote them. I had a brainwave about how to solve that, so I could proceed to the second problem - that I would have to create an incredibly complex world for there to be any interest in the game - repeatedly doing the same thing over and over is only fun when there are pretty graphics to go with it.
So, the letter writing system.
I've made a system that works like predictive text on your mobile, but with an added grammar constraint that interprets what you're writing as you write it, and suggests what you might want to next write while correcting any mistakes you make. You could feasibly write out whole sentences and have the game interpret them, but most of the time it's only necessary to type the first couple of letters of the word or phrase you want and then press tab or enter to automatically complete it. It's rather clever!
And now the game world. I've arranged the world as a set of towns, all inter-c.....
Following on from the effect I made for this thread, here's a pleasant little game.
It's a game that requires patience, because everything happens quite slowly. Use the arrow keys or a joystick to move your little circle about and navigate the worlds. The jewels will be attracted to you and can help push about the bubbles......
Keys left-to-right to swing, up or down to adjust rope. Click to shoot tail / detach. .....
GROUPS OF LITTLE THINGS
So these little things keep popping up all over the place. You have to sweep them up by holding down the left mouse button and making a sweeping motion, then pop the little things by tapping the left mouse button on one of them. Who knows why, but you get more points for popping lots of them together.
If you leave the little things to their own devices too long they might pop of their own accord, especially if they're in large groups. It's a mystery why, but you don't get any points when this happens.
Some of the little things are red and flashing. You can't pop them, but they might pop themselves and anything else near them, earning you no points.
Yet others are blue and flashing - they scoot about dragging the other things in their wake. You can't push them so your best bet is to try and pop a group when they're passing by it.
Finally, the last kind of thing sucks the other things towards it, popping them for no points when they get close. You'll just have to do your best until one of these things disappears after a short while.
After however long, your time is up and you're given your score, for whatever reason. After that you can start the game again, if you like.
Level Editor Instructions
You can click and drag points and triangles to move them about
Hold down shift and click on an edge to toggle whether it's drawn
Hold down control and click in three places to make a triangle.
So I've had a revelation - there is a God, and He has a plan for us all....
His plan for this little dude is for him to spend eternity doing a cosmic plate-spinning routine. God works in mysterious ways.
Anyway, you control the dude's fate! Asteroid-ish controls for when he's flying: arrow keys provide turning and thrust. Fly into a plate to send it spinning, then press the up key to spin it more. When you want to get off, point the mouse in the direction you want to go (there's a line drawn from the centre of the plate to help you) and left-click. The dude will detach from the plate at the right point. If that isn't fast enough for you, right-click to detach right away.
The aim of the game is to get every plate spinning so it's pure red. Plates go dark when they're not spinning, and yellow when they're spinning too fast. If the plate the dude is on is spinning too fast, he'll be thrown off.
There's an editor. Press E in the game to get it......
The objective is to be holding all of the weights at once (those white boxes for now)
Press left/right keys to roll right/left. Press space to pick up any weights you roll over. Let go of space to drop what you're carrying (you will need to do this!)
Press up to go up a ramp when you roll up to it, and down to roll down a ramp similarly......
A game where you have to arrange triangles into closed groups, in order to score points. A triangle is a shape with three sides, and here each of those three sides could have a wall on it, which appears as a thick white line. Each triangle also has a colour, which it will mix with adjacent triangles if there's no wall between them. A triangle is always attached to your cursor. Right-click to rotate it (don't worry if it rotates of its own accord, it aligns itself to the tile you're hovering over) and left-click to place it in an empty square. When a triangle or group of triangles is completely surrounded by walls those triangles are removed from play and points are awarded based on the number of triangles in the group, the number of turns taken since you last scored, and the group's colour - if the group is a pure primary colour or pure white, you get more points than for any other kind of group.
The game has no end, and I hope to add hexagons to it later. For now, enjoy the mindless grouping!
Dear Mrs Hilton,
I've just heard your good news. Congratulations on leaving teaching! Will there be a party to celebrate your retirement? Are you invited? Do you need an after-dinner speaker? I could talk for hours about your skill, determination, and natural talent as a golfer, but you can't afford my rate.
I hear you're going to start a business teaching old people to use the internet. I'm glad to hear you're finally picking on someone your own age! I'm sure you'll have at least three, or maybe four years of happiness reminding senile vegetables what 'an internet' is before you drop dead.
I suppose the tercentenary year is a good time to leave the school you practically built from the ground up. I hear the school you were at before Dame Allan's was founded is having an anniversary next year as well.
I wish you the best of luck in your endeavours, though I've recently become a Buddhist so I can't sincerely say your chances look good, what with kharma and everything.
Yours duplicitously (note that the word 'Yours' does not constitute a contract),
ps. I kid, eh? :).....
Chez moi, il y a un hippopotame. Je l'appelle Henri. Il s'appelle Jean, mais Jean n'est pas un bon nom pour un hippopotame.
Un jour, Henri (ou Jean, si tu préfères, mais j'ai déja dit que je l'appelle Henri) est allé vers ma porte et, à cause de son immense poids, je n'ai fait rien à l'arrêter......
Abs After And Before Case Const Data Default Delete Dim
Each Else ElseIf End End Function End Select End Type EndIf Exit False
Field First Float For Forever Function Global Gosub Goto If Include
Insert Int Last Local Mod New Next Not Null Or Pi Read Repeat Restore
Return Sar Select Sgn Shl Shr Step Str Then To True Type Until Wend