As-yet unnamed space shooter

Okay. Attached is a .blend. This (rather embarassingly) represents the sum totality of what I have learned to do with the BGE over several weeks. This file is a sketch - it was me sounding out both the engine and the game I wanted to make.

Arrow keys - steering
A - roll left
S - roll right
D - forwards
F - backwards
Space - fire
Tab - toggle 3rd/1st person camera

Without mincing my words, the file looks like pig. I worked in GLSL mode without really thinking about it, so now Tex Face and Multimaterial are almost impossible to play in. Pretty much nothing’s textured and the models are either placeholder shapes or lots of Ctrl-J’ed geometry.

Coding-wise, I was pretty much making it up as I went along…

Play-wise, there’s plenty of bugs. Explosions rather surreally just float there and recur, the homing missiles don’t home, and the 3rd-person cam script is aggressive and schizophrenic. I have no idea what to do about this.

But that was the test, the dummy run. I’m now intending to start making the actual game.

Concept art will follow, once I’ve steeled myself to the onerous task of getting my Intuos4 working with Ubuntu. But here’s a (much less fun) text brief:

It’s basically going to be a 6dof space shooter. Descent, in other words.

I’ve several levels planned - a CERN-like particle accelerator circuit, a Coruscant-style future city, an orbital shipyard, a ‘highway’ along the length of a space elevator, etc. etc. For the moment, I just have two goals: finish one level (CERN) and have a library of ships and scripts that can be reused to make future levels (the Yo Frankie! approach.)

Player concept:
Your ship initially has a weak default weapon and weak default shields;
Each powerup is both a weapon and a shield - you get the weapon until the shield runs out, then it vanishes and you’re back to the defaults.

Ideally, the game should monitor how you’re doing and keep score - so when you’re doing well it rewards you by spawning more powerful weapons.

Baddie concept:
I want comparatively few, but ‘heavy’ baddies - ones that the player can’t just blast out of his way, ones he has to properly spar with.

Each type of baddie with have its own AI with its own distinctive personality. Some will be aggressive in packs, some will lurk under cover and ambush the player. Some will prefer strafing in waves while some will take evasive manoeuvres and dogfighting with the player.

(Toying with the idea of the game also spawning harder baddies based on how well you’re doing - eg by tweaking their ship_speed, AI_aggression, etc variables.)

I have a few ideas for baddie models, will sketch/scan them when I can.

Level concept:
My basic plan is for all levels to be ‘open-plan’ - no linear gameplay, just a bunch of locations/circuits with a massive great boss in the middle. The idea is the player flies around the level to get powerups and then goes to challenge the boss for a few rounds, then retreats and recovers by playing through the level again.

There might even be one. But it may not make all that much sense.

I realise that this is all just text at the moment - and a lot of it at that. I hope to get some concept art up when I can, pending Ubuntu/Wacom cooperation.

The bad news is, this is a spare time project, while I have a full time job and revision to do for university. Am also living with a family, which means I’m liable to be whisked off to summer holidays or days out without notice or consent. Updates may be infrequent or sporadic.

Usually I don’t really post stuff on these forums. For modelling/animation, there’s plenty of documentation and I can usually work it out on my own. For this project thought, I’m pretty sure I’m going to need the community.

Stuff for which I need the community:

I want this project to be good. Also, I think Descent and LucasArts’ X-Wing were the last games I played, so I’m swine-ignorant as to whether all these ideas have been done fifty times before. Please tell me what do you think of the concept, the art (when it’s up), the models (when I have some), etc…

If I’m honest, I’m hoping making this thing more public will encourage me to finish it and not give up.

I don’t understand the BGE at all… I just don’t have the mindset for it yet. I need somewhere I can ask detailed specific questions, “can I do X?”, and be told either, “No, that’s impossible,” or “Yes, J.Random Dev implemented it years ago, to use it you just do this bizarre and unintuitive ritual.”

For example, right off the bat: I’m currently moving the camera with applyMovement(); I think this is what’s causing the jerky motion. Is there no way I can directly set the position of the camera?

Another example: Just what the hell is going on with those explosions? Anyone ever see this behaviour before? Can you remember what caused it?

Anyway. I’ve written more than I intended to. Hopefully I’ll be able to post concept art tomorrow - or at least a mood board of some kind. In the meantime, if anyone wants to tell me what they think of what’s here so far, please do. Flames welcome - it gets bloody cold in my room.

EDIT: why can’t I upload .blends? Oh well, it’s here:

Very nice, but the controls are a pain. May I suggest a simple W,A,S,D or arrow key movement with spacebar to shoot and q/e to roll?

