Gravity Arena (More Creative Name Pending)

Hello, I am creating a game in Jmonkey. It’s eventually going to be a MOBA (multiplayer online battle arena).



Current demo content: A Gravity Lord ship that you can fly around and shoot stuff with, along with asteroids that bounce off each other (no physics for the ship quite yet)

Link to the current demo:

http://www.kongregate.com/games/GravityGames/gravity-arena



Some pictures from my asteroid generator are now at the bottom of this post!



Edit October 15th:

I added sound for the thrusters.

Edit October 16th:

I am fiddling with the particle emitter to make a bad looking wake effect.

I’ll probably want to re-work it with spheres or something later instead of squares, but there’s now a funky space warp effect AND sound. woo.

Edit October 21st/22nd:

I added an asteroid generator (which makes random rock and crystal asteroids) and an edge you bounce off of to the scene. I am aware the edge looks stupid, it does so for a few reasons, all of them known issues with my procedural generation system which I haven’t bothered to fix yet.

Edit October 22nd/23rd:

I started messing around with physics and switching the speed controls for asteroids to be done with a RigidBodyControl object so they bounce off of each other. Currently I am experiencing a bug where they don’t move, forum post about that is here.

Edit October 23rd:

I now have the physics working how I want it, so asteroids move around and bump into each other. They also get deleted when they get 5 units past the edge object (that yellow orange thing).

There is currently a memory leak, probably related to the textures of the asteroids (which are kind of too large right now, and I’m not sure they are getting deleted when I remove the asteroids from the scene.



Setting:

The game takes place in a galaxy that underwent a huge war which involved wholesale destruction of interstellar civilizations. The groups that survived the war decided that they shouldn’t allow things like that to happen, and formulated that politicians fight each other using single spacecraft rather than sending out massive armies.



You start out as a space station governor or some similarly low level leader, and by fighting with other politicians, you can increase your area of control and such.



Civilizations:

We plan to start with 3 main civilizations.

Gravity Lords: An ancient race that long ago learned to manipulate gravity. They very strongly rely on gravity and space-time manipulation, and lost interest in other disciplines. Now they treat their abilities like a mystic force, and while they can and do make machines that operate using gravity manipulation, more often they use it directly.

Furijin: The Furijin are masters of energy and magnetism. They tend to make things out of ferrous metals and superconducting crystals, and enjoy using tricky traps and tactics.

Chimera: A melding of flesh and machine in various quantities, a Chimera citizen may choose to be anything they want to be. They are adept at incorporating any technology onto their bodies, and many will become space ships rather than traveling in one.



Gameplay:

The technology used in the game is often advanced to the point of it looking like magic, and many of the civilizations don’t really remember how their powers work, just that they do. As such the equipment used often seems like a combination of technology and mysticism.

We also want to make the game very physical. Think Firefly, where you have space ships doing train robberies. There will be grappling hooks used alongside tractor beams, light sabers as well as shotguns, and of course weird looking cyborg life forms spitting acid and chomping on asteroids.







Procedurally Generated Asteroids:



A smoothish rocky one with a low “roughness factor”





A spiky one with the roughness factor turned way up





A few crystal asteroids:





2 Likes

This sounds really cool! Looking forward to seeing it!

1 Like

There are several things I am working on that I am hoping people can help me with.



Transforms:

I am currently using my own speed and accel variables to control motion of objects. Currently I am having a slight issue where I’ll create a bullet in the gun’s reference frame (so either 0,0,0 or wherever the aperture of the gun is maybe weaponLength,0,0), and then change the parent to be the universe instead of the gun. I know it is pretty easy to get the world transform and then use that to modify all the details of the object, but what about going from one thing to another (for instance if an object were transferred from one thing to another while skipping the rootNode) Is the easiest way to use the world transform and then use an inversion of the other objects getWorldTransform?





Special Effects: So I need several different effects and I was hoping I could get pointed in the right direction. I’ve never written a shader before but I think if I had one that did something SORTA like what I need, I could probably tinker it enough to make it work.

  1. I am looking for some prior work on lightning that I could check out for some ideas.
  2. Something sort of like a post processor effect for water would work nicely for showing a graphical representation of gravity waves. Is it easy to just make a random geometry and have it’s visible section cause an effect on the screen? For instance perhaps I want a cone behind a gravity bending engine that while the cone is not visible, it takes whatever reaches the screen and adds a ripple effect.



    Distribution:

    I am planning to release it as an applet on Facebook and Kongregate.

    Currently my project isn’t undergoing clean and build when I hit the clean and build button. The reason being there are several classes which I am not using which have errors. I know you can filter things out of the project compile list, but the project runs. Can I get it to produce a distribution folder without having to filter out every file that has an incomplete (and non compilable) method, or is that what needs to be done? As soon as this is done I can release the mini-demo.



    I’ll probably want to add more to this list eventually, but for some reason that’s all I can think of for now.

Sounds good, I am interested in how the networking will work, will all players connect to a central server, will player be able to download a separate app and host their own servers, or what? :smiley: good luck

1 Like
@yuxemporos said:
2) Something sort of like a post processor effect for water would work nicely for showing a graphical representation of gravity waves. Is it easy to just make a random geometry and have it's visible section cause an effect on the screen? For instance perhaps I want a cone behind a gravity bending engine that while the cone is not visible, it takes whatever reaches the screen and adds a ripple effect.


