Space Project version 0.2 – watch the new VIDEO

Hi,



I’ve been working on my first Java project past weeks. While I am a total beginner when it comes to Java programming, I’ve done some BASIC-programming before. A nearby university had arranged an online programming course this summer which I participated in. I didn’t manage to finish the course(they had nasty deadlines :/) but I picked up basic knowledge about Java.



I’ve always been interested in game creation and have had some earlier projects of my own, so I started searching for a game library for Java and found JMonkeyEngine. It was actually more than I’d expected because well, I haven’t seen that many good games programmed in Java. But I started experimenting with the features and was very pleased. Now I want to share the results with you. The game is going to be story-based space shooter.





Current features:


  • Creating and controlling fighter ships: accelerating, braking, turning and shooting
  • Player controls: movement, targeting and shooting
  • Controlling projectiles and hits
  • Destroying ships
  • Explosions





    Planned features:


  • Mission-based campaign including cutscenes based on the game engine
  • Different ship types such as gunboats and capital ships
  • Different weapon systems and missiles
  • Space stations and planets
  • Sound effects and music
  • AI for allies and enemies
  • Graphical improvements
  • More to come



    I’ve got two videos in YouTube right now and I’ll be uploading some version of the game soon!



    http://www.youtube.com/watch?v=D7j8PGu-Df0&hd=1


http://www.youtube.com/watch?v=1BbBkP3rUS4&hd=1


Feel free to tell me your opinions!
11 Likes

Hey, thats looking great already, congratulations :smiley:



Did you upload some footage of your game for our next release video? I guess it’d really fit in :slight_smile: http://hub.jmonkeyengine.org/2012/09/26/last-call-for-promo-videos-and-why-you-should-stop-being-a-lurker/

looks pretty impressive. Even more since it’s you first project.



How did you the engince exaust? Particle effect or a custom shader?

First project? What will your tenth look like? Great start!

Movement seems “right” and the targeting system looks very cool. Nice job!

Yeah, I echo what everyone else is saying - a really nice start there :slight_smile:

Hey man! I love your game! You will make it cool!



i’m doing the space game too. But it’s still in tech demo.

That looks really nice! I like the HUD.

Thanks for your comments everyone! I’m really glad you like it. Here’s the download link for an early version of the game:



http://www.sendspace.com/file/tr2mp0



Please tell me if you encounter some bugs or other issues. I’m open for all feedback, if you think you’ve got a nice idea or something would be better some other way, go on and ask me.



Here is the readme file:



C O N T R O L S

Accelerate = W
Brake = S
Turn left/right = Mouse X-axis
Turn up/down = Mouse Y-axis
Roll left = Q
Roll right = E

Shoot = Left mouse button
Select target = Right mouse button

Toggle OpenGL stats = F9
Toggle FPS = F10
Toggle hitboxes = F11


I'd also apprecciate if you reported me the FPS you are getting. I'm currently using pretty much particles, lights and post processing like PSSM shadows.
@pate5 said:
Thanks for your comments everyone! I'm really glad you like it. Here's the download link for an early version of the game:

http://www.sendspace.com/file/tr2mp0

Please tell me if you encounter some bugs or other issues. I'm open for all feedback, if you think you've got a nice idea or something would be better some other way, go on and ask me.

Here is the readme file:



I'd also apprecciate if you reported me the FPS you are getting. I'm currently using pretty much particles, lights and post processing like PSSM shadows.


Can you upload linux version? Or jar...

Ah. I’ve been using only windows so long. Totally forgot that :frowning: Here’s the .jar file, just put it to the same folder than the .exe file.



http://www.sendspace.com/file/y2wgwy

Awesomeness!

Really past weeks…how many weeks are you talking about? It is really impressive especially for your first project and with you java expierence.



Looks quite solid so far and nice graphics.

I have 70-90 fps (without vsync and antializing, 1280x760px). not so much… nVidia GTS 250, Linux 64bit.

And i have 392 objects when i see loaded scene. Pretty big objects count for one asteroid and 10 ships.



