Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Enigma

Pages: 1 2 3 [4] 5
General Discussion / Re: OpenGL Performance
« on: October 03, 2015, 02:49:24 am »
OpenGL performance improvements... requires a pretty advanced OpenGL Level?  But some of it is interesting in pointing out that there might be more.

Did notice a few articles that OpenGL is faster tha D3D ...

Hi d3x0r, glad to see you :)

Thanks, I'll look at that. It seem very interesting.

This move of the graphic industry in driver overhead reduction is really positive.

As you know, that's especially true for a game like Blackvoxel because of it's massive playfield refresh.

With the new API generations, they are also moving on a more low level approach, which mean (at least in theory) more flexibility. And maybe (I hope) something better suited for the particular case of rendering voxels.

We also hope the new Vulkan API will be as good as the promises.

Suggestions / Re: Website css
« on: August 17, 2015, 02:28:08 am »
Hello MUY_Belgium and welcome to the Blackvoxel forum  :)

Tank you for this useful suggestion.

Thats done !

If your computer have modest hardware, don't forget to take a look at our optimization tutorial :

In particular, in the Settings_Hardware.dat file, two fields can have a tremendous effect : RenderingDistance_Horizontal and RenderingDistance_Vertical.

By lowering the values on these two fields, we managed to run Blackvoxel on a monocore atom netbook with only 1gig Ram(and GNU/Linux).

The Blackvoxel Team

General Discussion / Re: OSX port
« on: July 29, 2015, 11:53:25 pm »
    This is running natively. It took about 4 hours work of source modification, adding extra platform checks everywhere necessary, but most were identical to linux (the things that were unix filesystem operations). It took an hour to get SDL 1.2 working with the mac-specific header files, and to work through a bunch of linker errors. It's a very messy job, but the main outcome is it didn't actually require that much work, and I'd be happy to help more on it. Otherwise the Mac system OpenGL frameworks (libraries) were easy to link to.

    I started trying to use clang (Apple LLVM compiler) with makefile, but couldn't resolve linker errors, so I imported into an Xcode project so it would manage compiling properly. Having got it to run now though, the makefile could be fixed to work.
    BTW there were 395 compiler warnings -- your C++ is a bit outdated and messy :D
    (BTW the 'register' tag is completely ignored by modern compilers, that was most of the warnings)
    There are some obvious problems and as I'm a complete noob to the game I don't actually know how to play to test more things, but generally it worked and created a universe and loaded it.

    Confirmed working:
    • Game graphics
    • World gen, save & load
    • Movement (WASD, jump)
    • Placing voxel (at least the one that was in inventory to start)
    • Key mapping
    • Fullscreen & windowed

    Not completely working or not working at all:
    • Audio (kinda works, but system complains it's using deprecated API. Upgrading to SDL 2.0 would fix). Volume setting has no effect
  • Opening inventory ('I' key) didn't seem to work? Not sure why
  • Retina graphics (this is normal, no openGL games support retina well)

BTW J'ai remarqué que vous êtes français -- je parle français bien mais je vais mieux à comprendre qu'à parler/écrire (j'ai aucune doute qu'il y a plusieurs d'erreurs dans cette phrase).

Congratulation for this work  :)

We'll try to help you as far as we can....

About SDL sound, we already got sound problems on Windows depending on how the SDL library is compiled. The problem with SDL audio is that this library is built differently depending on which audio library header was detected. As we understood, if no "modern" audio system header is detected on SDL compilation, it revert on some kind of default codepath.
We suggest to try a precompiled library from the official SDL website to test if it's working better.

We'll certainly make an SDL 2 official transition soon. (That's a change the core team will do all internally because that's an important move, we have to master it).

At this point, the "not working" inventory seem to be the only serious issue.

The inventory opening is triggered in ZGame_Events.cpp at line 869.

First, we suggest you insert a breakpoint (or a printf) into the "if" block to see if the execution reach in when you press the "I" key. If not the case, it could be a problem about keyboard scancode.

If execution enters well into the "if", make the following tests :
Look at the sidebar : does the sidebar is displaying well ? (Image showing the sidebar at the right of the screen

Try to hit the "F12" key : A little transparent window should show on the upper left of the screen displaying framerate. (This test is for ensuring that the Blackvoxel windowing system is working well. )

An opengl display problem is always possible, but very unlikely as we choosed a "most compatible" way to make display an never get any serious opengl display problems despite various drivers and platforms.

As we understand, you used the LLVM compiler. As currently, the status of Blackvoxel is "untested" with LLVM, we can not exclude the possibility that some problems can come from.

Like a lot of video games, Blackvoxel uses a rather "low level" programming style and a lot of optimisation (in order to make the dynamic MVI concept running at a good speed : ).
That can make compiler little differences more important than in regular programs.

Ultimately, if nothing else works, we suggest to make a try with the gcc compiler to see if some issues goes out.

Oui, nous sommes français. Nous avons bien compris ce que vous avez dit.  ;)
Ne vous inquietez pas pour les petites fautes. Nous sommes certains que nous en faisons beaucoup quand nous parlons ou écrivons en anglais.  :)

