Recent Posts

Pages: [1] 2 3 ... 10
1
Programming with Blackvoxel / Re: Odd behavior
« Last post by Enigma on May 15, 2019, 07:22:15 pm »
Hello Animar,

I see what is the problem. The functions you mentioned are executed... but in your case,  they are doing nothing. That's because in some cases, your program is running out of "action ticket".

To make the things simple, you have the right to do only one Move() per Voxel_Step() call. Then, your Voxel_Step() function must terminate before you have the right to do another Move(). That's for limiting the power of the programmable robot to avoid being faster than extraction robots. If you call the Move() function another time, it will do nothing but return "false" to say the move action was refused. In the documentation, the functions consuming the "action ticket" are documented with the sentence like "You can move the robot only once per cycle (per Voxel_Step() call)" http://www.blackvoxel.com/view.php?node=1303

To understand more deeply, an important precision : The Squirell Robot is not running a continuously running program, but a function called cyclically. The function Voxel_Step() is called each time the voxels of the world are moving (Approx 5 time by seconds). It's working synchronously with the Molecular Voxel Interaction Engine. So it's synchronous with other machines. If you want to use a program behaving a more continuous way, see the trick below.

So, there is what you can do :

  • Rethink your program using some "state machine" like the example here : https://www.blackvoxel.com/view.php?node=1306 so you'll make only one action per voxel_step.
  • Always call any PickVoxel() before moving the robot.
  • Use the newest "Remote Programmable Robot" along with the Scratch programming language. It have a much simpler behavior and use a continuously running program (http://www.blackvoxel.com/view.php?node=1705). But Squirrel robot remains more powerful and faster.
  • If you want to use some loops with Move() and make it like it's running continuously, you can use a trick : the squirrel generators with the yield() function after each Move() . The yield() will return execution to the Voxel_Step and resume at the same point on the next call. Here is an example.
Code: [Select]
// Continous program called by a function.

// The generator

Rep<-0;

// My continuously running program

function MyStuff()
{
  local x,y;
 
  for (y=0;y<8;y++)
  {
    for (x=0;x<8;x++)
    {
      PickVoxel(5);
      if (y & 1) Move(1);
      else       Move(3);
      yield(true);
    }
    PickVoxel(5);
    Move(2); yield(true);
  }
 
  return(null);
}

// Calling the continuous program using a generator.

function Voxel_Step()
{
  // Creating the generator.
  if (Rep==0) Rep = MyStuff();
 
  // Calling the generator... or resuming where it was stopped.
  if (Rep==1) return(0);
  if (!resume Rep) {Rep=1;}
}


In the hope we have answered your questions, we wish you a good play.

The Blackvoxel Team
2
Troubleshooting & Bug Reports / Re: Sequencer Bug ?
« Last post by Enigma on May 15, 2019, 07:14:25 pm »
Hi Animar,

This is an intended behavior :)
The idea behind this is that the player should learn to "know what it does".
Like with the real world machines, some mistakes should have costs.  :P
But... not too much.
The problem with Atomic Compressors, they may contains a lot of things and/or very valuable things.
As we played, we found that mistakes with Atomic Compressors was too much punitive. It was very frustrating and ruined gaming experience.
That's why we made an exception to the default policy and protected the Atomic Compressor (and also XR robots in the unloading phase) from direct user mistake.

The Blackvoxel Team
3
Programming with Blackvoxel / Odd behavior
« Last post by Animar on May 15, 2019, 10:13:00 am »
Hi There,

I have some expirience in C and Lua but this Squirrel language keeps me confused.
So this bit of code troubles me.

Code: [Select]
if(GetX() == (Start_X - DimX + 1) && NextRow){
  PickVoxel(2);
  Move(2);
  NextRow = false;
  Display( "I Should have moved", 5000, 2);
}

how can it be that the specific display text "I Should have moved" is shown but the Pick(2) and Move(2) is NOT executed.


This is the whole thig so far. The whole digging and movement will be replaced with loops. But first, i need to figure this problem out. As far as this code goes. It should check for a Storage device then go one down, two to the left and finaly one back. But i does not execute the last part ?

