Tea ‘n’ Cake


Droning On

This week the accompanied video was recorded on Ben’s machine rather than mine. He was also kind enough to do the editing which is why the video is of vastly superior quality to the usual bare bones rubbish I upload.

The reason for this is that the game is currently in pieces on my machine as I’m integrating a bunch of stuff I had been doing behind the scenes in order to move the game onto its next stage of development. It shouldn’t take more than a couple of weeks now depending on what Art I put in before showing you things again, but what this means is that the above video will be the last time you see a video of the game that looks like this. The next video will  be the result of a game changing upgrade… I do mean that in the actual literal sense as I’m changing the game significantly. Not in its essence, just in it’s… well, let’s not get ahead of ourselves because I could still screw it all up.

Last week I talked about the A.I. and the week before that I talked about the entity controller. It was before that I was talking about weapons. You might remember that I mentioned that we were capable of making weapons that launched projectiles that were themselves weapons that launched projectiles. Naturally this has reached its obvious conclusion… No. Not weapons that fire weapons, that fire weapons, that fire weapons. I mean, of course we did that, but the conclusion i am talking about is that the ship has a weapon that launches another ship.

It could be a fighter, but it isn’t. The one you see in the video is a drone that player 2 controls. There is a technical distinction that and a fighter, specifically being that if the drone is destroyed you can just create a new one later, but if the ship is destroyed the drone stops functioning. If you are a design nerd like me that is a very important distinction to make, but I understand if you tuned out a few sentences ago and only start reading again because I dumped a bunch of exclamation marks here *!!!!!!!!*

DevDiary_Drones

The drone visually is just a copied and shrunk version of the main ship, but that will change in time. There will also be different drones with different abilities, from simple turrets you can drop, to tiny bombers that drop space cheese on the enemies. Possibly not that since I have no idea what space cheese would accomplish other than seem like a waste of cheese.

The drones can also be A.I. or human controlled so there is no there yet either.

Unfortunately as I mentioned before, I had to leave all the explosions and weapons and fancy things to the side for now as I have other stuff that needs functionificated before we can move forward. Odd that google’s spell check did not have a problem with that word.

Anyway. Not sure what next week’s blog will be about. Ben has been learning to art a bit by making new asteroids in 3D coat, so maybe he can write something up about his heretical and  Appallingly sculpting technique of using a mouse instead of a tablet. The end results are fine, so I’ll just grimace and let him get on with it. If you fancy giving us a prod before that. Do so in the usual social media places such as TwitterFacebook, and Youtube. Bye for now.

 

Posted in Tea 'n' Cake | Leave a comment

And Then It Turned on Me!

SpaceTime-FirstAIAttempt

I talked about the entity controller last week, and this week I’m going to talk about it again. Specifically I’m going to talk about thirty lines of code and a public boolean. That boolean is named “Is Human”

The result is shown in the video above, and despite being very rudimentary it was surprisingly effective at offering fun opposition.  Both my kids played against this first pass A.I. and lost in close games.

I then, for amusements sake, decided to spring this A.I. on the most experienced player of the game other than myself. We often test things out by fighting each other, but this time, when I picked up the controller as normal I didn’t ever bother touching it. Ben was under the impression he was still fighting me, Instead he was taking part in a space battle turing test. Ben fought hard, employing many of the fancy overkill weapons he had created, but alas he was soundly beaten 5-2.  It was only at this point that I revealed I wasn’t playing at all. Ben was as you’d expect both shocked and amused, and then demanded a rematch against Eliza.

Ben lost again, but at least it was 5-3 this time and one of the losses was him blowing himself up by crashing full force into a wall. For the sake of winning I joined in as the second pilot on his ship, manning the turret. We won that game after a glorious battle.

This version of the A.I. is very simple, and would only work on  levels that have no dead ends. The A.I. doesn’t have any pathfinding in the traditional sense, just object avoidance which amounts to : If i’m going to crash, slam on the break  and put as many thrusters as possible in the direction of motion to slow me down. Meanwhile, move into attack range and move around any obstacles that come between me and my target.

Apart from that the A.I. Charges it’s weapon and shoots with a small random inaccuracy, and if close enough engages the turret.

It works surprisingly well being both fairly natural looking and a good challenge. The obvious visual difference to me is that the A.I. is far more comfortable drifting than human players are. When it is moving in a manner it is happy with it stops interfering whereas humans tend to (but not always) fiddle with the direction and the thrust. It’s also simulating two people on the ship which means it is pretty good with the turret.

In future, I’m hoping to move away from single behaviour in A.I. play style and also so that the A.I. will change behaviour depending on the weapon loadout. My current thinking is that this lends itself to a multi delegate pattern which will be a nice challenge. For now however it isn’t anywhere near the top of my priority list so it’ll have to wait.

The week after I did A.I. the coding was mostly about sound,  so I might just skip talking about that partly because it doesn’t lend it’s self to pictures well, and partly because I’ll use all the wrong terminology and just sound like the uneducated buffoon that I am. Until then. Do have a poke at us on the social media. TwitterFacebook, and Youtube. Bye for now.

Posted in Tea 'n' Cake | Leave a comment

Talking Ship

ShipStructure

I may go off the rails a little this week, because I’m struggling emotionally to do some things. I’m not having a problem working hard at all, just having a problem bringing myself to stop working on Space Time to do a few other things that need done such as dev diaries/ social media, and continuing the slow work getting the Living Dungeon fixed again. Doesn’t help that each new version of Unity makes additional minor bugs it seems. I’m kind of at a point where I’m seriously considering throwing in the towel on the old Living Dungeon, partly because of the dated code, and partly because my deal with another developer to do the PS4 version was delayed for ages and then fell through. A significant part of the reason being that I helped them get a much more lucrative project to work on so they then didn’t have time.

