Space Opera Gravity

Show off your games, demos and other (playable) creations.
User avatar
MarekkPie
Inner party member
Posts: 587
Joined: Wed Dec 28, 2011 4:48 pm
Contact:

Re: Space Opera Gravity

Post by MarekkPie » Tue Jan 03, 2012 11:22 pm

My friend on another forum is working on something very similar. His is written in C# (XNA).

http://videogamenews.com/forum/topics/s ... evelopment

Magitek
Prole
Posts: 48
Joined: Sun Dec 13, 2009 2:23 am

Re: Space Opera Gravity

Post by Magitek » Wed Jan 04, 2012 12:46 am

CodeDemon wrote:Wow, this is exactly what I wanted to play and tried to make. Beats the crap out of my version...
Don't worry I feel this way every time I look at other space games. I've already thought about quitting dozens of times because I don't think I can compete with them; however, most of them give up half way (myself included(?)) so I wouldn't let it stop you from making something- it is a fun genre to work on if you ask me.
MarekkPie wrote:My friend on another forum is working on something very similar. His is written in C# (XNA).
http://videogamenews.com/forum/topics/s ... evelopment
I think it's safe to say 2D space games are all pretty similar, but even still there isn't actually a 2D space game out with all the features I want yet.
2D space games just seem to be one of those game ideas everyone starts with but no one ever comes even close to finishing (the following paragraph will likely explain why).

My game originally started as a (SIMPLE!) newtonian space shooter/gravity well clone but I'm suffering from a royal case of feature creep.. I've been wanting to make a serious space game to replace my EVE addiction for awhile now, and at this point I really am just gunning to do everything now.
If I wasn't doing that however, I'd probably just call it quits tomorrow, as there are plenty of awesome 2D space games coming out in the next few months. Either that or convert the game into zombie survival haha.

edit:
Image
The current warp effect looks more like a straight up rocketship, it's not likely to stick around.. but it's kinda fun to blast around in.

User avatar
Lap
Party member
Posts: 256
Joined: Fri Apr 30, 2010 3:46 pm

Re: Space Opera Gravity

Post by Lap » Wed Jan 04, 2012 4:08 am

1. Have you ever played Escape Velocity:Nova? If not I highly suggest trying it.

2. I would also recommend focusing on one aspect of the game initially. "Finish" the combat or the strategic aspect. When finished, they should still be somewhat fun on their own. If they aren't and you are hoping it will only be fun when it's altogether you are setting yourself up for sad times.

Another benefit to completing one portion is that when one portion is actually done it will look more impressive and you will be more likely to attract more team members.

3. If you feel that the current scope is too big for you to handle by yourself you could always merge your project. There are other space games here that would benefit from a merge. Most of these are purely combat space games and would be fairly easy to combine.

I am currently on month 18 or so of my own space game (also set in a Dune like universe with a similar goal). I decided against doing real time space battles because I simply don't have the time or resources to do both with essentially only myself as a coder. Should you abandon your grand plan I'd be happy to try to incorporate the space combat part into my game. My game is mostly turn-based, but space battles could be real-timed instead of autocalc'ed, similar to how the Total War series functions.

4. I like your overall vision, but I have seen so many similar games that I would really like to see you emphasis the rarer elements like:
  • Player owned stations and fleet management (X series awesomeness)
  • Player designed ships (with parts like Battleships Forever, and not just whole images [examples here])
  • Full Multiplayer with dedicated server program.

5. Have you created a sprite/particle stress test? Make sure your game can handle a massive battle. Being able to test the basic targeting routines for weapons and such is very important. It would really suck to get all these features, only to find out the engine simply can't support any fairly large battle.

6. Graphically, if something needs to go for you to have better FPS, make it support for old video cards. Framebuffers/canvases are where it's at.

Magitek
Prole
Posts: 48
Joined: Sun Dec 13, 2009 2:23 am

Re: Space Opera Gravity

Post by Magitek » Wed Jan 04, 2012 7:02 am

