EARTH 2128-space shooter. Exe file!

This is a new version of my old project.

I just wanted to show this to you all.

Nice job! Love the grandiosity sensation.

I think this is the best looking space shooting game ive ever seen in blender artists.org

Wow man that’s awesome! Would you mind sharing the movement system? I’m making a similar type of game and I’m pretty much stuck with the movement. I have no idea to smooth it out and yours look pretty nice, it just flows softly and so I’m curious :3

Nice work :smiley:

.blend?



*****

Love it. This is awesome! Can you upload the file?

WOW. This looks great. Keep on working on this.

WOW.This looks really great. Keep on working.

A small update, new explosion and destructible asteroids made using cell fracture.

This is a small update. I’m still working on HUD, 3d radar, and AI for small ships.

I like this game, especially the explosion animations that come when your spaceship attacks something (small and big explosions).

Thanks. There is still a lot to do. I’m still having trouble with realtime 3d radar and small spaceship AI. I cant get it working right.

Great work, you can make some cash off of this:yes:
Are you using the game particle system for the flames?

No, I’m not using particle system. It consumes too much resources.
Explosions are made with several animated Halo planes. There is LOd system for asteroids and far objects.
I’m still changing everything, because previous version was using a lot of radar and near sensors. Now i want to use only rays, and check distance in python.

It’s awesome! I saw the project a very long time ago and it’s improved a lot since then. I like the exploding asteroids. I think with a little python work it would be possible to get them to explode outward away from the source of the explosion, rather than always from the center of the asteroid. something like:

explosion_location = ray_hitpoint
for chunk in asteroid_chunks:
local_position = chunk.worldPosition
chunk_vector = local_position - ray_hitpoint

chunk_vector.length = chunk_vector.length * bge.logic.getRandomFloat()

chunk.applyForce(chunk_vector,False)

That’s not real code, you’d have to write it properly, but it’d work with some testing I guess.

you could also set the chunk_vector length to be inversely proportional to the distance from the explosion. That’d give some interesting results, with the asteroid turning inside out… :slight_smile:

One thing about the turret enemies is that they are too dangerous to the player, It’s seems like it would be really quite impossible to avoid the guns. Why not have them just shoot randomly in to the air? Lots of big slow bullets moving around, that’d be more interesting to try and avoid. You could insert some friendly ships zooming around too, just as cannon fodder.

Also the earth’s atmosphere should be thinner, it’s like the skin of an apple.

You mean something like this?

@smoking_mirror
When I build a space-ship, I don’t think I’ll let you design the weapon systems. I want mine to be able to do this.

The thing is, you need it to be interesting to avoid. So either, as smoking_mirror says, they need to be slow, or just suck at aiming. Not shoot randomly, but just lag behind where the player is. Aim at where he was sort of thing.

I’ll be watching this thread to see what happens…

I’ve worked a little bit with explosion for space ship.
I will consider all your suggestions, thanks in advance guys:)

Those explosions look much better , alot smoother too. Good work.

Yes, that looks much better. :slight_smile:

I think space battleships are supposed to be derpy, otherwise they could just shoot all the fighters out of the sky and there’d be no fighters, and no space fighter games. Giving your ship the ability to strafe, and/or a dorsal turret would make it OK to allow the guns to aim directly at the player, then you really could doge or fire while circling, but with only forward movement and forward aim it’s near impossible to line up an attack run with the turrets aiming at you. No matter how slow the bullets, your vectors are going to converge at some point.

You could try giving the turret guns a target deviation:

def deviate_aim (target_position,deviation):
    t_x = (target_position[0] - (deviation *0.5)) + (deviation * bge.logic.getRandomFloat())
    t_y = (target_position[1] - (deviation *0.5)) + (deviation * bge.logic.getRandomFloat())
    t_z = (target_position[2] - (deviation *0.5)) + (deviation * bge.logic.getRandomFloat())
    
    return mathutils.Vector([t_x,t_y,t_z])

and then have the turrets add bullets like this:


import mathutils

scene = own.scene
distance = own.getDistanceTo(player)
aim_deviation = distance * 0.1
deviated_target = deviate_aim (player.worldPosition.copy(),aim_deviation) 
target_vector = player.worldPosition.copy() - own.worldPosition.copy()   

bullet = scene.addObject("bullet",own,120) 
target_rotation = target_vector.to_track_quat("Y", "Z")        
bullet.worldOrientation = target_rotation 
bullet.localLinearVelocity = [0.0, 3.0, 0.0]

They would become more accurate when you get closer to the ship, so you couldn’t just go right up to it, you’d have to choose the point at which they start to become too accurate for safety.

Perhaps they could be firing flak which explodes when it gets close to your ship, shaking you but not doing much damage. That would give the illusion of danger without making the game too difficult. I think it could be really thrilling, flying straight towards the huge space battleship, feeling the flak shake your ship, trying to shake enemy fighters off your tail, or protect your wingman, but knowing that if you fly well you’re probably not going to die and have to reload the game. There could be enemy missiles too, which you have to launch chaff to confuse and cause them to detonate early.

I prefer the idea of feeling like a fighter ace because I can dodge bullets, rather than feeling like I’m just soaking up the damage as bullet after bullet slam in to my ship. That’s why the old scrolling space shooter games were so addictive, one hit and you’re dead, but the enemy doesn’t really aim, so you can just take on wave after wave as long as you don’t lose your concentration. :slight_smile: Have… to… keep… concentrating! Can’t… stop… playing… even to go to the bathroom! ^^