Nah man, it's August

Website
I am finally DONE with the site redesign. I’m done writing posts in straight html! This site now runs on hexo and has the basic features of a blog. Categories, tags, archive, history… I’m so happy that’s done. Every time I wanted to write a post, I would think about how I still haven’t made a new page for June posts and then I’d think of HTML and then… no post. This is the first post using the new system! There are still some little bugs to work out and I’ll be doing that in the next couple of days.

Vapor Story
I told myself when I started this game that I wanted to make the game I had in my mind. I would not compromise on some part of the design because it was too hard, or would take too long. Then when I chose GameMaker, that’s exactly what I was doing. I said to myself that an Unreal based game would be too hard. I didn’t have the experience I needed. It will take forever. Then I started with GameMaker and got far enough along in the design that I realized I just didn’t like what I was making. It really hit home when I started playing through Hyper Light Drifter and I couldn’t get into it. I wasn’t having a good time and it was because the game was 2d. It was flat. You can’t look out over the land. You can’t see things off in the distance and decide to go to them. I want that for my game. So, I picked up Unreal. I took an introduction course and built some sample levels. It’s been a lot of work, but I think it’s right. I like what I’m making.

Using Unreal engine means that for now, the game is a first person shooter. That is awesome…!

Destiny 2

I just had my birthday! I’ve been playing a lot of Destiny 2 on PC lately. I’m a little bit out of the development loop, but that’s ok. I needed a little break after five straight months. I plan on making a big push this coming weekend. I’ll have some down time and will be in a nice quiet place.

I’m going to be working on item generation, stats, properties, etc… I want to be able to equip items and have their properties affect the player. I also want to get battle working. SHOOTING stuff. LET’S GO!

That's all we've done?

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.

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.