My Mission to Mars
In my first email I said that "I’d like to write something and then move on" before promising to write 12 emails about croissants. When the 12 croissant emails were sent, I wanted to keep writing and somehow suggested I'd write about pinhole photography but I forgot to say how long I was going to keep at it. 12 batches of croissants was hard, but an undefined number of photo sessions is harder. So hard in fact, that I've failed to write the last two weeks and I even took pictures! So hard in fact that after 6 and a half sessions, I'm done. I'm happy to have tried it. It was interesting. It's not my cup of tea. Maybe its your cup of tea? If so, I'd love to see some photos. The photos are really cool, the process is just not for me.
Learning golang
In the last couple of weeks, while pinhole photography has been fading into my past, I've been learning the Go programing language for work. Once you can program, I feel learning a new programing language is like learning a regional dialect by watching Netflix. Some words are different, things sound a bit strange, but you get it. And after a few late night marathons, you forgot that "woll" is a weird way to say "will" or "melk" is a funny way to say "milk" or "for" is a weird way to type "while" and you are lost in the metaphorical show.
To learn Go then, I needed to write some go code. One of my pet programing projects is to take a bunch of pictures and write software that smashes them together. Here is something I made by pixel smashing 1000+ photos from The Millennium Bridge in London that I downloaded from Instagram.
A couple weeks ago I wrote some software to take all the frames of a half second video of my son dancing in a Newcastle United jersey and smash them into one still photo.
While photo smashing is fun. The project that I always want to do when I start learning a new programing language is to make a video game set on Mars. The problem is that not all programing languages are good at making video games and so I often get bogged down in trying to make the tool do the wrong thing. But it looks like Go isn't going to have that problem, so last week I started working on "Mars Game!".
My Mission to Mars
Each Sunday, in June and July, I'm going to send an email with a link to a new "playable" version of my "Mars Game!". For now, the game will only work on Apple computers because turning code into programs that can run on an operating system other than the one you are using to write the software is really hard. Maybe I'll find some metaphors to explain that later. That means that if you don't have an Apple computer this newsletter might get really boring. That said, you did read about croissants you couldn't eat so maybe you'll like reading about video games you can't play?
This weeks game can be downloaded here. The controls are "WASD". When you start the game, the screen might be all black. Moving the window around seems to solve this... ¯(ツ)/¯. The red boxes around the characters represent the characters "hit box" this means that if two characters red boxes touch they have run into each other. In the future I hope to have the hit boxes be closer to their real size but this works.
Each week's game will target adding features I need for the game that is in my head. This means that the games I'm sending aren't really "the game" but more like warm ups. For next week I'm hoping to have walls that prevent the characters from walking off screen. And doors that allow the characters to go to different rooms. I have this idea that you and the other characters will be searching for alien life and whoever finds it will win. But we'll see. The real point is doors and walls.
Thanks for reading, Matthew