GDX-Proto (FPS/3D Engine, libgdx)

http://www.superior-tactics.com:12080/fps-demo-screen2.png

(this top was formerly title ‘FPS Engine’, I’ve since given the project a name and open sourced it on Github).

Github Repo: https://github.com/jrenner/gdx-proto/

GDX-Proto is a lightweight 3d engine for libgdx.

Some of its main features are:

  1. fast collision detection using bullet physics library (but not simulating the world, for better performance and allowing manual collision resolution).
  2. collision resolution in Java code, easily modified, or used as is.
  3. full featured server/client networking with entity interpolation and client prediction (no prediction for projectiles yet). Local single-player play is also supported, of course.
  4. simple entity system that handles velocity, position, rotation with easy to use API
  5. support for Decals (billboard sprites) or 3d models
  6. simple chat system over network
  7. uses libgdx new 3D API

It’s early days and the project is immature, but there is already a nice FPS demo jar that can be downloaded and run from the github repo bin directory.

Good start! Did you use the new 3d API?

Wow! Looking awesome. Did you use the new 3D API?

This is indeed the latest 3d api. The ground and the big purple house is me trying to make objects progamatically out of boxes. The other strange objects are imported fbx files I made from blender

OT: May i ask whats the “new 3D API”?

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: ERROR: 0:334: No matching function for call to min(vec4, vec3)

	at com.badlogic.gdx.graphics.g3d.shaders.BaseShader.init(BaseShader.java:158)
	at com.badlogic.gdx.graphics.g3d.shaders.DefaultShader.init(DefaultShader.java:572)
	at com.badlogic.gdx.graphics.g3d.utils.BaseShaderProvider.getShader(BaseShaderProvider.java:35)
	at com.badlogic.gdx.graphics.g3d.ModelBatch.render(ModelBatch.java:269)
	at org.jrenner.fps.View.render(View.java:118)
	at org.jrenner.fps.Main.render(Main.java:59)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:206)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

Doesn’t seem to run on macs :frowning:

Hi

Where is the source code? Maybe it can help to solve orange451 's problem :

Good luck.

Edit.: I have the same error under Mageia Linux 4 64 bits, Intel® 963Q Express.

tkausl, the new 3D API, is actually not so new anymore. It’s just an abstraction layer on top of OpenGL to make things a little easier to develop with. I actually don’t have any experience with the old 3D API

I fixed my shader problems. shouldn’t crash on mac or other linux distros anymore. Link is the same.

It was probably reproducible under Windows too. I’m sure that the OS wasn’t the culprit, only quite “tolerant” drivers accepted your shader as it was. I’ll give it another try when I’m at home.

Edit.: I’ve just tested it a few minutes under Windows 7 64 bits, Nvidia Quadro 600. It works correctly. You said that there is no shooting yet. I advise you to read this discussion about collisions in FPS. To sum up, if you need a quick and dirty method to implement the shooting, just use rays, otherwise use multisampling (a posteriori discrete collision detection, easy to implement but expensive) or a priori continuous collision detection (harder to implement but more accurate, more efficient most of the time, supported by some physics engine). I quoted some articles in the thread above, I hope it will be helpful for you. Anyway, you can use the LibGDX 3D physics Bullet wrapper, maybe it is already the case.

Here is a video of the engine being tested. The framerate is only choppy due to recording.

new playable demo with some fake enemies, shooting, particle effects, fog, and better physics

You should add a gun and some sound ;D

There are some free guns here:
http://www.psionicgames.com/free-stuff/free-3d-models/

You can find some free sounds on freesound.org.

Nice demo, keep up the good work.

I’m releasing a new test that includes shoot + destroying monsters and networked multiplayer play!

I update the original post and added a new download link and instructions.

A big announcement. I’ve open sourced the project on github!