Blog

Hi, I’m Tom! I’m a game devel­op­er. Some­times, I write my thoughts down here.

 

Video about Edge Not Found for FreeCodeCamp! + Transcript

March 20, 2021

Full dis­clo­sure: I won a year of Code­Pen Pro as part of the prizes from js13k.

Level 301 of Edge Not Found.

A cou­ple of months back I was approached by Ania Kubów, who has a YouTube chan­nel ded­i­cat­ed to JavaScript tuto­ri­als. She want­ed me to con­tribute to a video for FreeCode­Camp show­ing of the top 20 entries of this years JS13K, by hav­ing their devs show and explain some cool bits of code. As Edge Not Found man­aged to get 2nd place, I fig­ured I should actu­al­ly record and voice this video myself (some­thing I don’t often do online). My code exam­ple is about how I ren­der the same lev­el seem­ing­ly infi­nite­ly across the screen, which you can find on Code­Pen here.

My part start at 9:12 in the video, but I’ve also pro­vid­ed a tran­script with images of my part in the video below. I hope it is use­ful to someone!

Read more…

Brain dump: On icing your projects

March 19, 2021

My project devel­op­ment style involves a lot of down­time. Either I lose moti­va­tion, or are busy in my actu­al work, the pro­to­type failed, or some oth­er rea­son caus­es me to be unable to con­tin­ue work­ing on the game to fin­ish it. But that does­n’t mean I’ve giv­en up on the game. For near­ly all of my games, those were made over large peri­ods of time, with effort I put in grow­ing and shrink­ing like the waves.

For this, it’s impor­tant that you ice your projects cor­rect­ly. Icing is sim­i­lar to mak­ing a back­up of a project (also super impor­tant!) but it involves more than that. When you ice a project, you should not only record it’s cur­rent state, but it’s also about ensur­ing that you can access that project mul­ti­ple years in the future, and what your inten­tions were when you last worked on it. Aside from doing obvi­ous things like com­ment­ing your code, some spe­cial con­sid­er­a­tions must be made if you want to ice your project in such a way that you can still get start­ed with it years into the future. That is what this post is about. I have six thoughts I want to share.

Read more…

Edge Not Found postmortem — js13k 2020

September 22, 2020

Title screen of Edge Not Found.

So I par­tic­i­pat­ed in js13k again this year, this time stick­ing to my cards bet­ter and decid­ed to make an eye- as much as a brain-bend­ing puz­zle game called Edge Not Found. After work­ing for almost a year in Type­Script (and Can­vas) for my job, I feel I have a lot more expe­ri­ence work­ing with the brows­er, along with the things I’ve learned from my entry last year. So here’s anoth­er larg­er-than-13kb post­mortem about a small­en-than-13kb game.

js13k last year was the most fun I’ve had with a game jam. There’s a lot of activ­i­ty from devs on Twit­ter (though not over­whelm­ing­ly so), the month-long dead­line is very relaxed com­pared to some oth­er game jams (you’ll fin­ish on time even if you con­tribute just half a kilo­byte per day!), and there are sim­ply some amaz­ing tech­ni­cal mar­vels that peo­ple cre­ate even despite all these limitations.

Last year I want­ed to try out the Zdog library, this time my choice fell on rough.js, which cre­ates seem­ing­ly hand-drawn ver­sions of geo­met­ri­cal shapes like cubes and cir­cles. I stum­bled upon a blog post that explained how this effect was achieved, which made me want to try it out. Next to that, I’ve been work­ing on a mini JS frame­work called Toma­to that sup­port­ed tim­ing, hit­box and input man­age­ment, which I want­ed (and did) improve dur­ing the jam. And pro­gram­ming in JavaScript with a live reload plug-in is absolute­ly a blast thanks to the blaz­ing­ly fast iter­a­tion time.

And, of course, a seed for a game idea. I’ve made a cou­ple Sokoban vari­ants before, and my next idea was to have the lev­el con­tin­ue infi­nite­ly into all direc­tions. A small spoil­er warn­ing, though: I’ll vague­ly describe some of the puz­zle mechan­ics (though no puz­zle solu­tions!) in this post­mortem, so you might want to play the game a bit before read­ing on.

Read more…

Fake Illusions is out!

August 20, 2020

Yes! Fake Illu­sions (the game I’ve spent a year and a half devel­op­ing, and will prob­a­bly con­tin­ue to work on for a bit) is now out on both Steam and itch. It’s great to final­ly have it out of the door, and I’m curi­ous about how it will per­form on both platforms.

It has been a lit­tle bit of final sprint to get to this point, but the appli­ca­tion is nice and sta­ble now. I feel it’s the first game that I’ve made that I feel com­fort­able slap­ping a price tag on. So we’ll see how it goes! There’s also a new launch trail­er to go along with it.

If you want to request a review copy or want to use the game for edu­ca­tion­al pur­pos­es, feel free to reach out for a free copy: my con­tact details are on the top of this page.

Thank you and enjoy!

Designing Fake Illusions’ Accessibility

August 14, 2020

Fake Illusions title screen.

There have been a lot of games about opti­cal illu­sions recent­ly, but most of these have focused around impos­si­ble geom­e­try in Esh­er-esque envi­ron­ments. How­ev­er, many more inter­est­ing visu­al phe­nom­e­nons are still unex­plored in games. I had the idea of hid­ing “fake” opti­cal illu­sions inside real ones, and hav­ing the play­er point out the cheater. After an ini­tial pro­to­type with a few illu­sions, I’ve spent the last year and a half work­ing on expand­ing this idea, and I’m cur­rent­ly prepar­ing it to launch on Steam soon!

Because the game idea is so unique and visu­al-focused, it runs at a high risk of being very inac­ces­si­ble to play, for exam­ple for peo­ple with bad eye­sight, col­or­blind­ness, or oth­er hand­i­caps. I have some expe­ri­ence with this sub­ject when design­ing the acces­si­ble pre­ci­sion plat­former Mobil­i­ty, so I want­ed to ensure the same acces­si­bil­i­ty for this game, even though the two game ideas are wild­ly dif­fer­ent. Today, I’d like to run through my design choic­es for keep­ing Fake Illu­sions acces­si­ble while still embrac­ing min­i­mal­ism and surrealism.

Read more…

  Older posts >    

  or subscribe here!