That's all we've done?

Technical Design
It’s a been an unproductive week at GlitchRock Games. I suffer from anxiety/migraines and neither of them have been very kind to me this week. I’ve lost the whole week to them. I’m working as much as I can today and hopefully will be back at full steam tomorrow. In the last few sessions, I’ve worked on sorting out the inventory, tweaking some things here and there, and making some changes to make it feel a lot like the system from Diablo 3. I’m doing stacking a little differently, but aside from that, it’s very similar.

I’m going to take a little time to work on character movement now. It feels sluggish and boring. Adding a nice effect to the dash and tweaking the collision code will make it feel a lot more solid and responsive. This will tie in to adding the controller as an input device. Right now, you can only move with the keyboard and mouse. The input system is made up off two layers; input reading and action mapping. The input module reads all available inputs and maps them to a given action, which will eventually be assigned through the Input Configuration menu. An input to action mapping looks something like: action_map[action.attack] = input.mb_left;

This type of mapping lets me reference the actions in the game code, instead of specific keys. It’s a common technique and allows for user control customization. I’m a big fan of customization and options, so I’m working on exposing as many options as is appropriate.

ps. I stole the screen shake code that I used in Poopin in Swoopin and made it an object in Vapor Story.


Poopin' and Swoopin'

I took a little break from Vapor Story this weekend to work on a game for Ludum Dare 41. The theme was ‘combine two incompatible genres’ and my game was a castle defense + farming sim, called Swoopin and Poopin. I code pretty slowly, so I didn’t get finished, but I plan to work on it when I need a break from VS.


Friday the 13th

I’ve gotten the inventory working somewhat. There is a video of that down below. There is also a world clock, which is used to cycle day night coloring. It’s just a simple overlay now, I’m not even sure the game will have day and night.


Spaghetti Code

Techinical Design
This weekend has been great as far as progress is concerned. Although, I’ve noticed that I’m just kind of throwing code all over the place. Some of it is getting a bit wild and is all over the place. I’m taking some time to reel those parts in, as well as correcting and expanding on some things;
naming of variables and scripts, including tree locations

  • collision: this hasn’t worked correctly since I changed the main character sprite
  • data structure: I am making objects for each item and that’s not working out. I’m going to set up an item index and build objects based on the index data instead of building the data into the objects. I’ll have to think about how code works for unqiue items.
  • animation: it’s working ok as is. It needs a little more flexibility for layering items on top of each other. I want to setup parts for characters (head, torso, legs, etc…) and be able to assign items to those parts.
  • drawing: I need to make a system to control drawing order. The sprites are drawn in whatever order Game Maker draws them in. This leads to some items being drawn on top of things they shouldn’t be. I need keep a depth order and draw based on that.

I’m not going to beat myself up over these thinsg, I’ll look at it as learning the ropes of Game Maker. Also, I’m pretty happy with the way input is handled and abstracted. The extra time spent on that will allow for custom input mapping and it’s easy to use in code.

Game Design
I’m playing through Breath of the Wild on Master Mode. There are times when I’m totally ignoring the story or any quest and I just go around in my stealth gear collecting beetles. This is the kind of activity I want to have in my game. Something that is fun and beneficial to the player, despite being totally optional. I would love for the players to be able to take pictures, or something with a similar purpose (tagging different game objects). I’m thinking about that a lot.

The story is still a work in progress. I aim for it to be something that can stand alone and be enjoyable on its own. I like it a lot so far.

This is a picture of the inventory window. The dark gray slots are disabled and can be unlocked through perks or experience.
Inventory Window

ps. This article on The Legend of Zelda level design is pretty good!


Doom Article

This article on Gamasutra about the design process behind Doom 2016 is really interesting.

Here’s how Stratton and id creative director Hugo Martin defined the idea of “combat chess”: speed of movement; individuality of the demons; distinctiveness of the weapons; overall power of the player; and the idea of “make me think, make me move.”

On gameplay…

Martin added, “We just edited a lot of stuff, and said we don’t necessarily want the player to have multiple ways to accomplish their goals – there’s only one way to play Doom…We cut a lot of stuff that is completely valid in a lot of [other] games, just to get the game to feel like Doom.”

No reloading, it’s DOOM!

Doom cuts the cruft from the modern first-person shooter format. There’s relatively little dialog, there are “missing” mechanics like reloading, and the tools provided to players in order to progress require little overt explanation or tutorializing.


Camera Perspective

Technical Design
Holy hell, March is half over! I’m picking at things, trying this, that… mostly to see how Game Maker works and what’s possible. I did something with the background sky that’s been behind the buildings in many of the videos below, replacing it with a shader instead of a texture. It works really well. If the shader was some type of cloudy sky, it would look a lot like the sky in Breath of the Wild, which is definitely a dynamic shader. Something a lot like this…

Game Design
One of the problems I’m having is how to handle the camera perspective. Think of a first or third person game, when the camera is low to the ground and you can see off into the distance. When the camera is high, you are above the player, staring down at the ground. These pictures illustrate the difference. These are all pictures of the same scene, with only the camera’s height changing.

Directly Behind Behind High Overhead

In my opinion, the first one looks the best and the third the worst. My game is a top down game, which is a lot like the third picture. My dilemma is: How do I make something that looks more like the first picture, than it does the third? The awesome feeling that I get from being able to stand atop a big mountain and look out over the landscape can’t be overstated. I don’t know that it’s possible to replicate that feeling in a 2d world though. In an attempt to replicate the low camera look, you can zoom out, which will increase the field of view. This relieves some of the claustraphobic feeling from the third picture. If that view was zoomed out, allowing you to see the sorroundings, it would be a little more playable. I tried this with my protoype and zoomed the camera out around 100%. It gives a much larger field of view and feels a little more substantial, which you can see in the video below.

I’m going to keep experimenting. I’ll check out some other games to see how they handle it, as I’m sure someone already has a great solution.


Shader Work

Tonight, I’m working on something a little different for me. I need a ‘scan’ effect for when the ghost highlights something, which seems like something I can do with shaders. I’ve never used shaders before, so I’m looking at this tutorial to help me out. This VCR distortion shader is out of control! I’m looking to do something like this scanning shader.