itch.io is community of indie game creators and players

Devlogs

Progoster Devlog - Week 4

The Progoster
A downloadable game

This week's work flow was...unique.

As I said last time, I had finals this week. What I didn't mention was that as I was writing that post, I had decided to watch some beginner tutorials just to make sure that I had a solid enough foundation on how Gamemaker worked. It was then that I realized that, while I had watched tons of tutorial series for Gamemaker, I'd always stop at some point a few episodes in, whether because I made a game breaking mistake at an unknown point or because I simply lost interest. This meant that while I knew a lot about the beginning parts of game development (How to program movement, collisions, manipulate variables, etc.) I didn't know how to do many things for deeper game development. Off of the top of my head, I learned:

  • The region feature, which allows you make certain areas of a code block able to be hidden. This is great for decluttering.
  • Making sure to very consistently use "=="s for if statements, semicolons at the end of non-if lines of code, and to double tab every extra layer of code.
  • I learned how to untab with shift + tab.
  • I learned about the lerp function, which makes one value smoothly transition to another value. You know how I spent an entire week trying to make a smooth camera? I could have done that with one line of code the entire time!
  • I learned that scripts can be used without the script_execute() function, that I don't really have to put "scr_" in the name of every script, and that I could give my scripts custom parameters.  Having such control over scripts greatly optimizes both the code and my workflow.
  • I learned how to sense if a character has just now hit the ground. This isn't too useful for the Progoster, but it's nice to know. 
  • I learned that you can give an object a permanent collision mask that isn't affected by the current sprite. No longer will I have to carefully make every sprite symmetrical so my objects don't clip into walls. 
  • I learned how to make tiles, more or less.
  • I learned that you could assign variables with text. So instead of:
    • State = 0;
    • State = 1;
    • State = 2;
  • I can do:
    • State = "move";
    • State = "roll";
    • State = "attack";
  • I learned a good process for making pixel art. While my art has improved dramatically, I know that I'd have to rework all of my art.  Very detailed sprites would not look good next to my current sprites. I'm unsure which side to lean towards.

I'm sure I learned some more stuff, but I can't remember it at the moment. 

But I didn't spend the entire week watching Heartbeast tutorials!

Thursday

On Thursday I optimized the majority of the code using improved scripts and formatted the code so it would be easier to read. Oh yeah, I also decided, as an afterthought, to casually completely fix my camera that I (and also someone on Reddit) spent a week trying to fix. Whatever, I'm programming god, yawn.

Friday

Here's my usual workflow on a given day:

1. I sit down and open my game.

2. I start playing the game.

3. After about five seconds, I find something that I could improve or tweak.

4. I spend the day working on that.

It's a very consistent workflow. The only problem is that today, I didn't find anything. It didn't look like an incredible game or anything, but there was nothing wrong with it. All of the controls worked fine. The camera was fine. There were no bugs. It was all...perfect. 

Logic dictates that when you can't find a flaw in your game, it's time to add new stuff. The problem was that I couldn't think of anything. I want to have at least five reusable enemies, a boss, and maybe one or two mini-bosses.  As of right now, however, I can't really think of any. At least not any that fit a café theme. I'm sure I could add some vague ghost enemies that I could put in every level, and I probably will, but I want each level to have five enemies all to themselves. 

With that creative path blocked,  I decided to use tiles for my walls. I knew a bit about how tiles worked, but it took me (and this is a conservative estimate) about 30 minutes to get it working.

I also had to make a bunch of new layers so that I could have a tile layer and another layer for the actual collision blocks.  The whole process was a bunch of boring finagling with layers. But I got it functioning!

All in all, this week wasn't glamorous from the Progoster's point of view. But I think this week was incredibly important. If I took different steps during this week, I may have been drastically less likely to finish this game.

I thank you deeply for reading this. As of writing this, I'm pretty sure that absolutely no one is even aware that I'm making this game. The fact that I'm writing to an empty void is rather depressing, but despite that, I still feel like I'm being held accountable.  If you are watching this, please leave a comment. I just want to know that someone saw this.

Until next week!

Download The Progoster
Read comments (3)