Brace For Impact : starship combat gameplay prototype

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Monochrome
Posts: 122
Joined: Thu Oct 19, 2006 11:43 am

Post by Monochrome »

Dorth wrote:One thing is, with environment aware gui, you can overload the mouse to ddo all the keys can do, without making it point and click. For example, imagine a donut representing your turret on your ship. Clicking on the screen outside the donut will slowly aim your ship toward there. Clicking on the donut will rotate the turret toward that angle at the same speed as the keys. Right or left clicking in the middle of the donut will increase or lower the angle by the same amount/speed as the keys. Add dragging and you can complexify this plentifold while still leaving it mouse intuitive. This way, someone can play with only a mouse and still enjoy the complexity of the game. It then becomes pretty easy to make a controller friendly version or so. ;) GL and GW
But then again assigning too many commands to the mouse will diminuish the arcadish feeling. Besides, keys are still needed to control the ship's throttle so player will have to resort to them anyway. I believe the mouse should only be assigned to more surgical and strategical functions like selecting targets or hardpoints.
radishlaw
Posts: 6
Joined: Tue Jan 16, 2007 2:25 pm

Post by radishlaw »

This is insanely good!

I wish you could have released this a year ago, when I was doing my final year project though. It was a 3D capital ship combat game, but I couldn't
figure out how to limit the turret's firing arc, making it looks extremely stupid.
Anyway, really nice work. I am looking forward to your next release.

Wait a minute....the controls looks very much like the multiplayer game Navyfield. Are you drawing inspiration from that game?
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Thanks for your kind words.
radishlaw wrote:I wish you could have released this a year ago, when I was doing my final year project though. It was a 3D capital ship combat game, but I couldn't figure out how to limit the turret's firing arc, making it looks extremely stupid.
Urgh, yes. Getting that working robustly was trickier than I'd imagined; there are a lot of edge cases to deal with. Plus one lovely fp rounding issue, where it turns out that sometimes -(X - Y) != (Y - X).

radishlaw wrote:Wait a minute....the controls looks very much like the multiplayer game Navyfield. Are you drawing inspiration from that game?
Absolutely not! That's an outrageous suggestion. I'm blatantly ripping it off is what I'm doing! ;)

I've gone for a space based presentation (initially at least) because it means that I don't have to make it look realistic, just pretty.

I was just chatting with Chagrin from the NF forums about it, and noting that it would be a graphics switch to make it a "wet space navy" game. The further thought occurred - and this is rather bizarre - that it would be possible to have a single server and game world, with two completely different clients interacting with it, one that's showing a "space navy" version, and the other showing a "wet navy" version.

As in: I see a "Royal Space Navy" King Edward VII class space-battleship launch some glowing pink torpedoes, while you see a WWII HMS King George V class battleship launching frothy wet torpedoes[*].

Same engine, same effects, different names and graphics.

It's probably a pipe dream, but I find the notion really appealing, in a sort of "interracial midget lesbian porn" kind of way.

Incidentally, I've just uploaded a new version where I've prototyped some of the previous suggestions:

1) When using 'auto fire control' (i.e. left clicking), the gun angles are limited to a resolution of 5 degrees. This doesn't matter so much for smaller guns, but starts to become more significant at about 8" - sorry, I mean 64 MJ railgun - ranges.

2) Shows the inaccuracy of each gun, as an arc that gradually narrows as the gun is left laid on a bearing. Rotating manually increases the inaccuracy, but to a limited amount. Left clicking immediately jumps it to the maximum degree of inaccuracy for that gun. I feel that this is a fairly comprehensible compromise that provides a more nuanced choice than NF's auto/manual FCS options. Opinions welcome as always.

[*] Unlike Navy Field, you don't have to choose between torps or AA in your 'T' slots. ;)
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Hey rogerborg, I am just curious. I was looking over your code and I saw stuff like:

Code: Select all

(void)function(...)
What's the point of this if you can just call the function without the casting?
TheQuestion = 2B || !2B
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Same reason that when I pop one off on my wife's bountiful rack, I have the common decency to throw her a towel. Because it's polite to clean up after yourself.

Ahem.

I use (void) to pop the top of the stack and clean it up neatly. I don't like return values to linger on the stack, as it can introduce obscure errors when that value inadvertently gets assigned somewhere. It very rarely happens, but it takes less time to type (void) even hundreds of times than it does to debug one such obscure bug. It also gets me into the habit of checking function signatures, which helps to ensure that they're really doing what I assume that they're doing.

Similarly, I'm using it here to clean up after putting bottomColour on the stack just to satisfy the compiler that the parameter isn't unused (at warning level 4 / warnings as errors). If it was a value type rather than a reference, I'd just assign it to itself instead.

Code: Select all

    void setColor(SColor const & topColour, SColor const & bottomColour)
    {
        (void)bottomColour;
        this->setColor(topColour);
    }
It's not a common habit, and I wouldn't particularly promote it, unless you're already pre-disposed towards fussiness.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

rogerborg wrote:Same reason that when I pop one off on my wife's bountiful rack, I have the common decency to throw her a towel. Because it's polite to clean up after yourself.
Haha, I have to say your about the only person that actually gets me to laugh online.

But anyways, I agree with that. I didn't know casting it would do that, and honestly the first time I have ever seen it was in your code. I haven't even ever seen it in any commercial game code or anything else.

