Developer Instinct
Tags: lisp, game, jam, books
Published: 2019-11-01 15:47:47

Two weeks ago, I finished reading Paul Graham’s [Hackers and Painters](https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554). A collection of essays on software technology, start-ups and programming languages. I found the book to be very interesting and enjoyed reading it. There was a lot about the programming language Lisp in this book. Lisp was invented over 60 years ago by [John McCarthy](http://jmc.stanford.edu/index.html), father of Artificial Intelligence. I had a spike in interest for knowing more about it, however as soon as I finished the book my desire to learn Lisp faded away. I was too lazy to open a time window for learning a new programming language with weird syntax full of parentheses, which I will probably never use for any of my side projects.

The very same day I stumbled upon [Autumn Lisp Game Jam 2019](https://itch.io/jam/autumn-lisp-game-jam-2019) on itch.io. For those who do not know, **itch.io** is an online game market and multi-platform website for indie game developers and a **game jam** is an event where you develop games in limited time. I already had a plan to work on a tiny game project and I thought I might as well make that game using Lisp. That moment I was really conflicted about whether I should join this game jam. Since I did not have any knowledge of this programming language, I had no motivation to take up the challenge. However, I knew that even if I click the join button and do not show up at the game jam nobody, would blame me for it. So I just did it and the next day the game jam began.

In seven evenings with the help of a [great developer community](https://discord.gg/C9VPvfG) I was able to complete a short and primitive platformer I called [**moppu**](https://sarge.itch.io/moppu) using [trivial-gamekit](https://borodust.org/projects/trivial-gamekit). And at the end of the game jam, my project was placed 1st in presentation and entertainment, 5th in creativity categories and 2nd overall among 14 other projects. Well, this was not the first game jam I attended or the first game jam I had successful results. Does not really sound interesting right? But this is where it gets interesting and makes this game jam special for me.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/5qs7u8y6mfj1tni9brkw.png)

On the second day of the game jam I just wanted to give up. I had no idea what I was going to do. Even setting the environment for running Lisp was difficult for me. Well, I'm no Linux wizard but just a regular Windows guy. I was convinced that it would take a lot of time and all I could do was making a short text adventure game. I was shy about bothering people with very basic questions. Rightly someone could have told me to learn the language before attempting to make a game with it. But in the end I made a fully complete game. My project was able to get to second place, I was welcomed in the Lisp game dev community and encouraged to further learn the language. I was joyful and excited. But this time I had the same excitement that I had in the very first game jam I attended which I would also like to tell you about.

Back in 2013, I attended my first ever game jam with very talented people. We were a group of four, two software engineers, a musician and me a computer engineering student. I had very little experience in game dev back then. One week before the event, we stayed at one of the computer labs of the department and practice for the game jam. I was going to deal with 3D and 2D art of the game, and other guys were going to do the programming. They decided to use Unity, which was getting popular back then. They said they never used it before, so I objected to this decision. I thought it was impossible to make a video game in a weekend with a game engine you never used before. They just told me not to worry about it. We wanted to make a 3D [Frogger](https://en.wikipedia.org/wiki/Frogger) game for the game jam warm up. One of them sketched it on the paper and then started working on it. I watched his computer screen the whole time while he was working on the prototype. He was going through documentations of Unity, reading forum posts, writing code and step by step it took a shape. He was working as if he worked with this game engine before. In about an hour we had obstacles moving from one side of the screen to another and the player was able to get to another side trying to prevent obstacles. The prototype was already there and I just had no clue how he did it. The next weekend we made a game called [Heart Attack](http://2013.globalgamejam.org/2013/heart-attack-39) and got the 3rd place in the Global Game Jam Ege 2013, ironically again among 14 other projects. I was full of joy and excitement. I did not sleep those two days, worked and learned as much as I could.

Software industry is an ever-changing living organism. As a software developer, you need to get used to move out of your comfort zone and learn new things all the time. Cause of this petty success I had was the experience I gained over my habit of making games with different tools and languages. Since 2013 I have attended over 20 game jams across 6 countries, released a game and worked as a game developer. I used game engines, small game development frameworks, web browsers for making video games. All this experience fused into my personality and turned into what I call **developer instincts**. I never used Lips before and never made a platformer game before, but just knew what to ask, which questions to get answered and which paths to take to complete a game. I’m still nowhere near being a professional but having this experience at the Lisp Game Jam made me feel more confident and proud of myself.