Elevox [a0.7_2] - A Multiplayer Voxel Game

Hello there!

I’m here to present my game “Elevox” and also to find maybe some advice for it. It’s still in InDev so it isn’t actually playable (since there is no content). This game is thought for Multiplayer later on but there will be a singleplayer mode anyways. It’s about travelling through a procedurally generated world, fighting monsters dungeons and all the cool stuff you know from RPGs. But this is still a long way to go. I search for people who could help me with some problems.


http://www11.pic-upload.de/thumb/07.09.15/4j4jkiw6uwqk.png

http://www11.pic-upload.de/thumb/07.09.15/a75e8fvkejmf.png

http://www11.pic-upload.de/thumb/07.09.15/ceb1dzjvnr5.png

http://www11.pic-upload.de/thumb/07.09.15/a4aidl69pyz.png

You can find the game here:

Download “Elevox Launcher” (Dropbox)

This launcher allows you to download any versions I will release in the future,
and will help me to give you some news on the development. You have to perform
an easy registration, but mind this launcher is still minimalist. It can’t update itself,
and there is no way to recover your password yet, but I will add this feature soon.

Note: I had to update launcher since I found some bugs, which could occur if you
use more than one account. I also blacklisted several trash-mails.

DevLog:


Changelog for version a0.7

  • animation system was updated (means new animations will come soon)
  • experience and levels are added (stats scale with levels)
  • player inventory, quickslot and stats are saved now
  • chunk loading speed is now 3-4 times faster (not the loading from the file, but the generation of render data)
  • fullscreen can now be toggled with “F11”
  • player turns to the direction you are looking when you attack
  • you can keep left mouse button pressed to chain the 2 basic attacks of the hammer
  • reduced memory usage
  • add main menu (and world creation screen)

Changes for version a0.8

done:

  • insane reduction of memory usage even at high render distances (down to only 200-250MB Heap Space sometimes)

working on:

  • better world generation
  • launcher (for easier updates and version selection, as well as being able to provide news)

todo:

  • hammer skills and animations (more weapons later)
  • character menu (stats, equipment, etc.)
  • launcher with updating function
  • more might come…

If you download and try the game i would really appreciate if you could tell me what you think.

If you find an error please tell me so I can fix it.
Known bugs:

  • transparency of ice doesn’t work properly (working on it)

Performance (updated)

37x37 = 1,369 Chunks loaded
64x64x256 = 1,048,576 Blocks per Chunk

1,369 x 1,048,576 = 1,435,500,544 (before: 314,703,872) Blocks loaded in total
(takes time to load all of these of course and not all faces are drawn)

stable 60 fps
you can (still!!!) use less than 500MB to run (tested with “-Xmx 512”).

My System:

NVIDIA GeForce GTX 670
Intel Core i5-3450 CPU @ 3.10GHz
8GB DDR3 RAM @ 1333Mhz

If you want to know how I did something please ask me. If the game doesn’t start, terminate it, delete “worlds” folder and try again.

Features

  • “infinite” procedurally generated world
    -> dynamically loading chunks
    -> chunk saving and loading
    -> simple decoration (trees, flowers, stones, etc.)
  • biomes
    -> forest
    -> plains
    -> ocean (needs actually to be made :P)
    -> tundra
    -> ice lands
    -> desert
    -> volcano lands
  • simple fighting (needs to be remade)
    -> procedually slime spawning -
    -> simple attack
  • some menus
    -> main menu
    -> world select and creation
    -> inventory (hotkey ‘E’)
    -> pause menu (hotkey ‘ESC’)
    -> options (music, sound and render distance adjustable, accessable through pause menu)
  • activateable items (only regeneration potion atm)
    -> quickslot bar
    -> buffs, cooldowns

