In the previous post we discussed some basics of making a Heads Up Display (HUD for short). In this post we’re going to cover the basics of presenting a health bar in part of your HUD. Again, by way of reminder, we’re using the go programming language and the ebitengine game engine. We’re going to be using the vector package from the ebitengine library to draw out primatives. As well as some basic math that you’ve probably forgotten if you’ve learned it, or don’t know it if you haven’t.
An important part of game development is adding a HUD (Heads Up Display). This helps keep your players informed throughout the game. What are some things that you may want in your HUD? Current Level Score Collectibles status Buffs/Nerfs Other things that are specific to your game If you’ve not been following along with the posts, I’ve been teaching a game development class at a local library. We’ve been building a clone of Sink Sub.
A big part of making a game more enjoyable is adding in some effects. These could be visual, often times called particles, or they could be audio. Our post today is going to be about discussing audio effects. There are a few steps that I always get mixed up when working with audio in ebitengine. First things first If you’re going to be playing audio in your game, you need to get your hands on some first.
I think, before we start looking at an example, we need to discuss what collision detection even is. Collision detection is a set of algorithms that is used to introduce physics into our game world. Specifically the physics of collision. Depending on the game that you choose to make this could look like the player character landing on a platform in a platformer, it could be a weapon hit with an enemy, or running into a boundary in a dungeon crawler.
Just like our previous post on arrays, it is challenging to talk about these concepts in a way that is meaningful. As an aside, I feel that all programming is like this. A new topic can be discussed, but until a real world applicable situation can be talked about in the same context it means less to the learner, making it more difficult to “get it”. I, personally, haven’t used maps generally in my game development journey.
One of the most challenging things for me, in writing these posts, is to cover why something is important. Especially to someone that is just learning and doesn’t have a frame of reference to what we’re discussing. I think arrays and slices fit this challenge well. As conceptually we can cover what an array/slice is, we could even talk about how they are represented in the computer hardware, but until you see them being used they might just not mean much to a new learner.
Hopefully you’ve had a chance to get started with setting up your environment and gone over the basic anatomy of a go program. Those two posts are foundational to getting started with the ebitengine game engine. First off, what is a game engine, especially in the case of ebitengine? What is a game engine When you get started bring your dream game into reality, I’m sure that you’re going to want it to run on as many platforms as possible.
The world of software development is an ice berg. There is always more below the surface. When I started into programming, I didn’t know enough to not know what I didn’t know. But don’t let that get too overwhelming for you. As developers, we can stand on the shoulders of amazing developers that have come before us. How do we do this? Well by leveraging libraries, specifically libraries provided under an Open Source License.
Hopefully you’ve taken some time to go over our previous post, where we talked about data types, variables, and structs. These are important aspects of programming that have connections to many other programming languages (although the syntax can some times be slightly different). Once you’ve understood this aspect of development, it is important to move on and understand what control flow components of your language. This is how you do different things for different situations and separate your code for easier maintenance.
Before you can get started in game development, you need to learn the syntax of our language of choice, go. In this post we’ll be covering the basics of go’s syntax. From what syntax even is, variables and data types, and how we represent them in our code. What is Syntax? If you’re anything like me, you’re probably asking what is syntax? When I first started development, I had that question myself.