Ah, sorry about that. Seemed comfortable to me - you have one hand on the arrow keys, the other on ASDF. In the final game the player will be able to set the controls, and use the mouse to look.

If you can be bothered, there’s an Empty called ‘control’ floating somewhere just behind the player. Its properties contain the controls (by GameKey code) so if you know the code for WASDQE you can change them there.

Lol, it is very comfortable, but its very confusing unless you’re used to it, so I had a hard time since I am used to games like Crysis or Far Cry which use those controls primarily.

Also, your enemies continue to explode long after they have died, but it looks like you know that already.

The only thing I could think of is if you are using logic bricks, you have a pulse setting turned on somewhere.

Not using logic or scripting… couldn’t work out either:eek:
It’s just a texture mapped to a plane with ‘Animate’ and ‘Tile’ on in the UV window.

EDIT: Okay, Wacom’s working. Getting the hang of it now.


You’re off to a great start. You have come pretty far if this was the result of the first few weeks with the BGE.

Thank you for posting a blend, that makes all the difference.

The only criticism I would mention so far is that the controls are a bit sensitive (but this has been mentioned already) and the textures need to vary a little more.

Otherwise, you’ve got the start of a fun space shooter in your hands.

Good luck = )

Concept sketches for the bots; None yet have names, so open to suggestions.

I found a tutorial for ragdolls in the BGE, so I was thinking it could be quite nifty to have humans in spacesuits flying against the player. Wouldn’t need much detail - just a very simple ragdoll movement and some subtle head-turning animations - and could look quite nice. No idea how easy this will be / how badly it will affect the framerate.

(By the way, what sort of frame rates do people get with the example I posted?)

VenomSeven: Thanks. I’m new to the BGE but have done a little coding before - hence I can work out an AI, but haven’t the foggiest idea how to control things like textures and animations.

This is currently what’s holding me back - ignorance of how the BGE handles things. At the moment I’m still stuck on making decent sprites. Yournamehere kindly directed me to Killer’s tutorials ( but there’s obviously some subtlety I missed because I get the odd results you can see in the .blend.

I have two questions, if anyone can answer:

  1. Is there anything special I need to know about the ‘Halo’ option in the Texure Face tab? Correct me if I’m wrong, but I believe it’s suppose to make the face always face towards the camera. However, what’s happening at the moment is when ‘Halo’ is on, the face isn’t rendered at all. Is there some little button somewhere I need to toggle or something? (I’ve tried flipping the face normal, which has no effect.)

  2. Is there any way I can have a tiled animation work in both GLSL and TexFace mode? At the moment it plays fine in GLSL, but in TexFace the UV coords cover the entire spritesheet and you get a grid of all the little frames. If I scale the UV down to just one, it plays smoothly in TexFace but obviously in GLSL the UV coords now cover only a tiny fraction of one frame.


Yes, there is something you should know. When using a halo plane, it is very important that you turn the plane in edit mode so that the normal is facing in the -x direction, otherwise it will not display correctly. (The “-X direction” basically means facing left when you’re in Top View.)

You can see what direction the normal is facing by clicking on “Draw Normals” in the edit buttons. You also might want to set the “NSize” value to .300 to be able to see it better.

Here’s an example blend:

Looks good, don’t give up.

The turret model is great, and you concept sketches too.

What you’ve got is nice. However, your arrow keys should control pitch also. Left rotates left, and right rotates right, up rotates up, and down rotates down. Now if you can hook an always sensor to a motion actuator telling the spaceship to always move forward, movement will be much more believable.


VenomSeven: fantastic! Seriously, that little technicality has been a thorn in my side for about ten days. Now I just need to get those nice little haloes to animate on command and I’m good to start modelling…

jplur: Thanks, it’s always nice to hear encouragement.

yournamehere/nick: I don’t understand - the up/down arrow keys already control pitch, don’t they? Are you saying the ship should be always moving forward?

Okay, bed time.

Working on the new player’s ship. It will be a group to link in to other .blends, so the dummy tunnel is just there for testing purposes.

Have moved back to TexFace mode, so it looks worse but a lot more people should be able to play it. Will decide whether to go GLSL at a later stage.

Controls are the same, except now you can also use the mouse.

Mouse movement: pitch/yaw
LMB/RMB: roll left/right
MMB: toggle camera

Currently toggle camera locks you in 3rd person mode - couldn’t work out why.

Oh yeah, and if you want to tweak the controls, they’re all the in the file. The keys are in a dict near the top, and the mouse sensitivities are somewhere around the middle.

Now tomorrow apparently I’m entertaining guests, which means little progress. But hopefully I’ll be able to work a bit on this in the evening.


ships.blend (335 KB)