Have a look at the GPUAnimationFactory (search for the thread on the site here and page through it to see the different "random" examples of what you can do with it)... it should be able to produce the effects your looking for. I've been meaning to create a version of this to be used with the particle emitter, but haven't had the chance to do it yet. This would pretty much allow you to do just about anything you can think of. If you feel so inclined, feel free to update this for use with particles...

EDIT: I also should create a version that doesn't use lighting.... but... well... time and such.

Um.. here be the link: GPU Animation Factory
@javagame said:
Sounds good, I am interested in how the networking will work, will all players connect to a central server, will player be able to download a separate app and host their own servers, or what? :D good luck


I'm hoping to make a sort of P2P version where players can do their own hosting or participate in some of the hosting activity to take load off the main server, but for now simple is best.
@t0neg0d said:
Have a look at the GPUAnimationFactory (search for the thread on the site here and page through it to see the different "random" examples of what you can do with it)... it should be able to produce the effects your looking for. I've been meaning to create a version of this to be used with the particle emitter, but haven't had the chance to do it yet. This would pretty much allow you to do just about anything you can think of. If you feel so inclined, feel free to update this for use with particles...

EDIT: I also should create a version that doesn't use lighting.... but... well... time and such.

Um.. here be the link: GPU Animation Factory


I saw that the other day when I was researching. It's awesome, but I don't want to ripple a texture on an object, I want to ripple the 2d image in the screen. Is there an easy way to access that information?

The thing there looks like it would be great for making a plasma shield, an acid blob, or things of that nature, but if it can't warp *everything else* besides the object representing the coverage area of the post-processing effect, then it can't do what I want gravity warp stuff to do.

I think @nehon or @mifth might have an idea about this topic?
@yuxemporos said:
I saw that the other day when I was researching. It's awesome, but I don't want to ripple a texture on an object, I want to ripple the 2d image in the screen. Is there an easy way to access that information?

The thing there looks like it would be great for making a plasma shield, an acid blob, or things of that nature, but if it can't warp *everything else* besides the object representing the coverage area of the post-processing effect, then it can't do what I want gravity warp stuff to do.

I think @nehon or @mifth might have an idea about this topic?


This allows you to do that as well. And stops the edge tearing/pulling so the viewport perspective is seamless. One sec... will find a vid...

http://www.youtube.com/watch?v=V2Xhhe5M9wM&feature=share&list=ULV2Xhhe5M9wM


http://www.youtube.com/watch?v=YVRS9tsK8s8&feature=share&list=ULYVRS9tsK8s8
1 Like

My earlier estimate of a week for the “see a ship fly around and shoot bullets” demo seems to have been overestimating the difficulty of getting stuff to compile. I checked out my project’s source into a new jmonkey project, deleted everything that has errors, and then hit build, and voila I have my applet.



The method that transfers things from a local space to a world space still needs work (I need to be able to get everything relative to another spatial except with speed instead of rotation and position).



Information before you start:



It’s using a ChaseCam modified to not rotate and just sit above the ship.

W-A-S-D cause the ship to rotate, thrust, and reverse, as one might expect.

Spacebar fires the main weapon.



The ship is supposed to look a bit like an old fashioned submarine. Currently I am having bugs in my procedural generation code for torii, so the hovering thing in front of the gun barrel and at the base of the gun barrel are both screwy looking, Also my normals are off because I’m making them work with a silly hack.



Anyway pre-alpha, woo:



http://www.kongregate.com/games/GravityGames/gravity-arena

@t0neg0d said:
This allows you to do that as well. And stops the edge tearing/pulling so the viewport perspective is seamless. One sec... will find a vid...

http://www.youtube.com/watch?v=V2Xhhe5M9wM&feature=share&list=ULV2Xhhe5M9wM


http://www.youtube.com/watch?v=YVRS9tsK8s8&feature=share&list=ULYVRS9tsK8s8



Well, that is warping objects in the scene, right?

It looks awesome, but I don't think it's what I need.
Here's what I want to do: have a bunch of objects using a normal phong shader or whatever. Then make a different object and have everything behind it or in front of it or inside of it or something get warped. Is that doable?

Basically sorta how glow takes your sphere, and then draws a circle of GlowColor on the screen in front of the sphere, I want to take some spatials with normal shaders, and then I want to have this effect happen if they are being obscured by the warp effect's geometry.

