Infinitewars – Multiplayer Space Shooter [0.1.6 Released]

Thank you for your thoughts! Since there will be multiple spawn locations a player can choose from (as in battlefield) this concept of waves will be somewhat undermined. But I did get the impression that one can die pretty fast, even against bots. Of course this can be changed by changing damage and health values and so on.

But it sounds to me like #1 could be more suitable for the game. I’ll give it some extra thought :wink:



Ah, before I forget: There is only one game mode implemented at the moment (Destruction), so don’t try the other :wink:

There is another demo released now :slight_smile:



I implemented 2 new game modes, Team Deathmatch (works like in all other games) and Conquest (like in the Battlefield Series). There are a lot of changes in the game, too. For instance the respawn mechanism is now like in Battlefield, so if you die, you have to wait the same amount of time every time and you have to go back to the spawn menu (mapped onto the L key) and press the Ready button in order to respawn.



As always feel free to play around with all the settings and options, and if you have any questions or feedback just post here or write me a PM or Email :slight_smile:

I hope you enjoy it ^^.

Bye.

Finally, it’s here:

Infinite Wars Release 0.1



http://infinitewars.googlecode.com/files/infinitewars.zip



Major Changes:

  • Auto Update: When launching the game its version is compared to the newest version on the svn-server. If there is a newer version available, it is automatically downloaded.
  • Network play now possible (although not that playable, but still possible g).
  • Shields: all ships and spawnstations have a shield now which holds up weaponfire and ships that are not in the same team. If the shields are down you can fly near the objects. Shields don’t regenerate that quickly and only after a cooldown.
  • A lot of bugfixes and small enhancements.



    I hope the auto updater will allow me to just commit to the svn, change a text file and be fine instead of uploading 20 mb files for you to download :slight_smile:

    There is even a mechanism to allow the updater to be updated :smiley:

    The main problem is still the performance. I really tried to optimize and use some threading, but jme2 isn’t the best platform to use threading ^^. Even when all settings set to low and just using 8 players the game still keeps droping below 20 fps at my machine. Maybe it runs better on your machines, I don’t know. The main problem is that there are just too many WeaponFire objects at once.

    If you play on LAN and you are the client this should be ok since the client has much less to compute. But if you play on the server side it’s not that funny :confused:



    I hope you have fun playing around with this though :slight_smile:

    Bye

I get an exception when I run it:

[java]Exception in thread “main” java.lang.UnsatisfiedLinkError: org.lwjgl.DefaultSysImplementation.getPointerSize()I

at org.lwjgl.DefaultSysImplementation.getPointerSize(Native Method)

at org.lwjgl.Sys.<clinit>(Sys.java:100)

at org.lwjgl.opengl.Display.<clinit>(Display.java:130)

at main.ResolutionHandler.init(ResolutionHandler.java:35)

at main.InitGame.init(InitGame.java:162)

at main.InitGame.init(InitGame.java:266)

at main.InitGame.main(InitGame.java:261)[/java]

First I ran start.bat … which didn’t seem to do anything so then I ran infinitewars.jar and got the above error



EDIT: Actually I got start.bat to work now. I can go into the game but when I go to Create Game → Start Game, nothing happens

What did you change to get the start.bat to execute?



For creating a new game you have to choose a map from the installed map list on the left upper corner. There are two arrows in the upper middle. With them you can select and deselect the maps. It’s like in Battlefield. Maybe I should make the Start Button somewhat look inactive while there is no map selected… ^^.

Thanks for your response :slight_smile:

I managed to get the game start, i chose a map add it with the > button.

But really, i couldn’t figure out how do move or do things after that :stuck_out_tongue:



I saw a space ship and some laser shots far from me, looked exciting, but couldn’t get there :frowning:



A small tutorial could help, because the ui looks very rich and you are kind of lost the first time you get there.



But the game runs smoothly, i had no issue to run it.

Alright, here you have a tutorial:

http://code.google.com/p/infinitewars/wiki/Tutorial?ts=1308048220&updated=Tutorial



