Krass Jam #5

Over the weekend, I made a game for Krass Jam #5!

I streamed about 80% of the game’s development on Twitch. I took some breaks in between. I worked on the game on most of Saturday, most of Sunday night, and for two hours on Monday night. Overall not much time.

So, how did the development go?

The Beginning

Screen Shot 2018-07-10 at 9.33.25 PM

When I first started working on the game, I had to choose a theme. For Krass Jam we have a generator make three crazy themes for us and we choose from the three.

My three themes were:

  1. Motivate superheroes to be a bad enough dude
  2. throw hats and buy extra content with real money
  3. collect crystals from unknown worlds with businessmen

I had Google choose a random number for me as I had no preference for any of these. I could easily imagine what kind of game I would make for each of them.

Google chose #3.

So I hit the ground running.

After that I made a game design document (GDD) to keep track of things I needed to do and to flesh out a good direction for the game.

I wrote out a little intro for the game’s story. And then I made a list of things to make.

I started with the frame for the game first. And then I went in and built the gameplay.

This is a first for me in a game jam. I built the menus, win and lose cases, volume controls, and instruction screens first. Then I built the pause screen and set the input actions. I also made some art in between to chisel out the look before I made any mechanics of the gameplay work.

I also built the hud after that and made a fuel gauge that depletes with time.

Then I started to work on simple player animations and movement. This movement is where most of the programming logic is written in the code.

Many Japanese game developers start with the player’s look and feel in the game first. And then they go and build the rest of the game. This is a good idea. It works really well for much bigger projects.

Why?

Well, if you build the environment and the menus and everything else before you focus on the player feel, you are wasting a lot of time. If the game ends up with a bad movement feel, the game won’t be very fun to play. Players will go and play something else.

So why did I chose to build the frame of the game and the menus first?

Well, for two reasons;

  1. The time constraints. I wanted to get a working program built first. I hate it when the developer leaves out menu settings, and a simple way to pause and quit the game.
  2. It’s low hanging fruit. Easy to finish. If I can accomplish a few easy tasks, then I will get into my groove and be ready to tackle more cumbersome ones.

However, looking back, I should have been a little more lean in the process. I should have made the smallest iterations,  and kept on making the next iteration. Finish the simplest version first.

That means starting with the end in mind. Starting with the win and lose cases, and working backwards from there.

I did this for the last game jam game, “Ice Cream and Match.”

Why is being lean good?

Well, during a game jam life can get in the way and we have to stop working on the game. If we stop and we are lean, we still have the last iteration to publish and submit to the jam.

Many people enter game jams online, but about half of them finish and submit a game. If they worked in a lean style, they might have made a basic version to submit early.

Now let’s talk about my game’s gameplay.

Gameplay

f2flndv

The gameplay, in a word, is unfair.

There is a random chance of winning the game even if you put forth your best strategy.

Every block you destroy in the game has a random chance of producing a gem. There is even a chance of having no gems turn up after destroying every block. This makes the game impossible to win.

Although there is fun in losing the game, after the first time, losing gets really old as there are only two lose cases.

And that makes the gameplay short and replay undesirable.

The Feel

h5env3

The sound together with the animation is only slightly satisfying.

The digging animation is slow. If I sped it up or played it backwards, I could make the digging action feel less sluggish. But it is what it is for now.

Acceleration. There is no acceleration or deceleration. The velocity is constant.

The worst thing about the movement is getting stuck on the side of the walls when trying to move up. This happened when I watched my wife play. She didn’t realize that you should just back away from the wall and she thought she was stuck.

To me it was an obvious solution. But to a player it’s a point of frustration. It’s a point of exit from the game.

Also flying with the rocket booster has no sound. So there isn’t much satisfaction with flying. Only a quick animation.

Building the Game for Another Week

uctgqa

If I do decide to work on this game for another week, I would need to improve many things.

  • The Game feel
  • Build up the story and make more animations
  • Build up the replay-ability
  • Extend the game with upgrades and bigger levels

 

That’s all for now. Here’s a link to the game. Play it and let me know what you think in the comments.

Power Crystal Diggers In Space 2055 Game Page


Game in a week #2 game jam: Sacrifice and Vengence

I joined a game jam for game in a week. I made a cool ghost fighting game with funny little animations.

The game jam ran for a week and was called Game In A Week #2 (GIAW). It had a really nice discord chat for us to use.

The game is called Sacrifice and Vengence. And yes, I know you should spell it vengeance. But this is my game, so I am taking some liberties.

I learned a lot about the game engine and working to make a deadline. I worked with a talented fellow named Yag over twitch to create the awesome music.

The game is very short and I got in a lot of things in the very last minute, but I am glad I was able to make the game.

Download it and give me a rating!

 

 

 

