Engineering tagged posts

Coding Lola

Some time ago, after I poked around in GameMaker Studio 2, I realized that I have to be at least an average coder for this thing to make something that surpasses a work of kindergartner. I sucked at coding. Till then I preferred hiring help, if I came across something difficult. But in case with GMS2 it wasn’t an option, unless I hire help to code the entire game.

But I didn’t give a fuck, I still went for it. You suck at something – learn. And I needed to keep my head busy back then. So I went through various Youtube tutorials, aiming on how to make a platformer with mouse aiming.

I ended up having a base for exactly that, with simple sprites processing that I could adapt for something like this:

Which wasn’t good enough for me. I got a taste of side scrolling shooters, with more complex sprites management; with more expressive running/jumping, with hands that holds weapons more realistically, so I wasn’t settled for less. Either that, or why even do this, if I can do better?

After breaking the theoretical game into elements, I started to think which element is going to be the hardest to do? Since it was my fist game with a lot of the upcoming coding I have to do by myself, I thought that if I’ll handle the hardest shit right from the start, – to be confident that I can handle everything else in the project. Maybe it’s not the best approach, I don’t know, but it seemed reasonable.

After I gave a though to the elements, it was clear that the hardest part will be coding Lola to process her sprites that will display her movememt in the way I want. I desided, that I’ll take 3-5 days to code her, which seemed like a realistic time for a diletant coder like me. if I do not manage in this period, then, probably, I should stop.

I ended up fucking around with her for 2.5 weeks) I spend more time learning how to code, than doing actual coding. I searched so much, Google started to ask me if I’m a bot or something.

The whole thing was tricky. I had to invent ways to “noob” through it, going through dense forest of unfriendly coding environment, that doesn’t like diletants at all! GMS2 gave me so much errors, I thought I’ll break the engine somehow. But then, step by step, this thing started to be more obidient, I began to see clearly where I was wrong at the beggining and how to improve my shit-code now. Then, after a second week I felt like I own this thing. I knew perfectly what’s what in this baby, instead of looking at bunch of variables, thinking how not break something.

All in all it was difficult, but I loved doing the whole thing. Anyway, after places where I worked, it’s a dream job, no matter how hard it gets. So I kept pushing. And after I finished, it was so fucking rewarding! My coding skills upgraded noticeably and GameMaker Studio being very compliant now. Looking at Lola moving just like I wanted, made me feel like a genius) Now her movements adds to the game’s drive, making it more pleasing to the eye.

To be honest, I’ve always seen Lola as a harmless dicks-obsessed cutie, I never imagined her as fighting type of a character, before I start working on my stuff. But, I can’t help it) I like to make games with some action in it, with all that it implies.

I still have a lot of coding to do for this game, I’m sure I have to overcome a lot of head-scrachers for games to come, learning in proccess. And, hopefully, I’ll find this post in future and say: “Oh, yeah, I remember how I shit-code this thing for 2 fucking weeks straight, when I can do it for a day or two right now”. But for now, I feel great, for being stubborn enough to go to beat something huge and unfamiliar, and succeeded)

I won’t recommend this approach though. Starting from smaller things will give you more enjoyment from development, I’m sure. If you give fucks about constant errors more than I do (two weeks, kids!), then frustration will, probably, made you quit. But, nevertheless, you never know what you can do till you try.

Lola’s battle animation


Click here to see more


Quick informing post on Parteon: