Fill out your e-mail address and click submit to join the positech games newsletter!

New Gratuitous Space Battles video…

Filed under: gratuitous space battles cliffski 10:03 am April 30, 2009

I think it’s about time to show people where I am in terms of how the battles look in GSB, although lately I’ve been working on website-integration stuff rather than the battle scenes themselves. This short video gives you a  general impression of how some of the larger scale battles look. You can also see the bits where I play about with the playback time, which is great fun.

Although GSB is really a game about strategy and planning, I know people will judge it at a first impression from how the battle scenes look, which is pretty inevitable, so I’m very open to any suggestions or criticism. The pre-battle configuration and ship-design screens are still a work in progress so I won’t be showing video or screens of them for a while. Everything works, but the exact way in which the GUI will be arranged needs some fiddling, and all of the data is pretty placeholder, so I probably have some hugely unbalanced stuff in there right now.

I’m quite please with how it looks though. If you have a youtube account, please post a motivational comment for me :D

Racial and Ship Bonuses

Filed under: game design,gratuitous space battles cliffski 7:49 am April 29, 2009

Something that went in yesterday, but I haven’t put final data in for, is bonuses for individual ships. The actual ship designs are handled by the player (although the game ships with one sample design for each hull), based upon a range of ship ‘hull’s which determine how the ship physically looks, it’s size and base cost and base power production.

The thing is, given that frigates are roughly the same size as each other, I need reasons that a player picks frigate hull A instead of B, etc. So that is where ship bonuses come in. There are currently five different bonus types, Shields, Armour, Integrity, Speed and Power. So if a ship has a 20% power bonus, any power plant modules on that ship produce 20% more power. The Integrity bonus increases the hit points of every module on the ship.

This system us augmented by additional ‘racial’ bonuses which I’m applying to every hull in a fleet, so all the Alliance ships are getting a 10% armour bonus, for example. Hopefully this means that the different races will tend to use different tactics, and play to different strengths.

The individual ship bonuses will encourage the player to pick specific ships for a task, so one frigate might have a big power bonus, and thus be a good choice for beam lasers.  Another might have a speed bonus, and thus be more use for flying out first to intercept the first wave of enemies, and so on. It also means that a player who prefers armour over shields will tend to pick specific hulls within a fleet. In theory, it also means that when you see the enemy fleet coming, you might eventually get a feel for which what strategy he has gone with by looking at the ship choice (you can’t see the module load-out of enemy ships during battle).

This is the current theory and hope anyway, I haven’t spent enough time configuring fleets and playing full battles yet to get it all tweaked.

Splines and how to sell GSB

Filed under: business,gratuitous space battles cliffski 9:00 am April 26, 2009

I’m looking into using some splines for a few things in GSB. The thing is, I need super-fast splines, which I haven’t found yet. Still… it’s my task for the day.

I’ve been reading more and more about the whole piratebay trial and peoples attitudes to it, and their attitudes to intellectual property and copyright. I’m a strong believer in IP and copyright. I’m glad they exist, because they are what enables people to make movies like Star Wars and TV series like Star Trek. I’m glad we have those things.

But increasingly it seems like it’s the ‘general consensus’ that copyright is somehow evil, and that people should have the right to copy anything they want for free. I find this really sad, because there are only two alternatives for me in the future:

1)Use some really harsh-ass DRM to try and force people to pay for the games rather than pirate them. or

2)Somehow engineer all my games so they are based around being on-line to play them, or micro-transactions.

I’ve always lied the idea of micro-transactions because I believe they give more freedom and options to both the gamer and the developer, as long as you can’t ‘buy’ an advantage in a multiplayer game. However, the idea of designing a game to be always-online annoys the fuck out of me. A lot of people have flaky web connections or game outside or on the train, and it also means I have all those people hitting my server all the time they are playing. Plus it means doing a ton of web coding I don’t especially enjoy.

Ironically, there *is* a lot of really cool ways to integrate GSB on-line, which I have at the back of my mind, and would probably do anyway if I was more familiar with web coding. Unfortunately, I’m now looking at this sort of thing as essential and inevitable because I just don’t think you are going to be able to sell singleplayer games on the PC within a  year or so. Stardock recently discovered that even original PC strategy games without DRM get pirated to oblivion, and supposedly stardock are the good guys.