Strawberry Choco Banana Boom Development

I am building a new game that I want to target for steam and the arcade.

It is a cute shooter and party game where you shoot things and collect items to advance through levels. The main feeling of the game I want to convey is crazy cute party arcade game!

I want to launch this game on steam and other outlets. And if I people really like it I will start a kick starter to make a new improved version with an arcade cabinet.

Here is some of the art that I have created. of course, it is no where near final. But the game will rely on content mostly to get enjoyment out of it.

girl_menu_bg

I am streaming the development of the game on my twitch stream

I am using the new Godot 3.0 for development. I am used to making things in Godot 2.1.4 but this version is similar enough.

I will need to brush up with some tutorials in order to develop better character controls with this game. So far, this first iteration will be a one-room shooter with enemies coming in waves.

That’s all for now. I’ll post some updates soon as things progress.

-Zach

Krass Jam 3! Mid way progress report.

shark_render_simple_1

I am in the middle of a game Jam! Krass Jam 3!

You can check out the Jam here: https://itch.io/jam/krassjam3

Yesterday I worked on the main game elements such as the title and three ending screens. And finally I modeled a low poly shark and made a tank to put it in.

The final result for yesterday looks like this:

sharktrainertitlescreen

THREEsharksintheTank

I managed to get the sharks moving around and bumping into the walls just fine. I might add in some random up and down movements to make it look like they are more alive.

Today I have to model the diver and then program in all of the other game logic.

Good fun!

But I am off to the park first to look at the plum blossoms.

Cheers for now!

Godot 3.0 First Impressions

Last night I tried out Godot 3.0 for the first time.

I had been using Godot 2.1.4 for quite some time. And I was really excited to learn all about the new tech. When I saw the post that Godot 3.0 was launched I couldn’t believe it! Godot had finally come! I thought it would never come!

Godot 3.0

Godot 3.0

The one thing that I am very grateful for is that the developers said a long time ago that this update would break code.

When I was learning how to use Unity, they had made some very big changes when changing versions and It just broke all of my code. As a learner this was very frustrating. The code in tutorials broke and I had to look elsewhere to learn what to do.

With Godot, this is different. Everything is very intuitive to use. I can easily do what I need to do and figure out things with the built-in documentation. For a complete beginner to programming, Godot still has a good learning curve, but it is not as steep as Unity.

And that’s why I ditched Unity. My code kept on breaking, and I couldn’t keep up with all of the fancy changes. Also, making 2D games was just clunky at the time. I would go back to Unity if I needed to. But right now Godot has everything I need.

So let’s talk about my first Impressions of Godot 3.0 as an avid user of Godot 2.1.4.

The first change that makes a difference in they way I work is the use of properties and Methods. In Godot 2.1.4 I could easily sling variables around and call functions from anywhere. This gave me great freedom as a programmer. But this freedom makes it easy to write messy code.

Objects should have a purpose. And some methods should be handled privately within the object. In Godot 3.0 I can’t just set an object’s position from another object anymore. The object itself must handle setting it’s own position. I can however give it coordinates from an outside object.

Another big change is the debugger. I can’t seem to find the remote inspector. Maybe they dropped it in this version.

Oh! I found it! You have to go to Debug at the top and click on Deploy with Remote Debug. This will give you access to the remote inspector very easily. Nice!

Remote Debug in Godot 3.0

How to enable the remote inspector in Godot 3.0

Well, I guess they moved things around. That was expected. The new UI is fresh and slick, but it comes with the cost of re-learning where everything goes.

I do wish that the properties in the Inspector were all expanded by default. I don’t like making extra clicks to access my properties in the inspector. Perhaps there is a way to set this by default.

But there is an easy one click solution for each new scene or node that you make. I wish I could set this to the default, though.

Expand All Properties

How to expand the properties in Godot 3.0

 

The types of Nodes has changed a bit and the methods for them have also changed. This is the biggest thing I have to get used to. Many things cross over from Godot 2.1.4, but the updates will take some time to re-learn. All of these changes are for the better.

The only thing that I got myself scratching my head on is what the import tab does exactly. Perhaps if I import some sounds or something it will be more useful.

Oh! I see If I click on assets in my file system, I can reimport them into the system with different settings. For instance, this Image.

What the Import Tab does in Godot 3.0

What the Import Tab does in Godot 3.0

There is still a lot of fiddling around and learning how things work in the new Godot 3.0. I’m happy to be using it to make some games. It’s the best system that I know to make games quickly and thoroughly.

Perhaps after I learn quite a bit more, I can write up some documentation. But for now, here’s my humble little blog post.

Thanks for reading! If you have any questions about the Godot game engine, leave me a comment below! I’ll try to answer as much as I can. This is still very new to me and many other people out there who wanted to wait till the stable version was released.

-Zach