The Blackvoxel Team

General Discussion / Re: OSX port
« on: July 28, 2015, 06:37:35 pm »
Hi cortices,

Welcome to Blackvoxel forum and thank you for your involvment for the Mac Os port  :)

As we don't have Mac, we are searching volunteer for porting Blackvoxel on mac.

We see you have managed to make it running.  :D

Do you compiled it natively or used some stuff to run some Linux version ?

The Blackvoxel Team

Announcements / Blackvoxel 1.39 is out
« on: July 19, 2015, 04:36:39 pm »
This new 1.39 release is mainly a stabilization version based on returns of the community on the v1.38.

Moreover, we are proud to announce the availability of Blackvoxel packages for Mageia GNU/Linux. These package are made by Daniel Tartavel from LibrePC. Thanks to him.

Main modifications :
  • Fixed wrong squirrel program template
  • Removed clipping from PlayerSetAccel() and PlayerAddAccel()
  • Changed name of PlayerSetAccel() and PlayerAddAccel() to PlayerSetVelocity() and PlayerAddVelocity()
  • Fixed launch editor bug with Windows Os
  • Added failsafe system for display mode in case of bad settings
  • Set right documentation page for RTFM voxel
  • Added missing templates for programs
Don't forget... report any new bug in our forums.

The Blackvoxel Team

Troubleshooting & Bug Reports / Re: The v1.38 bug report thread!
« on: July 18, 2015, 06:21:13 pm »
It can be useful to be able to separate out and err though. And I can't copy from the terminal window, search through big output or even go back to the beginning if there's a lot of output. Would be nice if stdout and stderr could be used as an option.

Also, how do I choose what text editor is opened with the "Edit" button? I'm prefer to use Sublime Text...

This could be an option for some future releases.

You can choose your favorite editor now in the "Hardware_Settings.dat" file with the field "Setting_Favorite_Editor".

Simply put the name of your executable file (or the complete path if the program is not in the standard path).

The Blackvoxel Team

Suggestions / Re: Change pictures format
« on: July 13, 2015, 06:58:43 pm »
Hi, Obani

And welcome to the forum  :D

The choice of an uncompressed format was made when we created the Blackvoxel engine some years ago.

In order to display a 3D world, textures must be loaded into the video card memory before the game can be launched.

This mean that all textures must be loaded at game start in memory and send to the GPU in a fully uncompressed format.

Storing textures in a compressed format on the disk means we'll had to decompress them all at game launch, which mean adding some time to the startup delay.

Each game engine could make it's own choice about texture formats depending on a lot of parameters.

As most choices in Blackvoxel engine is focused on speed, we naturally made the choice to trade disk space in exchange of more speed.