Lap wrote:1. Have you ever played Escape Velocity:Nova? If not I highly suggest trying it.
Of course. :awesome:
The only thing I didn't really like about EV was its combat.
I'm really not fond of the shooting backwards all the time, I feel it is strategically very flat; that's not to say there is anything wrong with EV Nova, just that I can't seem to fit any deep strategy into this sort of combat.
Lap wrote:2. I would also recommend focusing on one aspect of the game initially. "Finish" the combat or the strategic aspect. When finished, they should still be somewhat fun on their own. If they aren't and you are hoping it will only be fun when it's altogether you are setting yourself up for sad times.
Although it seems I am focusing on so many aspects at once, in reality so far all of the work has been on the core aspect of the game: flying around and shooting ships, if it isn't fueling this aspect I'm probably putting it to one side.
That said I'm not the type of developer that 'finishes' one segment before moving on to the next, I prefer to bias one area and prototype the rest, I think I've always worked like this.
Lap wrote:3. If you feel that the current scope is too big for you to handle by yourself you could always merge your project. There are other space games here that would benefit from a merge. Most of these are purely combat space games and would be fairly easy to combine.
I believe I have my own unique vision for the game and that I probably would just clash if I tried to merge someone elses game with my project. I'm not writing the game to 'complete' it, but to build a game I myself enjoy playing.
Lap wrote:I am currently on month 18 or so of my own space game (also set in a Dune like universe with a similar goal). I decided against doing real time space battles because I simply don't have the time or resources to do both with essentially only myself as a coder. Should you abandon your grand plan I'd be happy to try to incorporate the space combat part into my game. My game is mostly turn-based, but space battles could be real-timed instead of autocalc'ed, similar to how the Total War series functions.
I can understand wanting to abstract combat so you don't have to spend days perfecting it - I am too greedy for that though: I prefer to burn out like a fireball chasing my ideal!

I have the feeling we are working from opposite ends of the spectrum. I am working from combat to grand strategy and you are working from grand strategy to combat. Ultimately my game is about the player and not his empire however.
When your game gets to a satisfactory state, let me know and I might be swayed to help you integrate it with combat from mine; a word of warning though.. it probably won't be that easy to incorporate, because I use mostly procedural code and it's like a ball of yarn.
Lap wrote: 4. I like your overall vision, but I have seen so many similar games that I would really like to see you emphasis the rarer elements like:
  • Player owned stations and fleet management (X series awesomeness)
  • Player designed ships (with parts like Battleships Forever, and not just whole images [examples here])
  • Full Multiplayer with dedicated server program.
In my original post I covered this, but to reiterate:
"The player can support any of these factions, or even grow his own empire, similar to X3.", I intend to do player owned fleets/corporations/planets. X3 is the big inspiration for me here, rather than EVE. The first part of this will probably deal with owning planet facilities and constructing modules/ships yourself. A basic mining mechanic has already been put in place for fueling this.

As for creating ships entirely from parts:
The reason why I have not allowed players to design their own ship hulls is so that I can maintain good progression, diversity and balance.
This could change further along the line if I start believing I can actually manage good balance and stream interesting ships with this sort of system, and while I understand everyone likes building their own vessels I'm just not convinced it is good for combat gameplay.

The galaxy is also pretty big, and I don't want players building the best configuration from the start and never enjoying new hulls as he/she goes along. There is a great deal of configuration you can do when you build your own vessels but I think players just end up building the most effective ship designs and never compromising on damage.

It's possible I may just leave ship-creation for higher tier vessels that are less common in the universe; the game can already support building ships out of pieces so it's not exactly a lot of work if I decide to switch (mechanically anyway).
We'll see though, I'm always considering it but not confident it will actually improve the game.

And dedicated server:
The game already supports running dedicated, and in the future I intend to pseudo-network these servers to create a much bigger playing field; though it is obviously a distant dream at this point, it is something I have considered.
Lap wrote: 5. Have you created a sprite/particle stress test? Make sure your game can handle a massive battle. Being able to test the basic targeting routines for weapons and such is very important. It would really suck to get all these features, only to find out the engine simply can't support any fairly large battle
I'm sure you can see screenshot #6 in the original post, here you can actually zoom straight in and there are hundreds of projectiles and explosions in the center, I always entertain use of heavy scenarios that wouldn't ordinarily happen because I am perpetually worried about performance; no point in ships looking good if they drive the frame rate down to single digits the moment a war starts.