Shooting my self in the foot by helping people is not a new business strategy/experience for me. I’ve never claimed to be good at the actual business side of things after all. My career generally has been, I solve problems, and sometimes I even get paid for it… sometimes.

So Let’s go back to talking about the picture at the top. It’s a diagram of the generic ship structure in Space Time. Might not actually be the final one either. Just this week I moved the State manager into the Entity Controller to simplify the hierarchy a little. It also means I have a little more control.

The Entity Controller

This is effectively the where the player input, and interruptions to the player input go, before being sent to into functions. As you would expect, everything lower in the hierarchy doesn’t really know much about the things above it. They get commands, and also a few pieces of information passed down such as which team and ship the component belongs to. So the movement etc get told to do one of the things that the movement can do, and does it, unless of course the Entity Controller Ship State blocks that from happening, such as in the case of ionization, which prevents user signals getting to the movement system. This means if you get ionized, you are floating through space for a few seconds. This can happen through weapons or environmental effects such as this test ion pulse I created.

Ionization01

Movement

This section as you might expect controls the ships engines. It’s all physics based which is why you see ship firing rotation thrusters on and off as it calculates how to get to the chosen orientation vector. You can also use the manoeuvring thrusters to make fine course adjustments, but we evilly designed it so you can’t control orientation and manoeuvre at the same time. You can however, quickly choose orientation, then switch to manoeuvring and while the ship adjusts it’s self to face in the desired direction. Alternatively, you can have a co-pilot, because multiple players can control a single ship far more effectively than one.

Health

Health in this context  is the term I just misused to refer to the fairly complex ShipHealth, which is a child of the generic generic Health class. The Ship Health handles standard hull health, but it also handles shielding, and Ionization shielding/damage. It just does it’s  job, sparkles, and then explodes, what more could you possibly want?

Scanner

This is another simple tool that any ship may or may not have. It requests the list of possible targets from the Area Data Manager(A singleton that stores data about the area… and manages it), then does a finite number of checks against ranges and angles to pick a target that is the closest but in another team. It does this periodically, or whenever it loses a target for any reason such as range or the targets death.

Turrets

These are objects that can be rotated by the player, within a certain angle, and at a certain speed. That’s it.

TurretsWeapons

I’ve talked about weapons for the last couple of weeks. They shoot all kinds of things in all kinds of ways. They can be attached to the ship, stuck on a turret, or even fired as projectiles to then fire more stuff. If you want to know more, simply go and look at the previous couple of dev diary entries on Projectiles, and Beam weapons.. It won’t show you everything, but you’ll see the foundations.

Moving On

The Dev diary is still a couple of weeks behind, and me being slow to update won’t help. Even so, I really do appreciate anyone taking the time to read what I write. Maybe it’s interesting, or maybe even useful in some way. Perhaps it’s just a good little bit of procrastination. Next week hopefully I’ll be able to face the demons of the past and get things working again on the Living Dungeon. At least up to a state where Josh can strike the final blow. After that though I have a little bit more tidying up to do on Space Time, and then I can finally move on to the next stage of the project which only a few people know about as I told them after they played the prototype. Specifically  the the incredibly talented, and all round good bloke, Tom Elliott, and the Head of the Games Creation society, Giovanna Mateus.  Hopefully all will be revealed if I am successful in the next few weeks and not to busy burning everything to the ground. Next week, depending on what I’m talking about I might even make a video. who knows, but social media might? TwitterFacebook, and Youtube. Bye for now.

 

Posted in Tea 'n' Cake | Leave a comment

Beaming with Pride

BEEEEAAAAAAMMMMMMSSSSS! Ok. So that one might… and I stress might, be over the top. The point is it’s possible. This, among a few other things is what I did on my last week in China. Pretty much because I love beam weapons. As I mentioned last week. This is a seperate class entirely from the […]

Posted in Tea 'n' Cake | Leave a comment

Projectiles For Days

Well here I am, back in the UK. I love it in Shang Hai, but I’m also glad to be back. The downside of being in China is that there is no access to Facebook or twitter, but the upside of this is that there is no access to Facebook or twitter. I was continuing […]

Posted in Tea 'n' Cake | Leave a comment

Away From it all.

Since I’m in the orient for now, Ben was supposed to be doing a blog post on artistic changes, or at least supplying the appropriate images or gifs. That didn’t happen as he was otherwise occupied, so the only fancy particle effects you are getting this week are the ones made by Apple while she […]

Posted in Tea 'n' Cake | Leave a comment

Progressions

Coding. It’s pretty much all I’ve been doing for the last week. The blog is lagging behind what I’m doing and I don’t feel the slightest bit guilty about it. Not least of all because I won’t be doing anything for the next 2-3 weeks as I’ll be on holiday, far far away in Shang […]

Posted in Tea 'n' Cake | Leave a comment

Confessions

I needed to get this blog out here before I really get down to talking about new things. So I’m wanting to make you all aware of my baggage, or at least a small amount off it. My first confession is that there has been no progress on fixing that Xbox One Living Dungeon bug […]

Posted in Tea 'n' Cake | Leave a comment

Happy New Abstract Time Period!

I hope you have all had a good Christmas and a Happy New Year, whatever you got up to. I spent the time with my family mostly, eating too much, playing games, and generally just having fun. Part of that fun was accepting that I was away from the office and simply couldn’t keep wrestling […]

Posted in Tea 'n' Cake | Leave a comment

A Painful Archaeological Adventure

For the last couple of weeks I’ve spent  most of my time scrutinizing the ancient scrolls. By that I mean editing really really old code from The Living Dungeon. I’m absolutely determined to get it updated on the Xbox but it’s a huge task.  The code was not the best to begin with as Chantelle […]

Posted in Tea 'n' Cake | Leave a comment