Code: [Select]
// Test

BotInit <- true; //        X  Y  Z
Workmode <- false; // 0 =  { 0, 0, 1 } = Front of the robot.
Start_X <- 0; // 1 =  { 1, 0, 0 } = Right of the robot.
Start_Y <- 0; // 2 =  { 0, 0, -1} = Back of the robot.
Start_Z <- 0; // 3 =  {-1, 0, 0 } = Left of the robot.
MaxDepth <- -64; // 4 =  { 0, 1, 0 } = Above the robot.
DimX <- 3; // 5 =  { 0,-1, 0 } = Under the robot.
DimZ <- 3;
NextRow <- false;

function Voxel_Step(){
  local VoxType;
if (BotInit == true){
VoxType = Look(0);
Start_X = GetX();
Start_Y = GetY();
Start_Z = GetZ();
if(VoxType == 49){
BotInit = false
Workmode = true;
PickVoxel(5);
Move(5);
}
else{
Display( "Error, no Storage Found at X = " + Start_X + " - Y " + Start_Y + " - Z " + Start_Z, 5000, 2);
}
}
if(Workmode == true){
if(GetX() > (Start_X - DimX + 1)){
PickVoxel(3);
Move(3);
NextRow = true;
}
if(GetX() == (Start_X - DimX + 1) && NextRow){
PickVoxel(2);
Move(2);
NextRow = false;
Display( "I Should have moved ", 5000, 2);
}
}
}

Thanks for your help.
4
Troubleshooting & Bug Reports / Sequencer Bug ?
« Last post by Animar on May 14, 2019, 01:38:55 pm »
Hi There

Just noticed that an old "bug" still exists. Sequencers can be mined by hand when they still have stuff in their inventory. Would be neat if they had the same protection as Atomic Compressors when not empty.
5
Suggestions / Re: My Long Waiting Wish
« Last post by Enigma on May 12, 2019, 02:31:28 pm »
Hi Animar,

Thanks for exposing your problem and thoughts. We understand better why you want a better tool.

A faster tool dedicated to machines and automations sounds like a good idea. We will think about it.

About something to make vertical travel easier, be sure we have a lot of ideas. A lot of things were already discussed in the forums like lifts, cars, trains, space ships, etc...

But we have some good news for you, lifts are already possible with the current game. The programmable robot can do it. You can also do multiblock animation and some vehicles with it.

I have posted some example scripts here : https://www.blackvoxel.com/view.php?node=1614. One simple proof of concept. And one complete lift with a command panel.

About collecting ores, don't forget that there is some world area with much more ores than in the blue flat central zone. The best is the Flat White http://www.blackvoxel.com/view.php?node=1637

The ground scanner will be useful for exploration. Update 2.41 was released with the fix for it.

Thanks for loving our game. Support from users is very important for us.

Have a good play :)

The Blackvoxel Team
6
Suggestions / Re: My Long Waiting Wish
« Last post by Animar on May 08, 2019, 11:26:43 pm »
Tanks for the Reply,

I get that your focus is on automation, hence thats the reason I play this game as well as similar ones (Factorio, Factory Town, Satisfactory, Production Line, Autonauts... I could go on but I think you get it)

The reason why I want a faster Constructor/Destructor is not for the sake of gathering resuces but to build and rebuild parts of my Factory faster. XR Robots do not help in this case as no one would use a chainsaw for a heart surgery, at least no sane person would.
And writing scripts for jobs you only whant done once in a certain way, is just overkill.

How about a compromise, a specialised Constructor/Destructor that is faster but has a predefined White/Blacklist of what can be deconstructed.

For example:
  • Can deconstruct "Basic Voxels, Machines, Voxel's handling and Materialization"
  • Can not deconstruct "Raw Resources, Metal Bars and Parts"
