 Space combat prototype - phase 7 |
Posted - 4/27/2006 11:15:17 AM | Yesterday, i implemented turrets A.I.
The real problem was to make each turret "anticipate" the move of its target. Firing at motionless targets is one thing, but if the battleship real has to be frightening, it has to be able to target at moving targets easily. I spent quite a lot of time, along with a friend at work, to come up with the maths of it. I'll probably write an article ( or even a post-mortem ) about all these techniques once the prototype is released.
Turrets also use an heuristic to decide which entity to target. Since i still don't have the notion of "teams", a battleship will target any entity other than itself. The heuristic is based on a "danger" factor for that battleship, based on the strength of the ennemy ship, its weapons, its damage status ( a ship that has damaged thrusters and no weapon anymore, becomes a secondary target ), and of course its distance to the battleship ( closer entities are prefered than far away ones ).
In my small Lancet against the battleship and its 22 turrets, i don't stand a chance for a long time.
It's pretty funny to spawn a second battleship near the first one. They target each other and fire with their MKIV turrets. Each battleship is around 10,000 HPs. Each MKIV is doing around 500 HP damage per blast. Each turret fires two blasts at a time. There are 8 MVIV per battleship. I'll let you do the calculation, and just say that the fight is finished in a matter of seconds... but of course, since explosions are not added yet, the two battleships just continue forever, even at 0 HP.
I'm now working in network interpolation for positions/rotations. I've hit a few problems, but they should be solved by tomorrow.
Shawn sent an update for the station interior. It's pretty much finished now, except for the central tube, the details, and some specular maps. Shaders are still in the works, because the interior should not ( unlike the exterior ) be sun-lit. You can see all the screenies here:
http://fl-tw.com/Infinity/Media/Screenshots/shawn_station_in_XX.jpg
with XX in the 10 to 23 range. Here's a selection of my favorites:






| |
 Space combat prototype - phase 6 |
Posted - 4/25/2006 5:45:44 AM | Finally, getting somewhere!
The shots ( i'll try to no longer call them lasers ) have been fixed. They no longer pass through walls. I've also added the correct spawn position for those shots, in the center of each gun. Note that the current turrets have 2 guns per turret. On the Lancet, with 4 hardpoints, this generate 8 shots per fire..
The debrits are now functionning in network.
The balance / parameters still have to be adjusted.
I still have to implement the victory/defeat conditions, teams, player spawning, but it should not be too hard. I plan to do that today or tomorrow, and to add some basic turrets A.I. for the mines and the battleships.
I made a lot of progress this week end, mostly on the network optimisations. One major change is related to how the firing is handled. Before, each weapon was generating a packet ( basically saying: entity ID1, turret ID2, has fired ). Now, you can imagine what happens when two battleships ( 22 turrets each ) and 50 mines are all firing..
Instead, i now send packets on the "change" of firing state. A packet is sent when a weapon starts to fire, and another packet sent when a weapon stops to fire. In addition, the firing rate is taken into account so that slower firing guns do not generate more packets than needed. It seems to work very well.
I implemented a similar system for the state of each ship. Instead of sending the state of a ship ( which parts are broken, the hitpoints for each thruster/gun, etc.. ) every second, i now detect if a state is "dirty", and only send data for those parts of the ship that are dirty. Again, it makes a lot of difference for a battleship: i don't have to send the state of the 22 turrets when only one of them takes damage..
I still have to interpolate the positions/rotations with dead reckoning, but since i have some code to do that from a previous prototype, that shouldn't take too long.
Oh, and... :

| |
 Space combat prototype - phase 5 |
Posted - 4/13/2006 2:44:10 PM | Progress is going well on the combat prototype. I hope the "gameplay" part will be completed by this week end. I'll then take one more week to add some candy ( 3D sounds, HUD, particle effects, skybox, etc.. ).
What's been done in the past days:
- added Shadix's interceptor
- added various turrets sizes ( light Mk1, Mk2, Mk3 and Mk4 ). The mesh is the one JoeB made ( Mk1, but scaled to fit the correct sizes ).
- attached turrets to all the ships. This includes the battleship: around 22 hardpoints.. going back and forth from 3ds Max to find the correct coordinates. Painful.
- JoeB sent an improved version of his battleship with more details, and a docking room with landing pads ( see screenshots or video ).
- added pitch/yaw angles to the turrets: they can now correctly rotate. It is possible to specify angles constraints ( min/max ) per turret.
- fixed collision bugs
- handling damage for breakable parts / fixed bugs with breakable parts
- started to assign physical parameters / hitpoints to the ships, and balance the values ( if you have your own ideas, there's a thread in the general forum of the website )
- Aarmstrong/Orion from the free Allegiance community have set up a server for the prototype. Since i didn't have any news from them in the past weeks, Adam proposed pretty much at the same time to host the prototype on his own dedicated server. That means that i now have 2 different servers (!) for the prototype. Well, better more than not enough, i guess.. and that'll still be useful to do performance tests on systems with very different specs. Thank you to all of you :)
Gameplay todo in the coming days:
- implement the concept of teams; assigning a battleship to a team
- handling the spawning of players
- handling the destruction of a ship + explosions
- battleship/mines turrets A.I.
- handling victory/defeat conditions for a team
Bugs ( you'll see them in the video ):
- sometimes lasers pass through surfaces. Easy to fix.
- the "spawn" position of a laser is the center of the turret, not the guns of the turret. Have to add the notion of gun on a turret :)
Video (20 MB Divx5):
Click me
Screenshots:
( Note how in the middle screenshot the lancet looks small compared to this Mk4 turret :) )
 
 

