Game Design, Programming and running a one-man games business…

The Gratuitous Space Battles 2 Particle Editor (so far)

I recently got far enough in GSB2 to start fiddling with the particle effects for various things, and various low-level engine changes mean all of the particle configs for the original game are kind of screwed up and don’t really work right with this engine, so they all need re-doing, which is fine, as CPU/GPU horsepower has risen enormously since then, and it would be good to up the detail count on them anyway.

This reminds me that I never really had a decent particle editor when I started making Gratuitous Space Battles. it was all pretty poor. I had a MUCH better one for Gratuitous Tank Battles, (Which actually used two entirely separate rendering systems for different particle effects…) but ideally I wanted something I could have integrated into the game as an easy to use tool, maybe not for public consumption, but who knows?

Anyway it took me a day to knock this up: (click to enlarge)

editor

Which isn’t too bad given I use my own GUI code, and it gives me a very easy way to stay within one project and one app, and have the source code for the editor readily available, and using the same functions as the actual game, so if I update the particle engine, it’s updated everywhere. I now need to go and create some cool particle effects with it, but obviously that’s the fun part!

My approach to particle effects is pretty simple. I have discrete LODs for some of the more expensive effects, where if you zoom in, a more detailed effect with a lot more particles will appear. That certainly isn’t as smooth as it could be, and of course ideally it would all be procedural and algorithmic, but that sounds like a bit of a nightmare. Expect a smorgasbord of screenshots and videos eventually when I get the hang of using it properly :D

 

GSB 2 Shields

I’ve been working away on GSB2 while I wait for some people to do work for the Democracy 3 Extremism expansion. There isn’t really enough polished stuff to show to people yet, but I have got quite a bit of extra fluff sorted out. One thing I’ve got vastly improved is shields. In GSB 1, shields were basically assumed to be a sphere around a ship, and things impacted on the outer shell like this:

gsb1

For GSB2 I wanted shields that reflected the shape oif the ship, and eventually concluded that a combination of a grid (or in this case below, hex pattern) a blast texture and the alpha map of the target ship would let me convey the idea that a blast was absorbed at the last few millimeters by a tight ship-hugging energy field:

gsb2

It looks much better animated, as usual. it really works very nicely in very dark-battles, and I think it leaves plenty of opportunity for me to customise ships shields using different energy field colors and patterns.

I’m currently working on a combination of better parallax effects for debris and smoke, and also the GUI for choosing missions, which will look totally different. GUI stuff takes ages, and the whole GUI will get a re-design from scratch. I’m just working on the basic systems right now. With the battle effects, the module mechanics re-write, the online challenge system to revamp, steam achievements and so on, there is a ton of work to do, without considering new sfx and music… Still it’s definitely making progress and I’m still aiming for late 2014.

 

Bloom occlusion in GSB 2…

This has taken me all today and part of yesterday to get working. And no it isn’t final, and no, it isn’t optimized yet. And yes, it probably should have been easier. That little asteroid is occluding the bloom flare from that engine. You can see the non-occluded one above. Took me ages, and about a million lines of code. Arrrghhh. Click to enlarge…

occlusion

 

Visual experimentation

I’ve spent the last day or three experimenting with various visual effects for GSB 2. This is kinda fun, but I also think its quite productive. If i was making the game using Unity or some other engine, I’d just pop along to the asset store and browse the effects other people have written and bung them in. Job done, ship the game.

I can see why a lot of people are attracted to doing that, but personally I’ve found rolling my own solutions to be much more rewarding, not just as a coding geek, but from a game design and visuals POV. The lighting effects in GSB 2 will not be the standard Unity effects, or the same effects used in any other engine, ever. they are unique to the game. They may not be ‘radically different’, but I think the distinctiveness helps. Sometimes i end up coming up with pretty wacky solutions to problems which allow me to include features in an unusual way. I think it’s a really good thing for different coders to be approaching each problem in a different way, after all we are supposed to be creating original, and distinct works of ‘art’.

When big movies add special effects, they don’t often copy and paste effects from other films. Arguably Star Wars has already done ‘lasers’ so you could theoretically just copy them. The problem is, you never get innovation that way.

I just watched ‘The Forbidden Planet’, a classic 1950s sci fi movie. it was the first sci-fi movie to have an all electronic soundtrack, which was amazing at the time. It’s cheesy as hell now. I bet one of the reasons for it’s success is how different it sounded as a result. they had to work out how to do that from scratch. Then sci fi movies all tended to sound the same and become tedious until Star Wars, when George Lucas decided classical music could work with a futuristic movie. Now, ALL movies copy that idea.

It would have been easier, simpler, and cheaper, and much more in line with what the audience expected if those innovations had not happened. But when they get it right, they get it right big time. I doubt that GSB 2 will change the future of gaming, but I like to think that by occasionally approaching things from first principles and hacking my own way to make things happen, I’m at least ensuring there is some variety in the way stuff looks.