In regards to stairs, if they are simply not possible due to how the game engine is written thats all fine and good. But would some sort of Up/Down lift mechanik be possible ?.
Usually untill I have the Z1 available I do some trikery with water. But in early and midgame there is just no good way to get all the stuff from your multiple XR mining Operation.
The Z0 on the other hand is of no good use at all. I would have to build a runway wich becomes obsolete with my next XR mining cycle.
 - to be clear I am running several XR's simultaneously

Oh and by the way, even if the game stays as it is now. And for what ever reason, I loose acess to the game.
I wouldn't hesitate and buy it again.
7
Suggestions / Re: My Long Waiting Wish
« Last post by Enigma on May 02, 2019, 09:23:04 am »
Hi Animar,

Thanks for loving our game and for your support. :)

  • About Constructor/Destructor 4 and 5, we planed initialy to enable them at some point after some reflexion for game balancing.

    But the plan have changed inbetween. We finally decided to not enable these as the gameplay evolved to more automation. We'll have to make this game balancing choice.

    Blackvoxel is a game about automation machines, not human hand/tool working. So our thought is that hand tools should'nt be too powerfull. Also, 4&5 wasn't even fun to use.

    What the player is supposed to get as an upgrade to the Constructor/Destructor number 3 are now the Extraction Robots. That's far more powerfull than Constructor/Destructors. There is also a bunch of programmable robots.

    Anyway, thanks for signaling the inconsistency of this old screenshot. We'll need to fix it.
     
  • Stairs ? The interest of Blackvoxel is to make original choices. The lack of stairs pushed players to find interesting solutions like using airplanes to travel underground or water systems. On the technical side, the Blackvoxel engine would'nt like to render stairs (it is particular. It was made for full voxel paradigm and fast animation).
     
  • For the ground scanner, this is a mistake :o. Sorry for this. And there is not yet recipe for it in the game, so the page would'nt have been made public. It will be fixed in our next bugfix release (We'll make it available).

About future content and update, our policy is to not make any promises. We have a lot of ideas and wishes. But like in any project, sales will decide if (and when) we'll can be able to develop new content.

As you made the choice to buy the game for contributing, i'm embarassed to can't tell you more. But I feel you are already understanding that. But if it's not the case and if you want to go back on your purchase decision, contact us by email.

I wish you a good play ;)

The Blackvoxel Team
8
Suggestions / My Long Waiting Wish
« Last post by Animar on May 01, 2019, 09:45:36 am »
Hello Dear Developers,

About 6 Years ago I bought this game, yes i was one of those who had bought the game back then bevor it went for free even bevor you had a forum. And i bought it a second time by now just because to support you.

Since you decided to sell the game again while of course the shool mode stays free. Can we expect some new features for the Adventure mode or the game in general.

sometime in summer 2013 i asked you in a mail to implement a recepie for the tier 4 and 5 Constructor/Deconstructor that could and can bee be seen on the manual.


Please don't let me wait another 6 years and while you on the subject the Ground Scanner also has no recipie in the manual.

PS: some kind of stairs/ramps that could be rotated like conveyors would be awesome.
9
Gallery / Re: Pictures of my work area
« Last post by luminar on April 12, 2019, 01:48:19 pm »
WOW Nice Project  8)
10
Announcements / Re: Blackvoxel is now on GitHub !
« Last post by Enigma on March 04, 2019, 05:43:39 pm »
Thanks for the release of the source code. Can I use some of the code snippets in my project?

Hello RobertThomas and welcome to the Blackvoxel Forum ;)

The answer is fixed by the GPL V3+ Free Software Licence.

To make it simple, it depends if your project is Free Software.

If you want to re-use some Blackvoxel code for a proprietary software, the answer is No. It's not permitted at all. It would be a licence infringement.

If you want to re-use Blackvoxel code in a free software with Free Software Licence, the answer is Yes. In this case, you'll have to fully comply with GPL V3+ licence (your licence must be compatible), and make citation of the source of the Blackvoxel project and it's copyright owners (authors and contributors).

Simple conclusion : Free Software projects are welcome, others are not.

In the hope we have answered to your questions.

The Blackvoxel Team
Pages: [1] 2 3 ... 10