I like singleplayer offline games. I just wish our friends in sweden and their pals hadn’t done such a good job at making that whole genre almost unsellable :( Nice work guys…

Emergent L33tness

Filed under: game design,gratuitous space battles cliffski 6:03 pm April 23, 2009

I was just testing a new laser blast graphic I added to the game, and had two big fleets of cruisers and frigates flying towards each other blasting away like mad, and noticed that the front frigate (which was under serious attack) seemed to be drifting backwards.

This puzzled me, because although i did once code support for reverse thrusters, I turned it off, and knew anyway that ship didn’t have any,

Then I realised that it was the physics of the blast effect. The number of enemy blasts piling onto the ships hull was not only damaging it big time, it was knocking it slightly backwards. I had forgotten that could happen :D

I wish this game was finished already so I could just sit down and edit some cool videos of stuff like that…

One of the main changes today was for fighters. To get a better sense of huge ships, I scaled all the fighters down by a fair chunk. Now when you add a fighter squadron, you get 16 ships instead of 9, and they are smaller. It does seem to look a lot better. The cruisers never looked big enough before. The AI is pretty fast and it doesn’t seem to matter with a few hundred ships per side, even with all guns blazing.

Things going zap

Filed under: gratuitous space battles cliffski 4:13 pm April 22, 2009

I’ve got lots of minor stuff done lately. Tiny animated welding drones that hover around damaged ships when they have auto-repair systems are now done. Plus I added a very basic scoring UI. (some art, such as the playback buttons need to be done properly. The whole battle section is pausable, and you can toggle the UI off entirely to just watch the fun.

Look: things going zap:

I need video clips of amazing space battles. Or decent hi-res images. Post any links here if you have them.

Gratuitous Empire Selection

Filed under: game design,gratuitous space battles cliffski 1:51 pm April 21, 2009

I’ve got a new ship added today, plus fixed some turret-related fun, and got the interface in for the race-selection screen, where you get to actually choose who to fight as (subject to unlocks). Small screenshot below:

Because that sort of thing isn’t as much fun as coding new weapon types or improving the visual effects, I might treat myself to improving some graphical stuff for the rest of the day. I’m looking forward to the time when all I have to do is balance the weapons and arrange basic ai fleets to fight against, but I suspect that it’s a long while to go yet.

Difficulty levels and other ‘wrapper stuff’

Filed under: game design,gratuitous space battles cliffski 5:53 pm April 20, 2009

I’ve been trying to avoid acting too much like a graphics junkie and getting some work done on the gamey stuff instead. I’ve put in difficulty levels today, and also made some decisions regarding what race of aliens the player controls.

The main part of the game currently has ten missions, basically defined by a certain backdrop, of a certain size (some maps are bigger than others) which some other variables such as nebula effects on shields etc. These levels also define the maximum fleet size (in ship and pilot terms) and which race the player fights against.

So today, each of these missions has three enemy fleets rather than one, the normal, hard and expert AI fleets, which are of differing sizes. Obviously the bigger fleets are harder :D . During combat, the enemy AI is the same as yours, so the difficulty comes purely from the force that is fielded against you. I may get around to the AI evolving its own fleets, but thats a whole can of worms.

There will be some ‘other stuff’ that will give the game longevity beyond those 3 fleets in 10 different missions, but I’m not talking about that stuff yet :D

The other thing decided today was that the player will fight the game as ‘the federation’ which is a ferengi inspired race whose backstory I’m still mulling over. Once you have beaten every mission on Normal, you will unlock the Rebels as a selectable playable race for each mission, beat them all on Hard and you unlock the Alliance, Beat them all of Expert, and you unlock the Empire. That’s the plan anyway. Any thoughts?

Today’s worklog

Filed under: game design,gratuitous space battles,programming cliffski 5:27 pm April 16, 2009

8.00AM: Clement Freud has died. He gave me an award at my secondary school many years ago. He was very short. Also he was very funny

9.10AM: All the business email stuff is dealt with, time to start work on putting one of the new ships into the game, one I have declared to be the ‘Imperial Centurion Cruiser’. It looks badass

9.50AM: Most of the graphical stuff is done and dusted. Now I just need to add in the data defining this ships damage textures and module slots, and get it tested and in game

10.30AM: The Centurion cruiser is done and looks great in game. Took a screenshot to give feedback to the artist. Everything seems to look ok, so I don’t need to go back over any artwork. Plus the multiple beam lasers look fantastic. I’m pleased

11.10AM: There is definitely a shutdown problem with the game. Dev Studio churns for ages. Must be a huge and new memory leak somewhere. Damn.

11.50AM: It’s definitely a bug with the main battle screen. But where? The sound? graphics? AI?

12.00AM: Interrupted by door to door salesman, thus killing my efficiency. Time to release the hounds.

12.20PM: I suspect this isn’t a memory leak, but just my debug output backing up bigtime because every time I create a blast glare effect (also used for non-penetrating shield impacts), I tell the debugger about the texture I used. Clearly this code is inefficient anyway, because with dozens of the smaller glares I need to have that texture cached, not be looked up so often. The game now shuts down fine in debug, but I need to fix the underlying inefficiency. In fact, it’s worse than I thought. I need a newer, efficient system for shield impacts

12.35PM: Works fine but forgot the original texture was a quadrant and this one needs not to be. redoing it… Also just spotted a graphics glitch with the con  trails pulsing on and off.

12.45PM: Having crash issues when trying to do some profiling, Grrrr. I will mull it over some wii-jogging and a cup of tea.

1.30PM: Still can’t get profiler to not crash. Time for tea.

2.20PM: it now crashes somewhere else. progress?

2.50PM: Sod it, I have a workaround, and bugs to fix. some lights in the wrong places, and an idea on how to make drawing running lights faster if they are zoomed out. (check rendered size > 1 pixel BEFORE checking if onscreen, which takes longer).

3.30PM: The debug copy no longer links. some obscure ANNOYING linker error to do with debug and not debug Microsoft crap. Very tedious and I’m not getting actual game stuff done :(

4.14PM: Think it’s fixed, plus I tracked down the flashing con trials bug. It was me not setting the render mode correctly before I drew them, and them getting drawn early if they filled up a vertex buffer before I was ready to render them all. Good old Nvdia perfHUD was my saviour. Now back to coding fun stuff.

6.25PM: Finally got the linking stuff fixed by a total wipe and rebuild. Grrrr. Next on the agenda is adding some better parallax effects, which are a nightmare with 2D + zoom + variable screen res and scrolling.

Initial thoughts on game AI

Filed under: game design,gratuitous space battles cliffski 9:03 pm April 13, 2009

I’ve thought about the AI for Gratuitous Space Battles a lot. I have a lot of ideas, some of which I’ll sketch out, and some I’m keeping secret for now.

When I say ‘AI’ I’m being pretty nebulous. I don’t use AI in the trad comp-science limited sense of it. I’m talking about the whole matter of computer-controlled opponents. Who they are, how they are selected etc. Because GSB is a ‘hands-off’ battle game (for now), there is an element of determinism about how the battles work. In other words, if you design a fleet, in theory the AI can design one that it is assured of kicking your ass with.

There are many ways it could do this. The most obvious bruet force method is to randomly design fleets and pick the one that beats yours. Another would be to have some initial ‘seed’ fleets and do a genetic mutation – evolution algorithm to deduce the ultimate fleet against yours.

However, while I want a challenge, I don’t want you to be beaten every time. Plus, the ‘problem-space’ is colossal, way beyond chess, because there are maybe 40 hull designs, maybe 100 ship modules, near infinite combinations of ships and modules, and that’s before ship placement or ship-behavior/instructions. It’s not possible for the AI to beat your fleet using deep-blue style iteration of possibilities.

So there is a good chance the final AI will be some mixture of pre-designed (by me) AI fleets, combiend with an element of letting the AI battle several thousand slightly randomly mutated sample player fleets, and improving on my initial design.

I’m sure everyone has lots of ideas of where else to go with this, such as machine learning, copying player fleets etc. Needless to say, I’m mulling over them all :D

Space Hulk

Filed under: Uncategorized cliffski 5:40 pm April 11, 2009

I’m testing some stuff where after a big cruiser gets blown apart, there is a drifting blackened hulk of it still floating in space (in 2 or 3 big pieces). It still needs some work but it doesn’t look so bad on a grainy video :D

 

If you like it, rate it :D
Cheers

Next Page »