Archive for the ‘Uncategorized’ Category

Even more not dead

Friday, October 25th, 2013

Okay, so it’s been a year. In my defence, I’ve been working on real, grown-up stuff that people actually pay me for during that time, so I’ve not really had the opportunity to work on what is essentially a personal project.
However, I have found myself with a bit of time recently, and have been contemplating some of the issues I had previously had with Dreadnaughts.

 

Firstly, I put it together in Javascript. Javscript is, frankly, poo. Using C# in Unity is a far better method and, by happy coincidence, what I’ve been using for my Augmented Reality work. So anything I did would involve rewriting the code in C#.

 

I also had a good think about how it all works. Dreadnaughts is a very simple concept, but it relies on some horribly complex methods to make it all work. So simplification is the next order of business.

 

Bearing in mind that while I have some free time to work on it, I don’t have a lot of free time, I’ll be working on rewriting small bits as and when I can.

To this end, I have tackled the turrets. Previously, they didn’t really work properly. All they have to do is to track the player and shoot at them when they’re in range, but within a limited range of movement (turrets should not be firing through their own ship!) and it was all a bit of a shambles, really. I did get it to a working state, but I have no idea how, and that’s not a good thing at all.

So I rewrote the code for tracking and constraining, and it works perfectly. In three lines of code. So that was splendid.

The rest of the turret code was shambolic, however. I had one master script for each turret, one for the rotating base, one for the rotating barrel and one for the muzzle. The master script had to find all these scripts at runtime, and then spend all its time sending them information (this is your target. You can fire now, you can’t fire now etc) Inefficient doesn’t begin to cover it. So I rewrote the whole caboodle to put it all in the master script, where it’s all very happy and about 5 million times more efficient than previously (estimated)
Next up is to change the way the turrets fire – they currently launch projectiles which is particularly messy in the case of the concussion turret which is a rapid-fire minigun. Each projectile is a physically-simulated object that has to be kept track of, and that can be a lot. So instead, I shall employ a raycasting approach, where the turret draws an invisible line to work out if it’s hitting the player or not, while launching particles that look like bullets as a purely visual effect.

Not dead

Tuesday, September 4th, 2012

Just a brief hiatus for the school summer holidays. Three kids plus game development equals…well, three kids. It’ll all be over very soon.
I’ll be setting up a page on  Steam Greenlight very soon, which will coincide with a trailer, gameplay videos and screenshots.

Plus I’ve come up with a few other things during the downtime. Competitive (versus) multiplayer? Could be…

Alpha news

Friday, July 27th, 2012

As far as I’m concerned, Dreadnaughts is now officially Alpha. I cleared my pre-alpha todo list, and then set about testing with the first large-scale Dreadnaught. It wasn’t without its problems – in fact, it didn’t work well at all. Each component, rather than looking locally for other components to affect, was instead picking up every single component in the scene (over 500 of them!) which was leading to some seriously silly numbers, like 15000% shield boosts!

Anyway, that’s been fixed, other minor issues that have cropped up have been fixed. For all intents and purposes, Dreadnaughts is playable. Nowhere near feature-complete, but on its most basic level, it can be played – I can generate a Dreadnaught, I can fly around and try to blow it up, and it will try its hardest to blow me up (usually succeeding!) The components all interact correctly, turrets shoot, fighters fly and shoot, and it’s all looking good.

So what’s next? I’m going to playtest it to death, fixing and tweaking as I go, then pass out a build to a few trusted people so I can get some third-party feedback. After fixing the issues that they find, I’ll move on to making a stress-test build, to see how well Dreadnaughts will run on a variety of hardware. After that, I’ll start to add more of the features that I’ve marked down as being for the beta. Features like more player fighter types and weapons, multiplayer code, improved Dreadnaught generation (branching, outriggers, more interesting shapes) etc.

In the meantime, I’ll also try to make a nice video/trailer. I’m not sufficiently happy with the way the alpha version plays yet to go broadcasting it round the internet, but soon.

For now, you’ll have to be content with the updated About page, which goes into a bit more detail about how Dreadnaughts works. I’ll also make regular Twitter updates whenever I do anything, and I’ll also attempt to answer any questions directed to me there.

Progress update

Monday, July 16th, 2012

Still progressing towards alpha. I’ve rewritten the code for the weapon components.
This allows for a far more flexible approach with the turrets, and the possibility of adding more turret types later on.
In addition to the basic laser turret, which tracks the nearest player and fires Star Wars-esque beams at them, I’ve now implemented the concussion turret, which fires a fast stream of low-damage projectiles that push the player. Next up is the beam turret, which will lock onto the player if they stay within range for more than a few seconds and hit them with a heavy damage beam.

An interesting idea we’ve been considering is to have the Dreadnaughts prioritise their targets based on the abilities of the players. So if one of the 4 players is significantly better than the others (as measured by accuracy, average survival time etc) then the components would focus on them over the other players. This should help to keep games relatively evenly-matched and, we think, make it fairer. We’re not talking a massive percentage difference here – just enough to take the edge off.

I’ll try to get the website finished this week. I’ll write up a page with an overview of Dreadnaughts as a whole, along with details of each component and what they do.

Milestone

Monday, July 9th, 2012

Approximately 2 years ago, I made this video:

It’s pre-rendered. That is, I made it in 3D Studio as a visual proof-of-concept for the Dreadnaughts (then called Eclipse) project. At the time, I said that when I could recreate this video in a game engine, then I would be making great progress. Today, I achieved it. In fact, I surpassed it – all the components work as they should.

Two years may sound like a long time, and I won’t disagree. However, for 18 months of that, I’ve been reliant on other programmers to do the coding for me, and very little (ahem, zero) progress was made. Since I took the plunge and started coding myself in February of this year, I’ve achieved what I consider to be a vast amount. I’m quite happy to acknowledge that I’m not the world’s greatest coder but hey, it works. And it’s immensely satisfying to know that I’ve done it all single-handedly.

So, next up is the playable alpha. I’ve got a few things left on my todo list to achieve that, and that’s another major step forward.

Time for a celebratory cup of tea!

Dreadnaughts?

Monday, July 9th, 2012

Dreadnaughts. Dread naught. Fear nothing. Traditionally, big, bad naval vessels.

So, when making a game about really large spaceships, Dreadnaughts seemed a pretty obvious choice.

But what is it?

In a nutshell, Dreadnaughts is a co-operative multiplayer game, where players team up to destroy some seriously large enemy spacecraft – the titular Dreadnaughts.

Each Dreadnaught is comprised of many copies of multiple components, each one serving its own function. Weapons, shields, sensors, hangars, cargo, repair systems (so far)

Some components affect each other. Shields strengthen the components around them. Sensors improve the accuracy of weapons etc.

Each Dreadnaught can contain up to 1000* components, in various configurations. In fact, the Dreadnaughts are procedurally generated – they can be entirely random, or the generation can be controlled via a series of value sliders, or even from a seed, such as a word, phrase or number.

Players can upgrade their fighters and weapons as they play, but they will have to work together in order to take down each Dreadnaught.

 

 

*Quite possibly more. By a factor of 10.