A geek of the highest order, Terence speaks a great number of (programming) languages and dabbles in a couple of tech fields. He writes about common problems programmers come across in this blog.
In earlier parts of our series, we only implemented 6 different stats on our player. Vampire Survivors, however, has many more stats than that, so in Part 15, we created a newer way to manage stats that made it easier for us to add more stats in the future.
In this part, we are going to add these stats, and create a new, dynamic, and extremely easy-to-use UI element that will automatically update itself whenever we add new stats, so we don't have to create a new UI setup whenever a new stat is added.
Update 18 February 2024: Added a new section to fix a bug with the health bar not updating after picking up a health potion.
If you've been following our series for some time, one thing that you will be aware of is that our pickup system is a little janky, because sometimes our items will miss the player if he is moving too fast, or moving at an odd angle (thanks to g Dni for pointing this out).
After the previous part, where we revamped the weapon system, we will be fixing some bugs with our weapon system. Following that, we will be creating some of the more commonly-seen weapons in Vampire Survivors.
This part of Vampire Survivors has been 2 months in the making, and it contains enough content to be split into 3 or 4 parts. Nevertheless, I decided to release it as a single part because there was no natural place I could split this part into.
This part contains a lot of advanced coding concepts that can help you take your programming to the next level if you've been following our series, because it contains a lot of reorganising of code to make our game easier to manage. At higher levels, good coding is often a matter of organisation rather than knowledge, because organising your codebase well will allow you to very easily create new content; and a poorly-organised codebase will be hell to work with when you create a lot of content. Hence, this part will be very helpful to those of you looking to take your coding skills to the next level.
In Part 15 of the Vampire Survivors series, we will be covering the rework of the weapon system so that it will be more flexible and intuitive to use. In essence, we are making the weapon system more integrated, so that our weapon data files will not be spread across multiple prefabs and data files:
Instead, we want all our level data, as well as our weapon evolution data, to all be kept within a single data file:
Update 22 January 2024: There was a bug in our Virtual Joystick Pack that we’ve fixed. If you were having problems getting the joystick to work after exiting the game and restarting it, please redownload the pack and reimport it into your project.
Implementing Mobile Compatibility is a short series of articles that will complement our main Vampire Survivors series. As the name suggests, in this series of articles, we will be exploring how to bring mobile compatibility to the game that we have been building in our main series.
Specifically, in this article (and the accompanying video that will be released soon), I will be covering — in general — the things to consider when introducing mobile compatibility to a game, as well as how to port the movement controls (the only mode of control in the game) to a mobile interface.
If you’ve ever used a Rigidbody component in Unity, you may have seen a couple of settings on the component which may be a little difficult to understand the meaning of. On this site, we have covered what some of these settings mean and what they do, such as:
The Collision Detection property, which controls what kind of collision detection mode your Rigidbody is using. This is because using the wrong Collision Detection mode can cause tunnelling.
One of the most common questions I get from students looking to build a platformer is this: how do I build a moving platform in Unity? Well, if you are looking for code that you can just copy-paste into your project, look no further.
If you are dynamically generating strings in your Java program, one of the best things you can do for your program is to build your string using a StringBuilder or StringBuffer, as opposed to using a regular old String.
The reason for this? In Java, strings are immutable, and every time you concatenate a string that the program hasn’t seen before, a new string object is created and stored in the heap. This means the whole process involves a lot of reading from and writing to the memory. The StringBuilder and StringBuffer in Java are objects that are designed to do string concatenation in a more efficient manner, but how much more?
We’ve got a simple Java program here that you can run from your browser so you can see it for yourself.
Over the weekend, I was tackling a client request requesting for us to help modify their WordPress backend so that when writing posts, the Gutenberg Editor will automatically convert consecutive double dashes -- to an em dash — character.
It was a particularly difficult task for me, despite having coding in WordPress for many years, simply because the Gutenberg editor was relatively new, and there is very little documentation regarding it.
At the recommendation of a fellow web developer, I’ve been using the Astra theme in WordPress to develop Terresquall’s client websites for years now, and it’s been by and large a positive experience. Astra is a very versatile theme that can be used to build many different kinds of website, and their paid Astra Pro plugin adds even more customisation options, allowing for even more rapid customisation options.
If you are building your site upon the addition features that Astra Pro provides using a child theme, however, customising Astra Pro templates can be a bit difficult to do, because there isn’t much documentation about this.