| |
 Space combat prototype - phase 4 |
Posted - 4/6/2006 6:37:04 PM | The space combat prototype has been progressing well these last days (depsite a "slow" last week, thanks to Bethesda!). In a next update i'll describe from a technical standpoint how spaceships are constructed and handled internally.
Now, weapons can be attached to hardpoints, hardpoints attached to ship parts, ship parts to a ship entity, and each part can have its own status (can break or not, take damage, etc.. ). Thrusters are attached to a specific part too. So, if a weapon is damaged by a laser, it won't fire anymore, and if a thruster is destroyed, it won't operate, making some "fun" situations. Loose a wing of your interceptor, and you'll start to spin like mad in some directions.
JoeB has sent in an update of his battleship. It looks really impressive now. Especially with the hangar in which you can fly and dock with an interceptor.. the sense of scale is really nice.
--------------------------------------------------------------
In other news, i want to start developing in these journals another aspect of the development, which i'll call (for lack of a better word now), the "social" situation. Infinity is getting more and more exposure, and i think it can be interesting for other developers not only to learn about the technical aspects of the game, but also about its "social" ones, the problems encountered in the community/organization, etc.. So, do not take the following as a rant or some selfish blabling, if i'm exposing these publically, it's only in the hopes that it can help other developers. I've been pretty open on the technical side, discussing about algorithms/implementations, why not doing the same with the social side ?
One thing that i should mention now is that my official position regarding attacks, flames or simply negative opinions (founded or not) that could happen on any external forum (gamedev.net excepted of course) is to never comment. It would open a pandore box, if you see what i mean..
Today when i connected, quickly checking my logs i saw a high amount of incoming connections from the Eve Online forums. By curiosity i had a look on them and saw a thread called "Developer of Infinity bashing EVE !!". That was quite a surprise!
All started on moddb.com when Betelgeuze posted an answer to a question somebody posted regarding the difference between Infinity and Eve (is Infinity a clone of Eve ? how are the games different ?). Betelgeuze promptly (and quite innocently) answered by detailing the differences between Eve and Infinity, namely:
- seamless landing on planets
- size of the universe (billions of systems)
- newtonian physics/collisions
- owning planets
- owning more than one ship at a time
- the storyline concept with "unique" quests
(For the curious, the moddb.com thread is here).
There's an error in what Betelgeuze said (owning more than one ship at a time), but i believe it was more a shortcut that was really meant to be interpreted as "you can't control more than one ship at a time", since that post was likely written in 3 minutes.
I don't really know what could be considered "bashing" in that, but it looks like it's not the opinion of some Eve fans.
There was quite a lot of criticism in that thread, i'll just list the most frequent comments (incidentely, it's not specific to the Eve forums. I've seen similar comments pretty much everywhere). A selection:
- i am lying about the amount of worlds in the game universe, because it's not technically possible (would take too much CPU or hard drive space, your choice). Coincidence or not, these kind of comments are generally made by players, not developers.
- it is impossible to develop a game such as Infinity because it'd take an infinite amount of time to design such a big universe
- (my prefered) it is impossible to do because i'm a newbie at programming and obviously have no understanding of how big such a project is
- the screenshots/videos are fake, that cannot run in real-time
- the terrain from the screenshots were made in Terragen (thank you!)
- it will take years to complete (an obvious statement, i've been saying this everywhere)
- it will take an insanely high machine to run (despite the fact that it'll run on a medium-specs machine at release time)
- vaporware (can't really blame)
- copyright infringement (huh?)
- trademark infringement (re-huh?)
- the game is a clone of <<insert popular game here>> (triple-huh?)
- some ships design have been copied on <<insert popular game/movie here>> (given the amount of games and movies released up to today, it'd be quite hard not to find something that looks remotely similar, don't you think ?)
Don't think i'm annoyed or angry by these kind of comments, because it's really not the case. As i said, i'm just ignoring them and never reply, unless you contact me by email or on the game forums. Fortunately there's a lot of constructive and positive feedback too (actually, more than the negative one), but i thought posting this would be interesting for our fellow gamedev.net developers :)
| |
|
| S | M | T | W | T | F | S | | | | | | | 1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9 | 10 | 11 | 12 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | | 26 | | 28 | 29 | 30 | | | | | | |
OPTIONS
Track this Journal
ARCHIVES
October, 2009
August, 2009
July, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
November, 2008
October, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
April, 2007
March, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
February, 2005
January, 2005
December, 2004
October, 2004
September, 2004
August, 2004
|