Does that make sense?

Alternatively I don't really understand what you're doing in those videos. Are they an effect on a geometry or are they a post processor effect?
@yuxemporos said:
My earlier estimate of a week for the "see a ship fly around and shoot bullets" demo seems to have been overestimating the difficulty of getting stuff to compile. I checked out my project's source into a new jmonkey project, deleted everything that has errors, and then hit build, and voila I have my applet.

The method that transfers things from a local space to a world space still needs work (I need to be able to get everything relative to another spatial except with speed instead of rotation and position).

Information before you start:

It's using a ChaseCam modified to not rotate and just sit above the ship.
W-A-S-D cause the ship to rotate, thrust, and reverse, as one might expect.
Spacebar fires the main weapon.

The ship is supposed to look a bit like an old fashioned submarine. Currently I am having bugs in my procedural generation code for torii, so the hovering thing in front of the gun barrel and at the base of the gun barrel are both screwy looking, Also my normals are off because I'm making them work with a silly hack.

Anyway pre-alpha, woo:

http://www.kongregate.com/games/GravityGames/gravity-arena


Tried to load... don't have JavaFX on my machine atm. :( What is using JavaFX?
@t0neg0d said:
Tried to load... don't have JavaFX on my machine atm. :( What is using JavaFX?


Uh, as far as I know, nothing is using JavaFX.

I don't even fully know what it is, though I have heard of it?

I'll try and figure that out later I guess. Gotta go to work!
@yuxemporos said:
Well, that is warping objects in the scene, right?

It looks awesome, but I don't think it's what I need.
Here's what I want to do: have a bunch of objects using a normal phong shader or whatever. Then make a different object and have everything behind it or in front of it or inside of it or something get warped. Is that doable?

Basically sorta how glow takes your sphere, and then draws a circle of GlowColor on the screen in front of the sphere, I want to take some spatials with normal shaders, and then I want to have this effect happen if they are being obscured by the warp effect's geometry.

Does that make sense?

Alternatively I don't really understand what you're doing in those videos. Are they an effect on a geometry or are they a post processor effect?


The videos are using the deform as a post processing filter... meaning that it is being applied to the end texture (everything). However, creating a post process filter or scene processor forcing this shader to do what you are looking for is really a no brainer. Basically what I am getting at is: Writing the filter/scene processor to separate out the objects to apply the effect to is the easy part. No matter which route you go, you'll need a shader that can actually deform the objects or textures. How you apply it is up to you, but the effect your looking for is easily achievable using this shader.
@t0neg0d said:
The videos are using the deform as a post processing filter... meaning that it is being applied to the end texture (everything). However, creating a post process filter or scene processor forcing this shader to do what you are looking for is really a no brainer. Basically what I am getting at is: Writing the filter/scene processor to separate out the objects to apply the effect to is the easy part. No matter which route you go, you'll need a shader that can actually deform the objects or textures. How you apply it is up to you, but the effect your looking for is easily achievable using this shader.


That's cool. I'll have to ask you more about that later, for now I want to figure out how to let you actually see the thing I'm working on!

Can you tell me more about what it said when you tried to run it?

I don't think I'm using JavaFX but I'll search the folder for any files with references to it.
@yuxemporos said:
That's cool. I'll have to ask you more about that later, for now I want to figure out how to let you actually see the thing I'm working on!

Can you tell me more about what it said when you tried to run it?

I don't think I'm using JavaFX but I'll search the folder for any files with references to it.


It seems to want to load the jvm from Oracle/JavaFX/ which is not installed :( Not sure if it's my machine or the applet. Will try and find another JME applet and see.

So there was not a single file in my project containing the word “JavaFX” at least when I used a search program to go through it all. Should I drop a line in one of the troubleshooting forums?



@t0neg0d

Here’s another jmonkey applet!

http://www.jmonkeyengine.com/showcase/applet/

Ugh… my machine. I started using safari recently (been installed forever) because chrome is SUCH A PIG NOW (Can you hear me Google??) Lemme try from another browser… I’m sure it is specific to Safari (on my machine). Sec…

Works fine in Chrome… definately my machine. Sorry for the small freak-out >.< I like it! For the heck of it, you may want to check out what @mifth put together as a launch platform for this type of thing… it’s pretty freakin’ cool as well. Might give you some ideas if nothing else. I think he has it set up with some pretty neat physics stuff and such, if I remember the video correctly.

Mifth seems to have a lot of posts. Could you be more specific as what you think I should check out?



I guess safari had java disabled or weird settings for it or something.9

@yuxemporos said:
Mifth seems to have a lot of posts. Could you be more specific as what you think I should check out?

I guess safari had java disabled or weird settings for it or something.9


I can't remember... that's why I tagged his name :) Hopefully he'll be able to point you at it when he gets on next.