Suggestions:

  • use 1 DirectLight and 1 AmbientLight (no more lights)
  • remove PSSM Shadow processor as you have no ground to cast shadows.
  • reduce objects count using BatchNode (to merge some instances into one object).



    Good Things:

    I LOVE GUI, SHOOTING, SHIPS, ASTEROID!!



    Also, how did you make stars? Is this skybox?





    I had “IndexOutOfBoundsException” exception… after killing some ships…

    LOG:



    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@73c3e130 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@78b9b1e6 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@674eb0f5 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@6063eda7 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@4087a061 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@54ef0584 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@185348ac to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@18c18838 to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:50 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@49d6213a to physics space.

    окт 13, 2012 10:40:50 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@2d15aeee to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@6a8fa261 to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@5b5a7e47 to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@c2b2bfc to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Root Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flame) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Smoke) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Sparks) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Junk) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Ship node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Ship node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Ship node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@3be5cd7a to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Projectiles/projectile1.blend) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.bullet.PhysicsSpace addGhostObject

    INFO: Adding ghost object com.bulletphysics.collision.dispatch.PairCachingGhostObject@6c15234e to physics space.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node attachChild

    INFO: Child (Flash) attached to this node (Root Node)

    окт 13, 2012 10:40:51 PM com.jme3.app.Application handleError

    SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

    java.lang.IndexOutOfBoundsException: Index: 5, Size: 5

    at java.util.ArrayList.rangeCheck(ArrayList.java:604)

    at java.util.ArrayList.get(ArrayList.java:382)

    at mygame.Main.updateHud(Main.java:427)

    at mygame.Main.simpleUpdate(Main.java:259)

    at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)

    at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)

    at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)

    at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)

    at java.lang.Thread.run(Thread.java:722)



    окт 13, 2012 10:40:51 PM com.jme3.renderer.lwjgl.LwjglRenderer cleanup

    INFO: Deleting objects and invalidating state

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.scene.Node detachChildAt

    INFO: Gui Node (Node): Child removed.

    окт 13, 2012 10:40:51 PM com.jme3.input.lwjgl.LwjglMouseInput destroy

    INFO: Mouse destroyed.

    окт 13, 2012 10:40:51 PM com.jme3.input.lwjgl.LwjglKeyInput destroy

    INFO: Keyboard destroyed.

    окт 13, 2012 10:40:51 PM com.jme3.system.lwjgl.LwjglAbstractDisplay deinitInThread

    INFO: Display destroyed.
1 Like

Thanks for all your comments guys. Here’s a small update. I’ve been working on internal structures so not much new features yet.



I’ve now made super simple AI for the ships. I’ve also working on new ship model and finished a new skybox. I managed to find and kill a major memory leak that slowed down the program quite a bit. The movement, especially turning is smoother now.



I’ve fixed that IndexOutOfBoundsException exception which actually was caused by the contacts list.



http://www.youtube.com/watch?v=vyhzH4-9bnk



Feel free to share your opinions and feelings!
9 Likes

Looks really nice. I’m suddenly really missing my old X-wing vs Tie Fighter. :slight_smile:

@pspeed said:
Looks really nice. I'm suddenly really missing my old X-wing vs Tie Fighter. :)


Lol that's some old good game uh?! ^^ I just played X-Wing Alliance :/
@shirkit said:
Lol that's some old good game uh?! ^^ I just played X-Wing Alliance :/


I tell you what... if Lucas Arts would update the X-wing vs Tie Fighter franchise, I would throw good money at them. Been too long since I've had so much fun playing a space sim. LAN party with 8-players against a star destroyer is one of the best times I had playing a game.

...but now I will stop derailing this thread. The OP's game looks pretty nice. :)

Looking very nice :slight_smile:

Hello again!



It’s a few weeks from my last post but the project is still far from dead. I’ve been programming very actively and made some real improvements. I’ve optimized the whole game quite a bit. I’ve also cleaned the structure of the code to be more easily extended. I’ve added 3d sound and music in the game.



Most important is the AI update. Now the AI autonomously chooses a target, starts chasing it and fighting. They now also dodge other ships, they can even handle multiple ships in close range and get out of the situation.



Another thing I’ve been working on is a module system for the ships. Now I can add any number of modules like guns and engines to any ship. The guns for example turn to the ship target’s direction while having maximum angle they can turn. This all works smoothly with no twitching. When I want a ship fire, I just call fire method for each of the ship’s gun modules. The system also allows me to make autonomous turrets on larger ships.



I’ve also made some simple updates on player controls and a brand new ship model.



No video this time, I’ll just give you some sneak peek of the new ship model. I’ll be releasing a new video of the new features later this week hopefully.



http://www.elisanet.fi/pate5/screenshot4.jpg



Click image link for bigger.



Please feel free to tell your opinions. I’d love to hear anything!

4 Likes