TODO

  • better fighting
    -> more dynamic fighting
    -> skills
    -> more enemies
    -> fighting classes
  • skill system
    -> limited amount of skills to learn (you can not learn everything)
    -> skill mastery (level a skill by using it, leveling can unlock new skills)
    -> class-based, weapon-based and… basic-based skills
  • job system
    -> basically similar to the skill system just with jobs (but jobs will be more unique)
  • element system (that’s what the “Ele” in Elevox is for)
    -> every player has a specific element which he prefers.
    -> element cores for storing energy
    -> can be used for battle and jobs (especially magical ones)
  • structure generation (dungeons, cities, etc.)
    -> cities, can be owned by NPCs or a player guild
    -> build your own houses and/or shops (not minecraft style though, you cant build anywhere you like)
    -> instance-based dungeons, so more than one party can play them at once
    -> raid dungeons, a guild can fight in order to be able to found a city
  • NPCs
    -> “intelligent” NPCs, that can do the same thing as players technically
  • content (new monsters, weapons and all the stuff)
    -> monsters, weapons, armors, etc.

I’m searching for

  • designer (someone who designs decoration, monsters, weapons and all blocky stuff)
  • testers (people who always get the newest version, maybe make suggestions and report bugs)

(I know this is the wrong forum to ask for such people but maybe you know someone who
might be interested)

I may edit the lists later on. I may also have forgotten some things and will add them later.
Note that “- “infinite” procedurally generated world” wasn’t easy at all so it’s quite a big point.

And now… I want to hear what you have to say and what’s the performance on your systems

NOTE: Please use Java 8 since anything lower has problems with a library and music can’t played

Have a specific question?

Add me on skype: faustdonner
or send me an email: faustdonner@dbogame.de

or just reply to this Topic^^

If you’re looking for networking solutions you should look into my NitroNet library.

Nice game.

Thx I will look into it when I implement multiplayer. But just to make it clear: What license and/or rights do I have. I may start to sell the game at some point and need to know if I can use your library commercially. I will give you credit and link to the forum if you want.

Greetings

It’s under the creative common license (as stated on the github page) so you can use it and sell it as long as credit is provided. :slight_smile:

Elevox a0.7 is out now. The changelog is in the first post.

Please use the itch.io download link and if that doesn’t work
for you, use Dropbox. I didn’t make content additions yet, but
pls tell me what you think about it.

Greetings

Elevox a0.7_1 is out. I just wanted to show you how far I am with new
landscapes and performance upgrades right now. You need almost no
RAM anymore, even though the game needs alot of CPU when loading
chunks.

Please inform me about any errors you find.

Also it would be nice if you could provide your PC information (CPU, GPU, RAM)
and the performance on your PC.

Bugs fixed:

  • several crashes caused by null pointers
  • sometimes blank chunks did appear
  • worlds couldn’t be deleted correctly

Important: Don’t try to load old worlds with this version, since chunk size doubled
in all dimensions

Greetings

Not much I can say about the game in its current state - that is, until there’s content. :smiley: However, the atmosphere and music is pleasant. Here’s the performance on my system:

System Specs

  • Windows 7 (64-bit)
  • Gigabyte GTX 770
  • Intel i5-4670k @ 4.2GHz
  • 8GB RAM
  • 1080p 144Hz Monitor (not super important, but it makes framerate issues more noticeable)

MAX. RENDER DIST @ 1920x1080

  • ~130 FPS (with little drops when more of a world was being loaded)
  • ~340MB RAM

MEDIUM RENDER DIST @ 1920x1080

  • 144 FPS consistently (again, with little drops when more of a world was being loaded)
  • ~240MB memory usage

LEAST RENDER DIST @ 1920x1080

  • 144 FPS (no drops)
  • ~200MB RAM

Crashes/Glitches

  • The game crashes when trying to reload a world that was previously created.

Final Notes
Overall, your game performs extremely well! I am looking forward to seeing where you go with this project. :slight_smile:

Thank you for your very detailed information. I’m still trying to boost performance (just upgraded
the loading speed of chunks again). I also heard about the crash from my friends. I also noticed
the very small drops already.

The RAM shouldn’t be read with the windows task manager, because it shows often allocated memory,
not used memory (so in fact the game could even run with less memory).

Is it noticable that 14 FPS are missing? I don’t think so but I just ask^^

I wish more people could give me the performance this detailed^^

Greetings

EDIT: found the crash: the properties fileinputstream wasn’t closed, which led to null pointers

EDIT²: I think I found the framedrop bug :slight_smile:

Glad to be of assistance! If you ever need me for performance testing again, message me.

My bad about the RAM. Thanks for clearing that up. Is there any way to check how much Java is actually using?

The 14 FPS drop wasn’t a bother to me and I am framerate-sensitive. Game ran smoothly, except occasional drops when chunks were being loaded - those were noticeable drops. It would drop to about ~100 FPS while at maximum render distance. Happy to hear you found the bugs for both the FPS and the crashing. :slight_smile:

Right. If you have JDK installed, move into /bin, open a
cmd there and type “jvisualvm”. When the program opens, select
the Elevox process, then click on “Sampler” and finally on memory.
It will show you graphs of what takes most memory, and on top the total
memory in bytes.

Note that while you are sampling the memory, the game will lag (because
the sampler gathers memory information every second).

Just wanted to say how to see correctly what Java is using. Java uses this
amount, plus a small amount the JRE needs for itself. The remaining space
is only recently used heap space, which was not yet freed.

Try starting my program with -Xmx512M and then watch the RAM :slight_smile:

Greetings

Thank you for informing me. :slight_smile: I updated the original post to reflect the REAL memory usage. Wow, you really have gotten it quite low!

Hi there, I’m back!

The animation thingy is more work than expected, so I worked on
a launcher, to be able to have better contact with you and distributing
updates better. Tell me what you think about it.

You can get it where the old download link was.

Greetings

The launcher works great technically :point: but the registration process is a bit annoying, you cannot paste the (way to long, better use 4 letters/numbers like steam) code into the activation-field and you cannot move your cursor within the field by clicking at the text.

The ice seems to have quite a few hidden faces:

I also couldn’t always delete the worlds i created in the same session.

Hi there!

This ice bug is already known. It’s because I don’t yet have a proper transparence algorithm.

I will shorten the code soon (maybe 6 characters).

The worlds don’t have anything to do with the session. Try restarting the game and then delete
them, or delete them manually.

Greetings

I didn’t mean your session cookie, i meant session as play-session “startup->createworld->play->exit”.
restarting works, but i still cannot delete worlds that i just created, you might want to look into it ::slight_smile:

Thanks for the info. I fixed this bug (again). Problem was that a file
was still opened. Had this problem earlier too, but it reappeared I
guess^^

The fix is in the next version availabe.

Greetings

Launcher seems to work fine, registration went through without a hitch. However, when I click the button to play the game, the launcher just closes and nothing happens!

System: Kubuntu 15.0.4 64-bit, KDE Plasma 5.3.90
Core i5-4460(4 cores) @ 3.2GHz
8GB RAM
ATI Radeon R9 290 (Hawaii drivers)

Manually launching the jar results in the following stack trace:

[LWJGL] GLFW_VERSION_UNAVAILABLE error
	Description : GLX: Failed to create context: GLXBadFBConfig
	Stacktrace  :
		org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1022)
		main.Elevox.c(Unknown Source)
		main.Elevox.<init>(Unknown Source)
		main.Elevox.main(Unknown Source)
Exception in thread "main" java.lang.RuntimeException: Failed to create the GLFW window
	at main.Elevox.c(Unknown Source)
	at main.Elevox.<init>(Unknown Source)
	at main.Elevox.main(Unknown Source)

but I’m quite certain that I’m not supposed to manually launch Elevox.jar :slight_smile: so if there’s a log file hiding somewhere that can help diagnose the problem, let me know!

It doesn’t really matter how you start it, since the launcher is only for utility (and for generating a session
which is needed for multiplayer later on). This error is already fixed, but available in the next version. Try
downloading an earlier version (a0.7 should be fine). If you don’t know how: Click Versions, scroll down
and select.

BTW: this problem seems to be appearing only on linux systems. Is there anyone, which doesn’t has this error
on linux?

The problem is, that I requested a too high GL version, because someone else had a problem and i need
version 3.2 to force backwards compatibility. It didn’t work though, so I moved this function into a hidden option
if someone actually needs it (In the options.properties).

Greetings

I’m aware this hasn’t been posted to in >=60 days but I would like to point something out.

I enjoy small forms of RE and your launcher would be very easy to imitate. Also, after using Wireshark on your launcher, you’re sending and receiving everything in plain text. Passwords and perhaps even usernames should be hashed, with perhaps a few methods of hashing.