Robbie_Forbidden_Planet

BTW… On the topic of Robby the robot, what a flipping layabout! He is , if you read-between-the-lines a nightmare to work with. First he does this whole ‘Sorry I was giving myself an oil-job’ excuse (yeah whatever), when he can’t be found when called, then he mocks and sounds incredibly put-out because he is asked to make a new dress. then later, he tells the crew ‘if you need anything, use the beamer’ without ever explaining where or what that is. Plus he moves at about the pace of a snail. if I didn’t know better I’d think he did that deliberately so everyone got sick of asking robby to do something and did it themselves.

‘if you need anything in about 6 hours, use the beamer, otherwise you might as well do it yourself’.

Bah.

UK Tax breaks, great…but what a mess it could become…

I’m against tax breaks. that makes me a pariah amongst UK games industry folks. I’m, not against these tax breaks, I’m against ALL of them, especially the French, who frankly wanted to have them, but deny them to us. Fuck that. But I’d be happier if no video game in any country had them, as they are a distortion that is unwelcome. However, in the real world, we have to compete so…yay? I bet it’s impossible to ‘game’ them right? No new tax law ever has loopholes, thats why Starbucks and amazon pay the same tax rate as me! Lets try anyway…

“3 points if at least 66% is set in the United Kingdom or another EEA state or set in an undetermined location;”

CHECK! GSB2 is set in the star system Zog, so that is an undetermined location. pretty british so far…

“if there are only three characters depicted in the video game, 4 points if two or three of them are from the United Kingdom or another EEA state or from an undetermined location”

CHECK! I’ll get some tiny 32×32 faces drawn of 3 alien dudes who help with the tutorial. They are from Zog, which is undetermined, so yup, pretty british…

up to 4 points depending on the percentage of the original dialogue that is recorded in the English language or in a recognised regional or minority language as follows

CHECK! I have plans for zero dialogue, so I can state on oath that 100% of it was recorded in English.

2 points if at least 50% of the work carried out on any of the following is carried out in the United Kingdom

Ok, lets try to define 50% of the work. By time? by cost? By talent? by final contribution to the game? And lets define ‘carried out in’. If I have a design meeting over skype, where was that? here? the other guys place? skypes headquarters? the nearest fiber cabinet?

(a) 1 point if the project leader (or, if there is more than one, the main project leader) is a qualifying person;

Well thats me, so CHECK!

(b) 1 point if at least one of the scriptwriters (or, if there are more than three, one of the three lead scriptwriters) is a qualifying person;

Scriptwriter? is this a movie now? OK, I will write some dialog for the tutorial so thats me too. CHECK!

(d) 1 point if the artist (or, if there is more than one, the lead artist) is a qualifying person;

Yup, CHECK! Thats me too. I don’t get my hands dirty with actual art though, as lead, I hire other people to actually do my work…

(e) 1 point if the programmer (or, if there is more than one, the lead programmer) is a qualifying person;

(f) 1 point if the designer (or, if there is more than one, the lead designer) is a qualifying person;

(g) 1 point if at least one of the heads of department is a qualifying person;

(h) 1 point if at least 50% of the development team are qualifying persons.

Wow, that was an easy four points, as all those people are me too. As department head, and half the team, lead designer coder and artist, and scriptwriter, yeah, thats a lot of points.

So far so easy, now how much do I actually GET?

In summary, the relief allows a company to make an additional deduction in calculating the profit and loss of a game development project.
Righty ho. This isĀ  going to be hilarious. So a game development project is already crazily hard to define. Is this engine work, or project work? What if I’m coding a routine used in one British and one non-British project? do I still claim the costs of writing that function? What is really an expense for this project anyway? My salary? do I need to keep a time log of which project I’m on now, for the Inland Revenue? If I have a business lunch where I discuss 2 different games, do we split the cost depending on which one was discussed the most?
If I run a generic ad campaign for my website that has 50% British and 50% non British games, is that an expense? is the marketing budget included? Define dev budget vs marketing budget for this purpose.
Lets now have a laugh with income from the game.
If I have 1 British and 1 non-British game in a bundle, do I split the profits from the sale 50/50? Ok cool. One of them is GSB 2, one of them is a pong clone I set in piccadilly circus and coded in 5 minutes that’s bundled with GSB2, so lets split 50/50 right? You think that’s unfair? Prove it.
In fact I might only sell bundles of my games from now on, all bundled with piccadilly-pong, so all of my back-catalog is now British too. Yay!
Some of this might not work, but some will, and people whose entire job is to find exploits will. So the 2 pages of tax-code for this ‘relief’ will become 200 pages, and at that point one-man indies won’t be able to justify the bureaucracy of claiming.
I’d love to be proven wrong…