I believe I will start to try to make use of this.
TheQuestion = 2B || !2B
omaremad
Competition winner
Posts: 1027
Joined: Fri Jul 15, 2005 11:30 pm
Location: Cairo,Egypt

Post by omaremad »

Welldone rogerborg, I love how everything handles from the ai movements, to the different missle animations.

Coding wise its very polished, the bitmap for the background isnt :wink:.

The controls are a bit hard ofr the begginer, why not have a mini cockpit gui at the bottom where you see health and weapon buttons, sheild activators etc..
"Irrlicht is obese"

If you want modern rendering techniques learn how to make them or go to the engine next door =p
cdrwolfe
Posts: 100
Joined: Thu Nov 15, 2007 5:38 pm
Location: Cranfield University

Post by cdrwolfe »

Rogerborg, would it be ok to have a look at the source code if it is available. If not then thats ok, just thought i'd have a look at how it should be done :)

Not to mention the ship handling looks interesting to me :)

Regards Wolfe
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

cdrwolfe wrote:Rogerborg, would it be ok to have a look at the source code if it is available.
It's in the .zip, which leads me to...
omaremad wrote:Coding wise its very polished, the bitmap for the background isnt :wink:.
It's the most horrible code that I've written in, oh, about 10 years. It's written to be disposable and deliberately hard to maintain, so that I'm not tempted to use it as the basis for the production code. Anyone who bases production code on this deserves everything they get. ;)

omaremad wrote:The controls are a bit hard ofr the begginer, why not have a mini cockpit gui at the bottom where you see health and weapon buttons, sheild activators etc..
Sure, in the production version. This is a prototype of the combat engine, not the UI.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
cdrwolfe
Posts: 100
Joined: Thu Nov 15, 2007 5:38 pm
Location: Cranfield University

Post by cdrwolfe »

Thanks, seems i downloaded a previous version which didn't have the code lol.

I'll give it a gander.

Regards Wolfe
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

Can't believe I almost missed this!
Nice work rogerborg. I agree with the others in this thread about the controls, I found them pretty tricky to get the hang of at first. As they say with interfaces, if you can't use it without ever rtfm then it needs improvement.
A great start though, looking forward to some multiplayer action :)
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
switch_case
Posts: 34
Joined: Sat Mar 08, 2008 12:46 pm
Location: Germany, FFM
Contact:

Post by switch_case »

i just downloaded it, and it looks very interesting, i liked the movement of the ships, particles are nice, good gameplay so far and if it is going to be online someday, it will be even better than it already is :)

critics are:
i missed a kind of cam wich follows the ship
leaving the window is possible (cursor)
and i missed a collission between two ships, thats the best part of a huge space fight, 2 big destroyers crashing into each others :P
and the keyboard layout was kind of tricky, maybe it should be configurable.

but looks great so far. cant wait to beat you up online!
(im looking forward to the release sourcecode, though ... will it be available?)
if life could only be written in C++...
so much features, money++, remove_childs(), choose parents, life = new life, and no more <IDIOT> templates !
if you're looking for an nerdy coding language: http://lolcode.com/
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Thanks for the positive comments!
switch_case wrote:i missed a kind of cam wich follows the ship
It's not obvious, but press H to centre on and then follow your ship. You can then push the camera around by moving to the screen edges while still staying in follow mode. Pressing the cursor keys moves the camera and disengages follow mode - as with the targeting, I'm trying out both ways to see which one works best.

As Vitek (IIRC) said, it'd also be a lot clearer with some fixed points of reference like debris, or "space dots".

switch_case wrote:leaving the window is possible (cursor)
Sure, if you run windowed. I guess I could have locked the cursor inside the window in a release build.

switch_case wrote:and i missed a collission between two ships, thats the best part of a huge space fight, 2 big destroyers crashing into each others :P
Heh, that's still on the "to be decided" list. One of the advantages of a space navy version is that the ships can be made to avoid each other just by fiddling their Y heights. I may put collisions in the final version, but it's wouldn't necessarily be good from a gameplay perspective.

switch_case wrote:and the keyboard layout was kind of tricky, maybe it should be configurable.
Definitely, yes. Also, more clickable UIs, plus brief input tutorials. That's in the far future though.

switch_case wrote:but looks great so far. cant wait to beat you up online!
Don't hold your breath; I'm back at the requirements stage, and I still have some contradictory strategic requirements to resolve before proceeding.
switch_case wrote:(im looking forward to the release sourcecode, though ... will it be available?)
Uh, it should be in the .zip. main.cpp. Yes, one file.

It is by design absolutely horrible. Truly. This is a disposable tech prototype, not the basis for a production game.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
switch_case
Posts: 34
Joined: Sat Mar 08, 2008 12:46 pm
Location: Germany, FFM
Contact:

Post by switch_case »

what i mean is the main.cpp in the finished game :)
its always interesting to read complete source codes, gives me a lot of ideas...

and if you don't mind the fact that it is one file, the code isn't THAT messed up?!
if life could only be written in C++...
so much features, money++, remove_childs(), choose parents, life = new life, and no more <IDIOT> templates !
if you're looking for an nerdy coding language: http://lolcode.com/
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Yeah I have to say the gameplay is very superb. The sounds give you the feel of a "war", and it creates a certain ambience that I can't explain, but I really like it.

If this game was going to be made into an online game, then that would be pretty cool, and I would definitely put this down as one of the greatest indie games that I have ever played. If this was to go online, how many players would you plan for, rogerborg?
TheQuestion = 2B || !2B
Post Reply