I hope this helps! You can also ask me any questions about the game here, of course.

Make sure you configure the keys to your wishes in the option menu, I put a lot of effort to make this possible in the game ^^.

Thanks for your feedback :slight_smile:

Dang, that game is fun! Reminded me of a combination of Freelancer and Star Wars: Battlefront 2… Lots of fun! I loved it!

Great that you’re having fun with it ^^. Never thought that someone would actually enjoy this… :slight_smile:



So I was able to get more FPS by optimizing the WeaponFire, at least on the low effect settings (default). They are now just yellow cylinders instead of TrailMeshes which is a lot faster, and it looks ok I guess.

This and a lot of bugfixes are in version 0.1.1. (http://infinitewars.googlecode.com/files/infinitewars.zip. I intended to release this via the auto update… but as I tested it I found that I created xml files with spaces, which is bad for http urls :slight_smile:

So I changed their names and now I have to release this version via google code after all g. Would’ve been below 2 mb, now its again around 19… thank god the bandwidth is that wide today :smiley:



I hope you have fun with the greater performance (I hope you “feel” this too g).

And don’t forget to check out the option menu. You can customize your whole input scheme and much more.

As always, feel free to post any feedback!

Version 0.1.2 is out, but unfortunatelly its not possible to get this via the auto updater… again. I’m sorry, but this is more complex than I thought. I had to consider creating new folders and deleting files, and not only downloading files ^^.

But I really hope I can release future updates by the auto updater. But this release has to be downloaded from here again:

http://infinitewars.googlecode.com/files/infinitewars.zip



Here are some changes:

  • You can gain awards now for 3 and 5 kill streaks, 3 SpawnStation captures and some more
  • Profile management is now working again :slight_smile:
  • Important events are now displayed in the top middle of the screen (e.g. when a team captures a SpawnStation)
  • SpawnStation now have Letter (like A, B…) to identify them
  • MotherShips now automatically build weapons
  • Bots now also conquer SpawnStations
  • Again lots of bug fixes and small improvements to performance



    I also added some descriptions of the HUD: http://code.google.com/p/infinitewars/wiki/Tutorial



    Regarding the awards: I wanted to create some nice images for those awards, but I didn’t came up with very nice ones and I also had to reuse some of them because I ran out of ideas (I’m not a very creative person when it comes to creating images anyway).

    Maybe someone could help me out here! I bet there are a lot of people having this kind of skill. Just post here, send me a PN or an Email!



    Any Feedback is always welcome!

Turns out that implementing an auto updater is really complicated, especially if you want to make this a good one…

I decided to drop this for now because it’s gotten a little too complex for my taste. All releases will be downloadable from the projects download page (http://code.google.com/p/infinitewars/downloads/list) and since I managed to drop the size of it below 20 mb it should be ok to up- and download it ^^.



At the link above you can download the new version 0.1.3. Here are some of the changes:

  • Huge redesign of the main menu
  • You now have to login (without any password) upon starting the game, and you can logout and relogin with any profile on the fly. When you download and first start the game you’ll have to create a new profile
  • Improving the difficulty levels of the AI to distinguish them better
  • Input validation at the console: if you use the console (available by pressing END on the keyboard) your input is now validated, so you cannot mess up your config anymore :slight_smile:
  • If using low effect quality explosions are now much more speedy but also don’t look as nice as on medium/high settings. If you still want to have nice looking (but less fast) explosions you can override by opening the console (END key) and type: disable_simple_explosions true

    Thise will disable these “simple explosions” and make them more eye pleasent g.
  • Of course again some bug fixes and minor improvments



    Actually the console was in the game since I released the first version but I felt that it wasn’t that well usable to “outsiders” because of the lack of input validation. But now you can’t destroy your config anymore so this should be more handy.

    This console behaves a lot like the console you might know from the Quake series (or other id-Software games) and like a Unix Shell:
  • by pressing TAB you can use auto-completion and show commands starting with the typed in String
  • by using the arrow keys UP and DOWN you can browse the history of your commands



    I also hope you like the new design of the main menu and the login mechanism!

    As always test test test and feedback feedback feedback :smiley:

any screenshots or gameplay videos?

I have super crappy internet right now but I would really like to see your work.

Hi Wasser,



I have downloaded your project several times to try. The last few times, I have been able to get the game to run and it really looks like you have put a lot of work into this project, for which you get my congratulations.



However, I haven’t been able to “play” the game yet coz I really don’t know what to do. I know that your theme is something similar to Homeworld and I have played all those titles. But your game seems a little baffling. Is there a “walk-through” or a “manual”? Is the game stricktly mulitplayer? Is there a single-player mode?



Maybe I’m missing something. A little push in the right direction would be nice.



Thanks.



Alf.

So far I have run into many instability issues. In general the fps of the game is quite low on high settings, almost unplayable. Given the game’s graphics there can be no excuse for it to be that low :stuck_out_tongue:

And occasionally the game just freezes and window becomes “Not Responding”. Another thing I noticed is that sometimes after loading you cannot see your spaceship, only the HUD above that says your team’s hitpoints and the scene itself but nothing else.

I think perhaps some logging can be added to make it easier to find issues like this?



Other than that I think the game is really great, there are a lot of minor issues but in general they can be avoided with enough care. I noticed the AI is quite smart and if the game really has multiplayer it would be cool. Its surprising how fun a game can be with just decent AI :slight_smile:



I would also like to mention the controls, the default layout is really confusing, I think WASD should be the default scheme for controlling the ship. Also having to hold right mouse button to steer is not really needed I think, the ship should always steer by the mouse. Then you can use left, middle, and right mouse buttons for weapons and maybe mouse wheel to switch weapons so you don’t need all those extra keys. Locking onto target should be automatic … Maybe by aiming at some enemy and pressing a button instead of scrolling through a list.

Thanks a lot for all your input!



@Eggsworth: Unfortunately there are not videos, but there is one screenshot: http://infinitewars.googlecode.com/svn/trunk/wiki/screen2.png



@alfinete: I actually created a tutorial and posted a link here. Here you got it again: http://code.google.com/p/infinitewars/wiki/Tutorial I hope this will help! I also dropped all the RTS stuff several months ago (I guess I should change the description at my first post…), so its a pure team based space shooter now.



@Momoko_Fan: The bottleneck is the effect setting. You can put everything to High and just the effects to low and it will run quite nice. The next bottleneck is the Shader settings. High settings enables Specular mapping which sometimes lets the FPS drop extemely low for some seconds but I think thats because of some preloading. So I recommend to set all settings to High except Effects to Low and Shaders to Medium.

I didn’t have any complete freezes for a long time now, can you describe what you did before it freezes? If you run it on Windows there should be a CMD window open while and after playing, so maybe there is some uncaught exception. And please describe “minor issues” so I can fix them :slight_smile:

About the controls: I agree that I should probably switch the default scheme to WASD since this is kinda standard these days. But I think that the rest of the control scheme is very suited for the game. I adapted it from the game Freelancer which I felt had very nice controls and was very thoughtthrough in this regard. It doesn’t make sense to scroll through your weapons because there are only 3 types of weapons: The Energy Weapons that you fire with the left mousebutton and which reload quite quickly, and the Projectile Weapons (which again divide into HeatSeekers and Missiles) which have much higher reload times, so it doesn’t make sense to change the default weapon because you cannot use the Projectile Weapons that much. They are more a tactical thing.

Another thing you mentioned ist the targeting. You might think that by press the T key you scroll through your enemies but it really just targets the nearest one ^^.

The AI is actually really simple g. But I managed to create the illusion that they are “smart” I guess. The thing is that you ship doesn’t withstand much weapon fire so you can die quite quickly. And since these energy weapons travel really quickly the probability that you get hit is kinda high, so even the Easy AI (which has some random inaccurary build in) hits you quite often because of these things.



Again I really appreciate all of your feedback!

The bottleneck is the effect setting. You can put everything to High and just the effects to low and it will run quite nice. The next bottleneck is the Shader settings. High settings enables Specular mapping which sometimes lets the FPS drop extemely low for some seconds but I think thats because of some preloading. So I recommend to set all settings to High except Effects to Low and Shaders to Medium.

I did that and it didn't help much. The game started out at 20 fps or so and then slowed down to an unplayable 7 fps.

I didn’t have any complete freezes for a long time now, can you describe what you did before it freezes?

When you customize your spaceship, go to "Select Items" and click "1 (20)" the game will freeze with "Not Responding" and there will be no error in any logs, probably because its a deadlock and not an exception. Pressing the "Buy Item" button will crash the application with this exception:

[java]Jul 2, 2011 6:56:23 PM com.jmex.game.DefaultUncaughtExceptionHandler uncaughtException
SEVERE: Main game loop broken by uncaught exception
java.lang.NullPointerException
at interfaces.spawnMenu.costumize.items.ItemSelectContent$3.buttonPressed(ItemSelectContent.java:139)
at org.fenggui.Button.fireButtonPressedEvent(Button.java:269)
at org.fenggui.Button.released(Button.java:115)
at org.fenggui.Button.mouseReleased(Button.java:198)
at org.fenggui.Display.fireMouseReleasedEvent(Display.java:465)
at input.FengJMEInputHandler$MouseListener.onButton(FengJMEInputHandler.java:189)
at com.jme.input.lwjgl.LWJGLMouseInput.update(LWJGLMouseInput.java:233)
at com.jme.input.InputSystem.update(InputSystem.java:67)
at com.jmex.game.StandardGame.run(StandardGame.java:248)
at java.lang.Thread.run(Unknown Source)[/java]

Also customize is spelled as "Costumize" which is incorrect but thats not really a freeze issue :P
By default you won't see any logs though, I think because the cmd /k option you specify in the batch file silences them automatically. Having logging automatically enabled and outputting to some file like game.log would help a lot since users don't have to copy the command line log, they can just copy from the file.

Thanks for the report!

I actually disabled all of JME’s logging and I don’t really log my own code. If I want to debug I usually insert some output messages temporarily g. But your descriptions helped me debug this stuff quite fast, they were really stupid mistakes.

But I still don’t get why you have so few FPS. What exact graphic settings do you use? Can you specify your hardware? This is really bugging me…

I have Windows 7 64 bit. Core 2 Duo 2.2 Ghz. GeForce 8400M GS.



I also tested this on a better video card, ATI Radeon 5770 which can play most of today’s games with max quality settings. The game ran at 25 fps and the input lag was very high, to the point where the game was unplayable. There was also random slowdowns here and there.



I think that maybe the game is doing something its not supposed to be doing … I suggest you profile to see if maybe you’re calling some kind of reset function or something very often that is not really necessary.

This is really not supposed to happen. Even on my laptop it runs smoothly at 60 FPS, even if it runs on battery (in which case it won’t clock up the CPU). Please tell me again which exact graphic settings you use and please try out the Low settings. This really puzzles me because I can’t even reproduce the problem here because on every machine (even on Linux) it just runs fine. Btw. I’m also using Win 7 64 Bit, so this should not be the problem.



Edit: What map and with what settings did you start your game? I only testet with about 14 bots, but when using over 26 bots its also starting to get laggy on my mashines. Also the map “scenario1” has a lot of asteroids in it, so maybe avoid this map. The map “fastscenario” is, as the name suggests, much faster with much less asteroids.

I always use the map “scenario1” since it seems the most polished one (or maybe its the skybox?). The settings are whatever is default for single player. I don’t see why having many asteroids should cause issues.

Resolution is 1024x768 windowed (since fullscreen is incredibly slow I cannot use it). Quality is high for everything except effects, shaders and antialiasing which is off.

Actually I tested again today and lo and behold … The game is running at 60 fps on my laptop (the one with GF8400GS)

EDIT: Okay now I started a new game and it became slow again… Looks like I have to restart my PC to get 60 fps in the game each time :stuck_out_tongue: