Search & Destroy

Download Search & Destroy from

Watch gameplay video

You may already think: “Ah, another game made in one month.” And you would be right. And also wrong. Why is this Schrödinger’s paradox? Let me tell you of the days of high adventure!… I mean, how this game came to existence.

When I had little to no time to make anything to HEJ (On Game a Month), I found the jam calendar on I started to read the names and checked the length of the jams. Did you know there is an ongoing decade-long game jam? So, I found CHILL JAM, and I read the description (in the end 140 people registered and 25 entires was submitted). Turns out this one has a bunch of themes, and you can use any of them, or even all of them. One of the themes was 1-bit, and I happened to watch some playthrough of the 1 Bit Survivor game, and as I loved the art style I thought, OK I could make something that looks like that. Only the jam is two weeks long, and starts on Thursday. I still have work to do, and weekends that I probably cannot spare for this. But, hear me out, I said to myself. 1-bit, right? That’s easy to make. And something small of course. Of course! So I made a metroidvania game in less than two weeks.

At the start of the jam’s night I was only able to make the screen code, which I have as a general purpose code and I have to modify it for every project to work properly. I set up how I wanted to handle the rooms (one giant room in Game Maker, and boxes that represent the actual game rooms), similarly as I did in The Chromatic Shield, but I rewrote everything code related. Then on the weekend I only had some time to plan out stuff on paper. Finally I decided that I get inspiration from an old C64 game: Impossible Mission. In that game a spy (?) was searching through rooms for useful items and puzzle pieces, sounds and a bunch of other stuff. I never really understood what I had to do exactly, nor I played that game through. Anyways, the gameplay started to form in my head: no jumping, full darkness with a flashlight, a gun, miniboss, boss, some explosives, climbing, elevators. And then I scrapped some of it, and decided to make a throwing mechanic, so the player can distract robots, and make the game about avoiding any confrontation with the robots. I played with the idea of making the rooms randomly generated, but I booted that too: it would be too similar to Impossible Mission, not to mention how I could guarantee a playable run every time. I got the idea to make a reference to a very famous game developer, as he pranked the people of this place a long time ago with some computer virus. Then I made it part of the solution.

In the game the player has to search every piece of furniture and other stuff for disks (14) and a working floppy drive (30). When the disk is ready, terminals stop giving background information (there could be runs, where the player finds all disks early on, so the last 2-3 terminals’ flavor text won’t be revealed… but it’s fun I promise :)), and downloads some macros (14). When all is collected, only then the main terminal can be hacked at the end. I coded like a maniac during workday evenings. I quite easily made the protagonist. No jumping, but I still had to make it climb ladders, and operate elevators. Those pesky elevators. I wanted to make them so they automatically stop whenever they reach a possible stop (won’t go into the ceiling, or the floor, but stops whenever a platform’s side is reached). For whatever reason I wasn’t able to make it work, it was buggy as hell. So I made the next best thing: for every elevator I had to set up all the possible stops manually. In the end it wasn’t that big of an issue, but still I wanted to make something clever and I failed. The other thing was the throwing. I wanted to make a scalable throw from the start and I know I had to make an aiming indicator for that. I spent like 2-3 evenings to make it right, with effects. Only I realized in the end that this is not good, the thrown junk will use a bit different path that the effect shows. But I already had a plan b for that, so in the end, I make a path with every throw, and I modify its vertices’ position as the throw scales back and forth. I made the simplest AI for the robots. I already had on paper what type of enemies I wanted, and made them fairly easily. As the graphics for all these required very little time, I could put more work in coding and level building. I use objects as invisible colliders, and boxes for rooms. I made 47 rooms for this, and hand-painted them with tiles, made some puzzles in every room (how to avoid the guard robots, or using switches to unlock paths). Every box has some values that the game uses: room name, if it’s a dark room, colors to use, and music to play. The outside of the boxes are covered with black rectangles, so they won’t be seen, and robots, though I don’t deactivate them, but they stop shooting until the player re-enters their room again. The last week passed with me making the rooms, finding bugs, getting a mental breakdown, then fixing the bugs. I had some rough nights, being up very very late. But during the day I still had to do my job too.

And I did! I made a metroidvania game in two weeks. I even made a secret room to find! The night before the jam ended I made the page, uploaded the project, and it was playable from start to finish. But I had to upload a picture with the map, marking the terminals, so people won’t get frustrated. I don’t think anybody played through, EXCEPT one of my colleagues. He’s some kind of gaming genius. I remember he beat every high score in Legendary Quest of Sándor Rózsa – Autumn Special. And he also beat this game. Not that it’s hard or anything, but playing 1-2 times won’t make you remember where all the terminals were. All this bugged me so much, I decided I will make a map for the game. So I spent another two weeks making the map. It turned out to be quite good if not great, as it’s dynamic, and basically scaleable, and should I add new rooms or change anything I don’t have to change a thing, the map just works. I will make this map system better so I can use it in other projects too. Only thing I have to figure out is how to work around the fact that the draw gui event draws primitive shapes with the original resolution, even if I set the gui size and you can see it uses that coordinates. This makes strange pixel positions for these (a line with a width can be drawn on half and quarter pixels, two rectangles with 1 pixel differences aren’t touching etc), and I made some workarounds already, but I decided for this game it’s good for now. I also made an intro, so the player has a more immersive experience. It doesn’t look as I imagined, it’s quite simple looking, but again, for this game it’s OK. I also made a bunch of tiles to fill up the empty backgrounds of the rooms, and added an extra shade of the colors as the platforms were very dark in the jam version.

So, this is how it was made in two weeks, and also in a month. This was an experience. I was quite happy with the jam version too, but with the new additions the game turned out to be a really good game for a jam entry. I hope anybody who played and will try this game out will have a good time. 🙂