If things ever get bad, I can always drop the complexity of ships.
Right now the game is rendering 60 battleships on screen firing at each other (maximum you'd ever probably see at that zoom level is 10) at 40 FPS:

60 512x512 hulls
300 turrets
180 thrusters
~50 active projectiles
20-30 texts displaying damage
~100 damage decals
~100 particle explosions and smoke trails (I'll probably nerf particle count with framerate later on)

In an ordinary situation, i think it's unlikely that you'll see more than ten or twenty ships while in a combat-level zoom; there might be hundreds on your radar, but these aren't drawn and use less processor.
Lap wrote: 6. Graphically, if something needs to go for you to have better FPS, make it support for old video cards. Framebuffers/canvases are where it's at.
I'm afraid I don't quite understand what you've said here. So far I've avoided render-to-texture because I am worried about old laptops. When the framerate becomes too low I can always drop laptop support and bring in the canvas to help things along.
The only thing I actually want RTT support for, is drawing decals to ships; at the moment I am doing it without RTT and performance wise it's not brilliant or attractive.

This is longer than it should have been, but I'm always keen to talk about the game and not actually make any progress on it! Hopefully I actually answered your questions along the way and didn't just write a 3 hour rant for nothing :crazy:

User avatar
Lap
Party member
Posts: 256
Joined: Fri Apr 30, 2010 3:46 pm

Re: Space Opera Gravity

Post by Lap » Wed Jan 04, 2012 7:19 am

Basically what I am saying in number 6 is to abandon support for older laptops by using render to texture, but if all you're going to use it for is ship decals you can easily have a menu option that changes between methods.

Side note: I kept looking at your screenshots and thinking "Those moving stars look kind of bad.' God damn tricky forum snow effect. I am tired.

coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Space Opera Gravity

Post by coffee » Thu Jan 05, 2012 11:20 am

@Magitek
You already know from some other post that I love your project. :)
I know that you wan't release it too soon but could be handy to you from time to time some test releases before go in the wrong way in something that you didn't expected.
Images, concept and specs are amazing. :)

@Lap
Thank you for show Battleships Forever. Didn't know this one. Even more interesting than Line Wars (http://www.bimboosoft.com/LSW/).
I also like and thought that the "right way" is some "parts" assembled like the one you described.
Since Magitek wants to work alone on this you shouldn't abandon your project.
If you want to do an action version of this you REALLY need to inspire in Transcendence (http://neurohack.com/transcendence/)
EDITED: BTW is very old but I'd like to mention the classic Solar Winds (http://en.wikipedia.org/wiki/Solar_Winds)

Magitek
Prole
Posts: 48
Joined: Sun Dec 13, 2009 2:23 am

Re: Space Opera Gravity

Post by Magitek » Fri Jan 06, 2012 1:22 am

coffee wrote:@Magitek
You already know from some other post that I love your project. :)
I know that you wan't release it too soon but could be handy to you from time to time some test releases before go in the wrong way in something that you didn't expected.
Images, concept and specs are amazing. :)
Thanks for your encouragement, I can only hope the project lives up to your expectations in some way.

I expect everything to go wrong really, but I'm also not really in any rush. I find hundreds of problems just cruising around by myself at this point - and I'm far from fixing all of them.
coffee wrote: EDITED: BTW is very old but I'd like to mention the classic Solar Winds (http://en.wikipedia.org/wiki/Solar_Winds)
I recall playing the shareware version of solar winds a lot when I was younger, from memory it was really cool game. (well for 1993?)
The name would have fit my project like a glove too.

As for what I've been working on, I spent some time unscaling ship rendering because it looked pretty horrific in older resolutions. My older RPG scaled everything based on your resolution and it looked alright, but here things don't look so good (aliasing is terrible mainly). I had been meaning to fix this for awhile and I have been putting it off forever.

In english what this means is that ships no longer stretch when you use a resolution like 800x600; it does mean however, the lower your resolution, the less view distance you have. The game is designed around an optimal resolution of 1920x1080, but I usually run it in 1280x720 windowed so that I pick up resolution dependent problems.

Now that I've put that out of the way I've had some time to fiddle with ship destruction.

A rather familiar looking explosion flare
Image
It is pretty amazing what two textures by themselves can do. (I have the feeling this texture is actually a star flare from EVE rather than an explosion.. but it seems to work quite well!)
Prior to this I was testing a particle system based explosion, but I think this is the superior option for both performance and aesthetic.

Ship destruction currently works like this:

Ship engines fade out
Hull and any attached turrets start to blacken
Ship drifts to a stop
Main reactor explosion occurs
Turrets are then deleted from the ship rather than explode individually (I might make them pop off when the ship is drifting.. but I'm not positive it's worth the performance)
Spawns some loot in the cargo hold

I guess I should mention I artificially scale explosions so that you can enjoy them from the map view as a bonus :crazy:

I think what I'll do from here is break the ship into 3 pieces and have some smoke and debris floating around it. I shouldn't focus too heavily on messing with explosions when core gameplay still sucks, but I like to vary what I work on so that I don't lose motivation.

Magitek
Prole
Posts: 48
Joined: Sun Dec 13, 2009 2:23 am

Re: Space Opera Gravity

Post by Magitek » Thu Jan 12, 2012 1:37 am

For the past week I've been rewiring a number of things and haven't had any interesting progress to post.

Most of the week was spent improving the network code so that it was perfectly smooth, before this networked AI ships would instantly change direction and any hope of serious combat calculations by players was impossible.
Somewhere along the way I mistakenly created some nice combat maneuver AI while working on network prediction. Bonus!

On that note, the combat system is working out well and here's one of the close encounters I experienced while testing it.