Even in uncompressed format, the disk space required by Blackvoxel stay very low. Blackvoxel is taking 180MB on disk when a game like Max payne 3 is taking... 35GB  :o.

That said, it's possible we'll add another texture format for a low footprint version in order to get into USB key game compilation.

The Blackvoxel Team

Announcements / Blackvoxel 1.31 Beta 1 is out.
« on: December 23, 2013, 01:33:19 am »
Hi friends,

A new Beta version of Blackvoxel is out.

Here are the changes :

Version 1.31 Beta 1 (World and architectural changes):
  • Added a new zone after the blackwoods (and shifted the world).
  • Made architecture modifications for better handling future world changes.
  • Improved the world saving system : now, your worlds will take much less space.
  • Corrected various bugs.
Warning : Due to strong architectural changes, bugs could have been introduced. Save your worlds before testing.

Good game

Announcements / Blackvoxel 1.30 is out
« on: November 17, 2013, 02:19:56 am »
Here are the changes :

  • Added info text for the RTFM voxel
  • Blackrock white can be collected with base constructor/destructor.
  • Made an unique version for Windows. The time computing codepath used for Windows XP version is generalized to all versions (More Precise).

Info : We are working on a new 3D zone. It will be testable soon.

Announcements / Blackvoxel 1.22 Beta 7 is out
« on: November 10, 2013, 12:07:24 am »
Changes :

Programming missed some input/output user interfaces for user interaction. So we added two simple ways to communicate with the user : Switches and Indicator Lights. Indicator Lights can even be used to make some display walls of voxels.

  • Finished Blackvoxel Font redesign.
  • Added : new interfaces GetInfos and SetInfos for communication with voxels.
  • Added : Input Switch voxel for using with robot.
  • Added : Indicator light voxel for using with robot.
  • Added : new programming function var Voxel_GetInfo(int x, int y, int z, int index)
  • Added : new programming function bool Voxel_SetInfo(int x, int y, int z, int index, var info);
  • Added : new programming function var Voxel_GetInfoDoc(int VoxelType, int index, int infotype);
  • Redesigned RTFM voxel.

Some infos on these new voxels in the new Human Interface section here :

Example to get the input switch state :

Code: [Select]
state = Voxel_GetInfo(x,y,z,1);
Examples to set the input switch state :

Code: [Select]
state = Voxel_SetInfo(x,y,z,1, 1); // Set switch on
state = Voxel_SetInfo(x,y,z,1, 0); // Set switch off

Examples to set indicator light state :

Code: [Select]
state = Voxel_SetInfo(x,y,z,1, color); // Color can be 0...15

Announcements / Blackvoxel 1.22 Beta 6 is out.
« on: November 03, 2013, 10:40:47 pm »
Some little improvements on this release :
  • Improved : GetGameTime().
  • Added : The F10 "Fear key" for testing some new features. Save your world before using it.
  • Improved : Redesigned the Blackvoxel Font (still unfinished).

Announcements / Blackvoxel 1.22 Beta 5 is out.
« on: October 31, 2013, 10:46:08 pm »
Here are the changes :

  • Added : GetInfo(23) Give the context of execution where function are called.
  • Fixed : GetInfo(22) Now return the right script number when Voxel_Unload() is issued at program change.
  • Fixed : PickVoxel3D() should work correctly now.
  • Added : GetInfo(24) Give the number of slot of the robot inventory.
  • Added : Started an internal squirrel test program for better detecting some regressions and little bugs.

Values for GetInfo(23) :

0: Creation. The robot has been created. State can be found with : Voxel_Load().
1: Destruction. Robot is about to be destroyed. State can be found with : Voxel_Unload().
2: Normal Step. The robot is doing normal step operation. State can be found with : Voxel_Step().
3: Serialization. The robot is in loading/saving operation. State can be found with : Voxel_Load() (Means Loading) and Voxel_Unload() (Means saving).
4: Program Change. The program is changed in the interface.  Voxel_Load() and Voxel_Unload()

