pate5
October 13, 2012, 12:49pm
1
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
normen
October 13, 2012, 1:00pm
2
Hey, thats looking great already, congratulations
Did you upload some footage of your game for our next release video? I guess it’d really fit in http://hub.jmonkeyengine.org/2012/09/26/last-call-for-promo-videos-and-why-you-should-stop-being-a-lurker/
zzuegg
October 13, 2012, 1:01pm
3
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!
zarch
October 13, 2012, 2:29pm
6
Yeah, I echo what everyone else is saying - a really nice start there
mifth
October 13, 2012, 3:12pm
7
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.
pate5
October 13, 2012, 4:40pm
9
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.
mifth
October 13, 2012, 4:57pm
10
@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...
pate5
October 13, 2012, 5:39pm
11
Ah. I’ve been using only windows so long. Totally forgot that Here’s the .jar file, just put it to the same folder than the .exe file.
http://www.sendspace.com/file/y2wgwy
xeratos
October 13, 2012, 6:53pm
13
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.
mifth
October 13, 2012, 8:57pm
14
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
pate5
October 25, 2012, 5:45pm
15
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
pspeed
October 25, 2012, 6:02pm
16
Looks really nice. I’m suddenly really missing my old X-wing vs Tie Fighter.
shirkit
October 25, 2012, 6:17pm
17
@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 :/
pspeed
October 25, 2012, 6:22pm
18
@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. :)
pate5
November 13, 2012, 7:11pm
20
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