Leaving warp my cruiser comes under fire from two hostile frigates, I engage them wondering how I'll do with my configuration.
Image
The color of the line is showing just how difficult it is to hit with the current weapon. It's a debug feature but the game will have some sort of aim assistance so that you don't have to pull out your calculator every time you enter a fight.

Situation:
Player's cruiser armed with 2x 425mm autocannons and 2x 280mm howitzers against two frigates armed with dual 125mm autocannons.
  • For those of you not familiar with EVE, the cruiser's 425s are typically for use against other cruisers or larger- they can only hit frigates in favorable conditions because frigates are typically too quick for larger turrets to catch.
    The howitzers sport a much longer range and damage salvo, but even though these are actually frigate-sized artillery, they are even less capable than the 425s at hitting frigates at close range.
    A single shell from one of these howitzers however, will score a frigate for around 60 damage with EMP S ammo.
The cruiser sports 1485 shielding and 1250 armor while the frigates only have a paltry 390 shields and 350 armor.

Outcome:
Our cruiser is victorious, with it's shields stripped and armor battered to a mere 38 out of its lofty 1250. In order to hit the frigates orbiting the cruiser I had to match their directional travel ('transversal' speed) when they had begun to turn back towards me and even then I only had barely a seconds window if I wanted to land any shells.
  • Notes:
    • If the frigates had any intelligence what so ever, It's likely I would have never been able to hit them. They maintained high velocity orbits (750M/S) but their agility was too low at that speed to keep a completely stable orbit around the cruiser.
      Had my cruiser been equipped with tracking equipment (faster turret rotation) or a stasis webifier (slows down target), the frigates would have been decimated, with the cruiser likely standing only to lose shielding.
After fixing the remaining problems with combat, I then decided to work a bit on the star graphics for awhile. Previously I had ninja'd the star graphics from SPAZ, but this time I decided to create some of my own from scratch.
What I wanted to create was a star with procedural lapping waves of flame around it, rather than just an animated texture behind the star.

Here's how they came out:

Spectral Type G
Image

Red dwarf
Image

A different mixing texture
Image

Spectral Type O
Image

An earlier Spectral Type G
Image
I should probably make a video of the waves in motion but I'm sure you get the idea. I'd also like to add better sunspots and maybe some solar flares.
I currently get ~255 FPS with a star animating on screen, but I'm not convinced it will go quite as well on laptops as this is mainly my Radeon-6850 pushing textures and blending.

You can also see the other thing I worked on here, and that is getting subsystems working, in this case, afterburners!
Hopefully this will pave the way to building more advanced modules on ships in future.

I also had a chance to give the Lua-JIT beta8 a shot with the game and the results were spectacular as expected:

With Lua 5.1 and 2500 ships calculating in real-time, the game maintained a sloppy 18 FPS (AMD Phenom x2 550)
After recompiling to Lua-JIT, the game managed a whopping 3500 ships at 37 FPS.. this is somewhere around double the usual performance!
I'm not sure the project will remain with Lua-JIT even though it seems vastly superior, as Love doesn't officially support it.
That said I'm glad the option is there should I need to cheat some performance out of the game!

Next thing I work on will be nebula and planets.. for sure.. I always stick to the task at hand. Right?

User avatar
slime
Solid Snayke
Posts: 2853
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Space Opera Gravity

Post by slime » Thu Jan 12, 2012 2:11 am

LuaJIT should be fine to use in the future. There were a couple of obscure bugs in 0.8.0 that were only triggered by LuaJIT, but they're squashed now.
It might also be good to consider using shaders (or having an option to use shaders) for things like stars and nebulas. You can do cool things in realtime like this, that will probably be faster than lots of overlapping images or whatever technique you're doing currently.

Magitek
Prole
Posts: 48
Joined: Sun Dec 13, 2009 2:23 am

Re: Space Opera Gravity

Post by Magitek » Thu Jan 12, 2012 2:52 am

slime wrote:LuaJIT should be fine to use in the future. There were a couple of obscure bugs in 0.8.0 that were only triggered by LuaJIT, but they're squashed now.
It might also be good to consider using shaders (or having an option to use shaders) for things like stars and nebulas. You can do cool things in realtime like this, that will probably be faster than lots of overlapping images or whatever technique you're doing currently.
It looks like a pretty sweet effect, though I am still avoiding 0.8.0 because exhibits a few problems in my game. I'm not sure how long I can put it off though as shaders are indeed so much better than ordinary blending.

I did a bit of benchmarking and the shader effect is about third faster than my current effect; I'd say that's great performance, though I'd probably use the shaders and the effect in combination haha. Sadly I have less than a clue on designing shader effects so I probably won't be going there for awhile even if I did move to 0.8.0.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests