Xilverbulet
I'm a potential customer looking to get more information on the feature set available in the UE4 engine.  We've designed our own voxel system specifically for UE4 but am looking to switch our game to VF so we can spend more time on the core code development.  Here are my questions.

1) What is the Map/World Size supported and memory costs per km^2?
2)  Do you plan to support multiplayer change/data replication?
3) Are there flowing / planar water systems available as part of the package?
4) Do you support dynamic & destructible foliage?
5) Do you support the dynamic nav-mesh features?
6) How is the map saved / cached?

Here's a very old video of our work,  we've made some progress since then but a lot of our focus has been tackling the above problems
 [video]https://www.youtube.com/watch?v=ZxrSsK9ojwk[/video]

0 0
voxelfarmtorres
Thanks for considering Voxel Farm. This is a very good set of questions.

1) What is the Map/World Size supported and memory costs per km^2?

This largely depends on your application and what component you use for terrain.

If you used a completely procedural terrain (which would be a custom voxel layer like some we provide in the SDK examples) the memory cost per km^2 is zero. The engine does allocate work buffers, but these are proportional to the number of CPU cores/threads you decide to engage in the generation. Each generation thread will have one of these buffers, and typically you would have four of six of them for a PC game, so this is not much. The engine also features a cache so sections that were already generated can be reused for a while. This takes some memory as well but also does not scale with terrain area.

The default terrain component in Voxel Farm 2 is not entirely noise-based, which is a positive aspect as you want to build additional informational entropy into your terrains in order to make them look professional. This component uses 2D samples to aid the generation. These are 16bit and 8bit displacement maps and masks. A single set of these is combined in multiple ways to produce large expanses of terrain. Since their size is up to the procedural artist and they are used to synthesize a potentially "infinitish" span of terrain, there is no proper way to compute a memory cost per km^2.

The Map/World size depends on the voxel size you choose for your application. Judging from your linked video, it appears the voxels in your terrain are around one meter-size. Assuming that voxel size, the maximum map would be over 450 billion km^2

Please see this documentation link to get a better understanding of where these numbers come from:

http://voxelfarm.com/doc.html?world-octree

2) Do you plan to support multiplayer change/data replication?

We currently provide examples on how this can be done over TCP/IP, but it is not included in the UE4 integration. It is definitively one of the top items in our to-do. Replicating live changes is just one aspect, we are also working on a server-side persistence system using the amazon cloud. This would allow the game developers to plug their game into this service and all changes made by players would be persisted. 

3) Are there flowing / planar water systems available as part of the package?

Dynamic/flowing water is not included in Voxel Farm 2. The lake system generation, however, is included. Lakes create a buffer zone so even if player dig the shoreline it appears as if the water has moved into the carved space. While this is not dynamic water, the effect is convincing. 

4) Do you support dynamic & destructible foliage?

Voxel Farm 2 does not support dynamic & destructible foliage. Voxel Farm leaves the foliage rendering to the application. It can notify where mesh instances appear, so you can plant speed-tree or any other mesh you like in procedurally generated spots that were assigned by the Voxel Farm layer. How this instance behaves from then on, it is up to the application and other systems.

5) Do you support the dynamic nav-mesh features?

Voxel Farm 2 includes a navigation mesh generator which can produce much simpler geometry out of the voxel data, in real-time. Geometry that is meant for rendering is often much more complex than what is needed for AI and pathfinding. This nav-mesh component, however, is not currently plugged into the UE4 example for Voxel Farm 2.

6) How is the map saved / cached?

Only voxel data that is modified by users require saving. This is ultimately up to the application. Voxel Farm by default uses a memory mapped database that allows for very fast reads and writes, but your application is not forced to use that. As for caching, for a single runtime, some of the voxel data will be cached in an internal RAM cache to make later access faster.



0 0
Xilverbulet
Thanks for the rapid response.  Does Voxelfarm use the UE4 ProceduralMeshComponent to create terrain meshes?  This would be handy since Epic has done several interfaces for it.
0 0
voxelfarmtorres
Yes, we use UE4's ProceduralMeshComponent
0 0
Xilverbulet
Ok,  one last thing.  I'd like to read the license before I buy.  Where can I find it?
0 0
voxelfarmtorres
Yes of course. Here is the text for the INDIE license:

http://voxelfarm.com/doc.html?voxel-farm-indie-license

The PRO license:

http://voxelfarm.com/doc.html?voxel-farm-pro-license
0 0
Xilverbulet
Thank you.  In reading the documentation,  you're example supports UE 4.10.  Our project is already at 4.11 and moving to 4.12.  Do you support 4.11 and 4.12?  Or do you have plans in the works to update to those?

Also,  your License mentions a Monthly Fee and a Yearly fee.  As I understand it,  Indie is now a $295/yr with no additional monthly fees right?
0 0
voxelfarmtorres
The UE4 example runs in 4.11 without any modifications. We currently use 4.12 for development and we will keep switching to the latest version.

You are correct, INDIE is $295/yr with no additional charges.
0 0
Xilverbulet
Sold.  Bought a copy of Indie but may upgrade to Pro later.  I am having some issues with 4.11.  The example compiles and loads in the Editor but crashes on Play.

Editor crash states...
"You do not have any debugging symbols required to display the callstack for this crash."

logs show...

[2016.06.21-19.02.42:044][256]LogWorld: Game class is 'UnrealVoxelFarmGameMode'
[2016.06.21-19.02.42:046][256]LogWorld: Bringing World /Game/Maps/UEDPIE_0_FirstLevel.FirstLevel up for play (max tick rate 0) at 2016.06.21-15.02.42
[2016.06.21-19.02.42:046][256]LogWorld: Bringing up level for play took: 0.001243
[2016.06.21-19.02.42:050][256]LogContentBrowser: Native class hierarchy updated for 'MovieSceneCapture' in 0.0019 seconds. Added 9 classes and 0 folders.
[2016.06.21-19.02.42:268][256]LogCrashTracker: 

[2016.06.21-19.02.42:273][256]LogCrashTracker: 

[2016.06.21-19.02.42:273][256]LogWindows:Error: === Critical error: ===
Fatal error!

[2016.06.21-19.02.42:308][256]LogExit: Executing StaticShutdownAfterError
[2016.06.21-19.02.42:310][256]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
[2016.06.21-19.02.42:310][256]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
[2016.06.21-19.02.42:311][256]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
[2016.06.21-19.02.42:311][256]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
[2016.06.21-19.02.42:311][256]LogWindows: FPlatformMisc::RequestExit(1)
[2016.06.21-19.02.42:311][256]Log file closed, 06/21/16 15:02:42
0 0
voxelfarmtorres
Just checking, did you create the PAK file inside Content\Paks?

We just retraced the video tutorial on 4.11 to success, but we would get the same issue if there was no pak file.

This is the step shown around the 1:55 mark in the video tutorial:

http://voxelfarm.com/doc.html?unreal-engine-4-demo-video-tutorial
0 0
Xilverbulet
I did  but results were slightly different than the video.  I used the Low Res example to export.  Here are the results of my conversion.  The "Missing File" warning could be a clue.


C:\Users\User>"C:\Mods\Unreal Engine\4.11\Engine\Binaries\Win64\UnrealPak.exe" "C:\Users\User\Documents\Unreal Projects\UnrealVoxelFarm\Content\Paks\bundlemap.pak" - create "C:\Mods\Voxel Export\*.*"
LogPakFile:Display: Added 2 entries to add to pak file.
LogPakFile:Display: Collecting files to add to pak file...
LogPakFile:Display: Collected 17 files in 0.00s.
LogPakFile:Warning: Missing file "../../../Engine/Binaries/Win64/create" will not be added to PAK file.
LogPakFile:Display: Added 16 files, 60731565 bytes total, time 0.22s.
0 0
voxelfarmtorres
It seems you have a space character right between the dash "-" and the "create" command. The PAK tool expects "-create" instead of "- create".

We were able to reproduce your results by adding the space:


LogPakFile:Display: Added 2 entries to add to pak file.
LogPakFile:Display: Collecting files to add to pak file...
LogPakFile:Display: Collected 191 files in 0.00s.
LogPakFile:Warning: Missing file "../../../Engine/Binaries/Win64/create" will not be added to PAK file.
LogPakFile:Display: Added 190 files, 72920324 bytes total, time 0.29s.


Without the space, this should be what you see:


LogPakFile:Display: Added 1 entries to add to pak file.
LogPakFile:Display: Collecting files to add to pak file...
LogPakFile:Display: Collected 190 files in 0.00s.
LogPakFile:Display: Added 190 files, 72916545 bytes total, time 2.21s.
0 0
Xilverbulet
Well that works.  Thanks for catching my typo!

Works in singleplayer just fine.  If I try multiplayer (Number of Players 2)  I get this crash...

Access violation - code c0000005 (first/second chance not available)

UE4Editor_UnrealVoxelFarm!VoxelFarm::UEClient::VoxelFarmWorld::clipmapView() [c:\users\user\documents\unreal projects\unrealvoxelfarm\source\unrealvoxelfarm\voxelfarm\worlds\voxelfarmworld.cpp:203]
UE4Editor_UnrealVoxelFarm!VoxelFarm::UEClient::VoxelFarmMain::GetNextCellToBake() [c:\users\user\documents\unreal projects\unrealvoxelfarm\source\unrealvoxelfarm\voxelfarm\voxelfarmmain.cpp:166]
UE4Editor_UnrealVoxelFarm!VoxelFarm::UEClient::BuildThread::Run() [c:\users\user\documents\unreal projects\unrealvoxelfarm\source\unrealvoxelfarm\voxelfarm\voxelfarmthreads.cpp:79]
UE4Editor_Core
UE4Editor_Core
kernel32
ntdll


0 0
voxelfarmtorres
The provided example is for single player.

There may be some additional setup needed for multiplayer so the clipmap-view of the world is shared and the example code just does not go through this. Anyway, we will ask the devs for simple steps on how to modify the example to support multiplayer. The devs are in crunch mode for this week, please expect an answer next week.

If this is a blocking issue for you please write directly to our email account and we will sort it out.
0 0
Xilverbulet
I can hold off until next week.  And shift work to asset integration and read the documentation.  I'll post a reminder here as well.   I thought I saw some example vids that included UE4 foliage support.  Is that code available?  And finally,  I'm happy to help test any integrations or ideas.  
0 0