CategoryCoding

My server setup

M

As part of the Battleship series, I will cover a bit about CI/CD and TDD. For that part, I will need to go over Drone CI and how I have it set up. However, before getting there, I wanted to cover my current server setup. It might prove useful for other web developers wanting an easy way to self-host their websites, portfolios and CI/CD pipelines. Some considerations first. I have a full bare...

Battleships – Intro

B

As it happens, I’m looking for a job again. Things are not great in the developer market at the time of writing. There are fewer and fewer positions for less money than a few years ago and mostly none of them are in PHP. So I have to finally make the transition away from PHP as I have been planning for a few years now. I do have some experience with C# and the larger .NET ecosystem but a...

Camera space scaling

C

During the development of my new game currently called “Space Pew” I’ve come across a somewhat interesting problem. I wanted to have the ships the player will control take a certain percentage of the screen. Essentially, when the longest axis of the ship was aligned with the smallest size of the screen, usually height, the first should be between 20% and 80% of the latter.By...

A new journey

A

After a few months off where I took some time to focus on my personal life (moved house amongst others) it is now high time I return to game development. Over the past few weeks I have been experimenting and building a few prototypes around a new project that I want to build. This is going to be something way smaller than the proejct I was working in January. It will be more focused and hopefully...

Prologue: Closing words

P

We’re nearing the end of what I’ll call the prologue of this series. We’ve covered some basic implementation, some basic physics and there’s two or three more things we need to cover before we can go into building this game. Let’s start with talking about the scale of the game. Given that the goal is to be able to simulate an entire galaxy, with more or less a few...

Integrating the future

I

Last time we went over the orbits and everything nice that comes with it. Whilst implementing the code for those calculations I’ve observed something peculiar. The orbits the objects are following are more or less the same as the ones calculated in the initial state, but not quite.Naturally, I went debugging, and everything seemed fine. Still, the bodies would slowly drift out of their...

Elliptical orbits summary

E

We’ve covered a lot of things over the past few months. Mostly about gravity and gravitational attraction. We’re going to switch gears now and talk about orbits. Let’s start with the limitatons of what we’re trying to achieve:– the orbits within a solar system are coplanar (within the same plane)– orbits are elliptical and stable, circular orbits being a subset...

I lied, there’s more physics

I

Last time we wrapped up the basic implementation of all the building blocks we need to be able to create a solar system and update it at a data layer level and then render it in Unity. This time we’ll start focusing on how we’re actually going to create these solar systems.The end goal is to be able to procedurally generate them from scratch. Before that though, we need to be able to...

Simulating the solar system #2

S

Now that we have the basis set up to start simulating the solar system it is time to get into more interesting bits.I’m going to write a quick updater that will update the positions of these bodies from their start one whenever the game is started. Very important here is to keep in mind that this updater will run in paralel in a different thread than the Unity one. This allows us to decuple...

Simulating the solar system #1

S

Last time we left off having figured out what the physics equations behind everything will look like. Now it is time to get to coding. First off, I like to keep my code separated into small classes/components each doing one very specific thing. It is suprising how many complex behaviours can be broken down into these very simplistic components. Let’s make sure we have a way to reference...