Open Vehicular Epic

Open Vehicular Epic (openV.E. or V.E.) is a vehicle emulator based around intense gameplay, programmed in an epic, unreal style, with a unique blend of strategical/experimental elements. Players can program their own vehicles/maps and submit them for others to use. There’s also multiplayer support, though port-forwarding or a VPN service is required.
OpenV.E. is programmed in pure Java(FX) and does not utilize any game engines. This has been a central ideology behind the development, with benefits including a unique experience and easy source access for anyone to fully modify the project as they wish. Open Vehicular Epic is a non-profit, open-source Gradle project. As of this writing, you will need an IDE to run it.
For more about this project e-mail RyanAlbano1@gmail.com
Download here:
https://www.indiedb.com/games/vehicular-epic/downloads
If you want to submit content, keep up with, or otherwise help support the project, join the dedicated Discord server:
https://discord.gg/y4tPpsT

Nice game… actually the first playable JavaFX 3D game with actual content. :smiley:

Cheers

How was the performance? My system’s pretty good, but I fear the game’s going to be slow (or fail) on older computers.

I had around 20-40 FPS and some stuttering in the camera flow (the game itself was fluent, only the movement of the camera was strange – is this intentional?).
My computer is pretty old (dual core 2.6 Ghz CPU), but the game ran fine. JavaFX runs well if you have OpenGL 3.0 support (on Linux for my part).
Another strange thing: The menu is a bit slow and the selected entry is flickering?!
I also had a look at your source code because I am considering which graphics engine I am going to use for future projects. I found was a bit messy with methods called “pp” or “pl” :smiley:
But all in all – well done!

works fine for me, there is a way to exit from a game and go back to menu from ingame ?

Press Enter or Escape

Hi

Good job. I advise you to use a versioning system (GIT, Subversion) to help developers to follow the changes in your source code. Moreover, packaging it as a Netbeans project is a bad idea to me, Netbeans generates tons of files, why not using a build tool like Gradle, Ant or Maven? Instead of packaging your game as an “executable” JAR, you should rather package it as a complete software with all necessary dependencies, it would be helpful for GNU Linux users as only a few distros (Fedora, Debian, Ubuntu) support OpenJFX (JavaFX) and numerous end users have no JRE installed on their machines. Drive your game easier to install if you want to target non technical end users and not only Java programmers. Good luck.

Nice work, no crashes so far, tough it complained (in the console) about being unable to load sound files from within the jar when simply running it. Otherwise it ran fine, still the selected menu entry is flickering a bit (or rather the border around it), see my previous post.

Is it intentional that there are no textures at all in the game? Also the graphics look a bit pale and dull.
What are your experiences with JavaFX? I think it isn’t really suited for games, especially not 3D games. In my next game I’m gonna use either LibGDX or JMonkeyEngine.

Cheers

There should be textures, actually ???
What are your computer specifications?

Where are some textures, to check for sure? I tested the game on a HD 6450, on which other JavaFX apps run fine with all graphical features. I mean, there are no image textures at all, but all of the shapes are properly colored and lighted. No errors in command line, except those with the music files, but thats my fault as I saw in the readme.

Also, the LOD makes those triangles on the ground appear and disappear all the time… maybe let them fade in and/or set the LOD distance higher?

Cheers

Nearly all of the track pieces should be textured. Many of the vehicles have textures as well. Also there should be image textures in the game’s ‘images’ folder.

Alright, I’ve investigated a bit more.

There are actually images in the folder, and I also had a look at the source code. I think that the paths to your images are not working, at least on Linux.

I always wondered why there was no exception, it seems they’re turned off by default. So I enabled the switch “-Dprism.verbose=true” and I got exceptions, namely the following (first one):


java.io.FileNotFoundException: images/Water.jpg (File not found)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:220)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:158)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:113)
	at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)
	at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)
	at java.base/java.net.URL.openStream(URL.java:1117)
	at javafx.graphics/com.sun.javafx.iio.common.ImageTools.createInputStream(ImageTools.java:486)
	at javafx.graphics/com.sun.javafx.iio.ImageStorage.loadAll(ImageStorage.java:311)
	at javafx.graphics/com.sun.javafx.tk.quantum.PrismImageLoader2.loadAll(PrismImageLoader2.java:127)
	at javafx.graphics/com.sun.javafx.tk.quantum.PrismImageLoader2.<init>(PrismImageLoader2.java:71)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.loadImage(QuantumToolkit.java:735)
	at javafx.graphics/javafx.scene.image.Image.loadImage(Image.java:1052)
	at javafx.graphics/javafx.scene.image.Image.initialize(Image.java:802)
	at javafx.graphics/javafx.scene.image.Image.<init>(Image.java:618)
	at VehicularEpic.<init>(VehicularEpic.java:269)
	[…]

Having a look at line 269 of your source code, it says


Image wtr = new Image("file:images/Water.jpg") […]

And that seems to be the culprit.
Loading images the following way works on all platforms (from outside the Jar):


Image img = new Image(new FileInputStream("images/Water.jpg"));

Performance is still good, even on larger maps.
I don’t know how you manage to maintain your code with this weird assembly-style naming and everything crammed into one file – with networking and all the other stuff… ???
And one last thing: In this “Underwater” map there’s weird flickering of the graphics everywhere, no matter if inside the water or not.

Cheers

Many thanks for the help. For the next build, I’ve implemented the FileInputStream technique as you said, so hopefully the image loading issue’s resolved.
I also changed the audio loading order so on Linux, you can still hear your vehicle, even when multiple vehicles are in a match.

Glad to see you’re still working on this! :slight_smile:

Though the jump wasn’t high enough to go through the ring!

New Build Released Today

RECENT CHANGES

My original F-22 model swapped with a high-quality .FBX version.

My original Desert Humvee model swapped with a high-quality .3DS version.

New Bugatti Chiron engine sounds

My original Koenigsegg model swapped with a high-quality Agera.


FUTURE ISSUES

Improve memory management

Adding extra game modes (if they make good gameplay).

Accepting all user-submitted vehicles and maps! If you’ve built something and it’s ready-to-go for V.E., feel free to submit it!

UPDATE:

The game’s source code is being completely rewritten in plain English

I’ve already updated some of it for the current build. Hopefully, everything will be renamed by the next build.

Awesome to see that you’re so motivated and you’re continuing to work on this!

That’s amazing! :smiley: It was provoking brain cancer if I tried to browse your code otherwise.

I can only agree with @Archive .

Cheers

I’ve manged to migrate the game to JDK 12 and the JavaFX 12 SDK, which is something I’ve been trying to do for a while.
What I’m unsure of now is how to get the game down to an executable .jar (like it’s set up now) with JavaFX 12, so that gamers can play without the IDE.
Anyone think they can help with this, or would know how to go about it?
Thanks

A source repository for the game has been created at GitHub
If anyone wants to help improve the game’s code, let me know.

Going forward, I’m hoping to get at least a few dedicated developers helping on V.E. to improve it further. 8)