Announcements / Blackvoxel 1.22 Beta 4 is out.
« on: October 28, 2013, 07:30:28 pm »
This release is intended for correcting some bugs :

  • Fixed : GetPath() and GetInfoName() functions can be used now in Voxel_Load() and Voxel_Unload() as these functions where intended to.
  • Fixed : GetInfo() with indexes 20...22 can be used in Voxel_Load() and Voxel_Unload()
  • Fixed : PickVoxel3D(0,0,0) doesn't crash anymore.

Announcements / Blackvoxel 1.22 Beta 3 is out.
« on: October 28, 2013, 01:39:35 am »
Here are the changes and additions :
  • Fixed : User-Texture Engine can now be broken with the base constructor/destructor tool.
  • Added : Large address aware activated for windows 32 bits. Not sure it will be activated on the final 1.22  because it seems capable of creating problems and compatibility issues.
  • Added : New UserData directory for user program data. Data saved by your scripts should go in it.
  • Added : New Functions for programming.

New Functions Added :

int GetRobotLevel()

Not really for immediate use. Returns the robot level. This function is intended for the future addition of other robots in the case we restrict some functionality depending on the robot.

int GetRobotID()

Return the unique serial number of your robot. Can be used for generating an unique file name for saving datas.

var GetPath(int PathType)

Return the paths of the working directories of Blackvoxel. Should be used instead of absolute path because the directories can be located in different locations depending on operating system and/or version. For maximum compatibility, don't forget to use GetInfo(20) for the path separator character to use.

For PathType :

0 : (int) Maximum value for PathType
1 : (string) Blackvoxel main data directory.
2 : (string) Actual Universe save.
3 : (string) Squirrel script location.
4 : (string) The Location for saving the data of your scripts.

var GetInfo(int InfoNum)

Added new informations with offset 16-22:

0: sq_pushinteger(v,22); break;
1: Player Location (x)
2: Player Location (y)
3: Player Location (z)
4: Player Location (x) in Voxel Units
5: Player Location (y) in Voxel Units
6: Player Location (z) in Voxel Units
7: Player Viewing direction (yaw)
8: Player Viewing direction (pitch)
9: Player Viewing direction (roll)
11: Player Head Location (x)
12: Player Head Location (y)
13: Player Head Location (z)
14: Player Head Location (x) in Voxel Units
15: Player Head Location (y) in Voxel Units
16: Player Head Location (z) in Voxel Units
17: Player Velocity (x)
18: Player Velocity (y)
19: Player Velocity (z)
20: File path separator character
21: Program Version
22: Actual Script Number

var GetInfoName(int InfoNum)

Added the description for GetInfo() new items.

bool PlayerMove(float x, float y, float z)

This function moves the player. Coordinates are relative. Useful to move the player along with some voxels. Move is limited to +-5000 per call.

bool PlayerAddAccel(float x, float y, float z)

Add provided values to player acceleration.

bool PlayerSetAccel(float x, float y, float z)

Replace the actual player acceleration values by the provided values.

Announcements / Blackvoxel 1.22 Beta 2 is out.
« on: October 25, 2013, 03:32:44 am »
Yes, a new update again :P
  • Fixed : Sometimes crash when removing the computer or changing program when a Squirrel program is hanging.
  • Added : Modded Squirrel core for supporting program force stop.
  • Fixed : Programming : GetInfonum() and GetInfoName() returned nothing with offset out of range.
  • Fixed : Manual : Symbol section are now displayed in the manual summary.
  • Fixed : Programming : Look3D Function do not crash anymore when looking at an inaccessible location.
  • Fixed : Programming : PushVoxelTo() function. Voxel in a slot didn't disapeared when quantity reached 0.

Pages: 1 2 3 [4] 5