Project name: Infinitewars
Game type: Space Shooter
Links: http://code.google.com/p/infinitewars/
License: GPLv3
Recruiting yes
Contact: Wasserleiche88@yahoo.de
Status: active
Abstract:
My goal is to create a team based 3rd person space shooter. Two teams play against each other in their small space ships called “Hunter”. They can choose their ship out of several (well, at the moment there are 2 for each of the 2 races… which share the same model :D) and their weapons. It is also possible to upgrade the hunter and it’s weapons and to buy items (at the moment only a repair kit and a shild recovery item). Speaking of buying - for each kill the player gets money that he can spend on upgrades, weapons and of course other hunters.
The whole project was a one-man thing until now, and I hope to get some artists to it, because all the models and textures I created just look awful, I’m just not an artist at all Maybe a programer would be helpful, too, but it’s quite uncommented code right now, but I’m working on that :D.
At the moment I’m using *.obj models, but it doesn’t matter to me which (jme2-compatible) model a potential artist chooses, it should be easy to alter the code.
I hope someone can help me out with the creative part, and game designers and programers are also welcome to join
Used API’s:
* jME2
* JGN
* FenGUI
* JDOM
* SoundSystem
Active Members:
Me
Currently the game is kinda runable again (from the SVN, downloadable files will have to wait), but I’m facing some kind of game design choice now: How to deal with visibility of objects? Since it is a space game, there are no walls that can hide great structures for optimization, and just drawing everything (even with a poor level of detail) isn’t feasible.
I tried out several approaches in the past:
- Based in the camera position, draw everything in a certain range
- When the commander was still there, I used some kind of “fog of war”, so alle team objects (mothership, drones, conquered spawnstations, hunters, carriers and frigates) had a sight-sphere that determined the sight of the whole team. This is still running now, but actually it doesn’t make much sense for the “lonely” pilot to see at the other side of the map whats going on, it’s just slowing everything down. It made sense for the commander since for him it’s an RTS, so sight was an issue. But now I think this should be droped.
- Maybe a mix of 1) and 2), e.g. drawing everything in range of the player, but also some other things like the sight of the squad members (here it also could come to bad performance losses if the squad isn’t together but spread all other the map, making almost everything visible), or at least the sight of some conquered structures (mothership, spawnstations).
What do you think is a good approach on such a multiplayer space shooter? I tend to something like 3), but I’d like to hear your ideas, too
Finally I was able to deploy something like a test demo. At the moment I only have start scripts for linux and windows so far, but mac or solaris users should be able to take a look at the existing scripts and write their own (and submit them to me? ^^). Everything is packed, so you just need java 6 installed (and JAVA_HOME should be set, I think).
Would be great if you could also test it and give me some feedback!
- http://infinitewars.googlecode.com/files/infinitewars.zip
Just download and unpack the zip file, and then go into the infinitewars folder. For linux you have to make the "start" file executable to run it, on windows just run the "start.bat". If you have any trouble running it please let me know!
Have Fun with my little demo :)
I am at a point now where I have to decide some basic gamedesign issues. The initial idea was to create a team based game, where 2 teams played against each other, each consisting of one commander and the rest normal players piloting a small space ship (called “hunters”). For the pilots the game is basically a third person space shooter, like freelancer. For the commander it is a real time strategy game, like homeworld. The commander can build drones which harvest asteroids to get money. This money can be used by the commander to build carriers (unarmed ships at which drones can drop their harvested load) and frigates (heavily armed ships), build weapons for the mothership, and upgrade the drones, carriers and frigates. The commander can also give commands to the bot pilots, which they carry out immediately.
As I now began to implement a mission system for the pilots I discovered serious flaws in the game design. The missions shall be optional but rewarding for the players, and initialy I thought the commander can give them to them (like commands). But what if a human commander annoys the human pilots by always giving them strange commands and so on? And what if the human pilots don’t carry them out?
What is also important, is the fact that commanding is boring. There is not much to build and not much to research. Yeah I could add more content to it like more ship types and so one, like in homeworld. But mixing it up with the space shooting gameplay doesn’t seem to work properly for me (and there is also the issue that I can’t figure out how to implement the smooth controls like in homeworld…). So I’m thinking about droping the whole commanding thing and let it be a team space shooter (well, with objectives and missions, but without a human commander giving them). But before I do anything, I want to get some other opinions from you. You don’t need to test my game I suppose, just think about it ^^.
I hope you will give me your thoughts
Wasserleiche said:
I am at a point now where I have to decide some basic gamedesign issues. The initial idea was to create a team based game, where 2 teams played against each other, each consisting of one commander and the rest normal players piloting a small space ship (called "hunters"). For the pilots the game is basically a third person space shooter, like freelancer. For the commander it is a real time strategy game, like homeworld. The commander can build drones which harvest asteroids to get money. This money can be used by the commander to build carriers (unarmed ships at which drones can drop their harvested load) and frigates (heavily armed ships), build weapons for the mothership, and upgrade the drones, carriers and frigates. The commander can also give commands to the bot pilots, which they carry out immediately.
Sounds pretty good.
Wasserleiche said:
As I now began to implement a mission system for the pilots I discovered serious flaws in the game design. The missions shall be optional but rewarding for the players, and initialy I thought the commander can give them to them (like commands). But what if a human commander annoys the human pilots by always giving them strange commands and so on? And what if the human pilots don't carry them out?
If you design it this way the game will definitely favor pre-arranged teams like clans, which may be your goal (I dont know). I dont really know what you mean with missions should be rewarding. Does that mean a player gets a bonus by carrying out a mission? Do the missions consist of destroy a target or move to a specified position? If you reward simple actions I think this can too easily be abused.
Maybe the commander shouldnt issue commands at all and rather support the players by sending some kind of repair drones, upgrades and money.
Wasserleiche said:
What is also important, is the fact that commanding is boring. There is not much to build and not much to research. Yeah I could add more content to it like more ship types and so one, like in homeworld. But mixing it up with the space shooting gameplay doesn't seem to work properly for me (and there is also the issue that I can't figure out how to implement the smooth controls like in homeworld...). So I'm thinking about droping the whole commanding thing and let it be a team space shooter (well, with objectives and missions, but without a human commander giving them). But before I do anything, I want to get some other opinions from you. You don't need to test my game I suppose, just think about it ^^.
I hope you will give me your thoughts :)
I actually like the idea with the mothership but I cant see how a strategy element could be interesting without alot of research, buildings and alot of ships. Strategy strives on complexity and depth. On the other hand if you drop the commander there could be other interesting possibilities. For example the mothership could produce money continously. The hunters get a share of that money and can use it with their own money to upgrade themselves or upgrade the mothership so that it can gather money faster, get defensive and offensive capabilites or send out AI ships in order to support the hunters.
Those are my thoughts.
I’ll give you some feedback on the conceptual part later. In the meantime though: Could you please tell me how I can get this to work on Ubuntu? I tried running the ‘start’, but nothing happens. I have a Windows that I can test on later as well though.
Edit: Aha, looks like I’m not the only one unable to start the game.
I’ve run it on ubuntu 10.04 and Windows 7. You have to make sure that the JAVA_HOME thing is set right, so the command “javaw” is found. You might want to try using “java” instead of “javaw” (javaw is the same as java but without console, I thought it might made sense here, but apparantly it does not g). Simply edit the start setups (both the shell script and the batch file). I hope it will work then, else I have to look into it further.
Thanks for your answers so far!
@ Kaizo: I like your idea of dropping the commander and leting the AI handle the mothership to support the players. This can work. I’d rather follow this than keeping the commander and putting more effort into making a strategy game, because of the controls and the mixing of the two genres. Sounds like a plan ^^.
But lets hear some other voices
I uploaded the latest version containing a lot of (more or less minor) changes in the game itself and I also changed “javaw” into “java” at the start scripts. You should now see whats happening.
Of course you still have to setup the JAVA_HOME right, and on linux the start skript has to be made executable.
Hope you guys can run it and give some feedback ^^.
You can download it from here: http://infinitewars.googlecode.com/files/infinitewars.zip
Alright I could start it and these are my notes:
- The controls for the hunter feels smooth but I dont like it when you flip back to a certain axis after you’ve stopped pressing the right mouse button. Somehow that doesnt feel right for a space simulation.
- Mothership controls: The fact that you dont move into the direction which you are facing(keyboard controls) is kinda counterintuitive. A free roaming mode would really be better but if you drop the commander idea dont bother
- The approaches for building and harvesting are pretty good and if you expand on them this could become interesting. (Maybe auto harvest?)
- I was really sad when I couldnt collide with the asteroids
.
- the game crashed when I enabled bots.
If I should test a specific thing let me know.
Thanks for your feedback!
I took the fliping back to axis from freelancer where I felt this was good feature. It makes sense for me since this way you can regain some orientation after chasing some bots. But I guess it’s a matter of taste. I will make it an option ^^.
The Mothership controls is hard to match properly. I have no idea why it behaves this way…
Auto harvest could be implemented easily of course. I don’t know if expanding on the building doesn’t interefere with the space shooting part too much, because maybe the commander can build a huge fleet of big armed ships and then the pilots are kinda useless. Don’t know if it can be balanced so the pilots are usefull and commanding is not boring…
Actually collision should work properly… did you collide with the mothership? The game should also not crash when you use bots. Did you get an error message and/or a stack trace?
How do you feel about the GUI and all the menus and stuff? What do you think about Usability in general?
Ok the collision works when I fire the weapon at least one time. So if I spawn and I dont fire at all I cant collide with anything. If I enable bots the fps plumet to 1 fps. I couldnt replicate the crash with bots enabled so I cant supply you with an error message . Maybe it has something to do with low fps?
The GUI reminds me of battlefield so I could find everything quickly but the “Configuration menu” in the game is irritating. I didnt really know what I had to do. There was no visual feedback when I selected alien or human.
Maybe you can change the menu so that you first select your race(-> confirm race), then select your ship/or command (-> confirm that again) and then select your weapons? Everything at once is a little too much.
I am unable to reproduce the collision bug. If I spawn and fire nothing, I cam still be able to collide.
On what machine are you running it? I also get a performance drop if I enable bots, but on my Athlon X2 5600+ and with about 10 bots I still get about 30 FPS.
I agree that there is no visual feedback when you change a race, that might be an issue. The whole configuration thing is indeed not the best solution. I guess I have to redesign it a bit ^^.
But obviously you did not download the latest version, because now there is no Alien and Human button anymore, but only a “switch team” button (makes more sense I think). So maybe you can download this and try again?
Thanks for your feedback so far ^^.
Ok… I’m an idiot. I tested the wrong version -.- . At 10 AI players I have 60 fps and the collision works. Overall the performance is great and the AI owns me pretty hard
Now that’s good news
I will soon upload a new version, but I think I will spilt it up into libraries and the actual game, so I won’t have to upload everything everytime ^^.
Ok, Now you can download the latest test demo version. You need to download all 4 files (data, libs, startscripts and infinitewars) and extract the zips into the same folder as the infinitewars.jar. Then you can start it with the usual start scripts.
If I update something I’ll let you know here what to download. As you see that whole thing is about 28mb instead of 41mb, thats because I now use a nightly build of jme and only use the stuff I need. So you have to download less now and I doesn’t have to upload that much now. Should work
Please tell me if you encounter any trouble running it!
What I have changed:
- you have to choose a team at the beginning and then choose your hunter or become a commander.
- you now have the choice if the hunter rotation will be reseted after releasing the right mousebutton (at Options → Controls → Pilot → Hunter Rotation Reset
Have fun testing and reporting!
I decided to drop the Commanding part of the project and concentrate on the pilots experience and the whole team/squad functionality. Space RTS + Team Space Shooter is just not working well in my opinion. I still will keep the mothership and harvesting, so the pilots have something to defend. Harvesting is of course automated, but all players will benefit from the harvested stuff, for example new upgrades, items, maybe some bigger supporting ships etc. So the pilots have a benefit from defending their own drones, but also from attacking the enemy ones. Sounds fun for me at least
This may take some time to tidy up and so on, so don’t expect a new test demo in the next week
But feel free to test the existing stuff (but ignore the commanding stuff, of course g) and feedback as well as new ideas are always welcome!
Well to commander + fighters, If you won the source engine I suggest to take a look at http://www.empiresmod.com/
It is the same concept but instead of space it is on a planetsurface and with tanks then ^^
It makes really much fun to play, but the commander is to important in it
( if you have a bad one no amtter your skill you loose)
They also have a partly solution already in it, Engineers are able to build walls and turret without additional commander actions, however only a limited amount.
Also worth a look
http://si.hlgaming.com/
it is kinda your concept as well , you have resarches taht produce resarch (aka ressource mining) and you have to protect them and also steal them from the enemy team to get more. The upgrades and teach are decided by a vote system where teh amjority decides what will be done.
This might be a idea for your game as well, as if there is no central person who decides there are still some decisions that have to be done
…Quite a long post, but I hope taht there are some Ideas/ inspirations in it
Thanks for your response!
I also had the fear that the commander could get too important so a noob commander could ruin the team. I also dislike a voting system, because what if it’s 50/50 or something? The pilot shouldn’t be loaded with this stuff, that kinda kills the gameplay I think.
I’ll go through with my decision, allthough it will take some time, quite a bit of code to restructure and rewrite ^^.
Finally a new “release” has arrived
It’s again just a test demo, so no version number here. As I stated in my previous post (some months ago… g) the game is now “only” a space shooter, so I completely dropped the RTS part. However there is some sort of AI which takes over some of it, so there are drones mining asteroids, and some ships will be build.
I also completely rewrote a lot of code, and made it somewhat better testable with respect to unit testing, but I did not write many tests so far. Unfortunately the code is mainly uncommented (I hate myself for not writing comments or even just Javadoc…), at least I tried to name things somewhat expressivly
There is now a mission and squad system in play, so by hitting a button you can toggle through the available missions and mark their targets (they will be marked purple instead of red, and there is also a purple arrow at the edge of the screen indicating the target’s direction). You can also create and join squads, however the squad-menu is not perfectly bug-free, but it works for the most part. You can also spawn at squad members now (like in Battlefield Bad Company 2). You have to click at their symbol at the spawn map (squad members are blue instead of green there).
Of course you can change all the settings that are in the options menus at will, they will be saved and applied after clicking the Apply-button. However you should not try to activate shadows, that will make the game unplayable Networking does also not work properly, so you should just stick with bots
Here you can find a installation howto: http://code.google.com/p/infinitewars/wiki/InstallationHowTo
There is something I want to poll here: What way of respawn handling do you prefer?
- One could handle it as in the Battlefield series. After you die you must wait a certain amount of time (always the same time, e.g. 15 seconds) before you respawn, and you have to click some button in ready up, else you won’t respawn after the 15 seconds.
- The other possibility is to handle it as in Wolfenstein (RTCW, W:ET or ET:QW). Here we would have a timer which constantly counts down to zero, and upon reaching zero it resets to some preset time (e.g. 20 seconds), and at reaching zero all dead players respawn. So with some luck, you only have to wait a few seconds after death, or you are unlucky and might have to wait the full 20 seconds. At this model you would not have to press a button in order to “ready up”, so you’d spawn automatically at the zero seconds counter.
At the moment the game is somewhat implementing #2. What would you prefer? What do you think would fit the game most? Looking forward to your feedback, about this issue and of course about the game itself!
Have fun playing around!
Bye
Hey there. I have not yet tested your game but about your respawn ideas, I think you must consider the amount of people that would probably respawn in that preset time you mention. #2 is based pretty much on ‘waves’ of respawns, so if about 3 people die every 20 second on a team, you may expect respawn waves of 3 persons every 20 sec thus giving the respawned player the feel of being in a group right away. That only would work if enough people respawn at that wave, so it depends on the amount of players per match and how often people die (avarage lifetime). If the amount of people that spawn during this ‘wave’ is about 1 every time it makes little sense to use such a system as the waves are pretty much non-existent in that case. Plus, this wave only works if everyone starts at the same spawn base, not all over the map such as BFBC2 does with the squad members.
In short, it depends on how much teamplay you want to make the people feel and the amount of dead people during each cycle