Minecraft / Blogs

Interview with Gheppio

  • 50
  • 24
  • comment6
  • playlist_add
  • share
  • more_horiz
avatar PMC
Support
Level 73 : Legendary Cake
6,414
How has it been a YEAR since our last interview?! We're about due for one and we can't think of any better project to highlight or member to interview than Gheppio. Here is why:

Back in August, we hosted the Project 2048 Contest which drew in builders from all over the planet. If you're not familiar with the contest, the below excerpt is from the contest detail page:

"It's 2048. Earth was rendered uninhabitable by the human species and we were forced to look for answers to our survival within the stars. Our scientific research focused on utilizing energy within space to discover innovative methods of space exploration. After many of years of research, we developed a system to harness the energy within stars to power interstellar portals! It is the dawn of space exploration for human kind. It is time to map the unknown of outer space and its galaxies in search of our future."

There were several stellar submissions including spaceships, space facilities & research bases, and intergalactic cities. Gheppio, however, created a new technology and implemented in in his submission: Infinity City - Planetary Terraforming Project with Self-Replicating Technology.

New technology? Yes. We're talking a technology that creates a new, unique Minecraft city every time the program is run. Let me repeat:

A brand new Minecraft city at the click of a mouse!




Intriguing, right? We had so many questions! We wanted to learn more, so we, along with DinowCookie, arranged an interview with the self-replicating technology mastermind.

We urge you to go grab a cup of coffee or tea, sit back, relax and enjoy this insightful and educational interview!

THE BEGINNING
Gheppio's early years consisted of countless hours of playing with Legos, coming up with any structure that came to mind. Later in life, he was introduced to Minecraft 1.5.2 by a friend. This opened up a whole world of opportunity for him.

"In Minecraft, without the limitation of a finite number of bricks I started to think bigger" Stated Gheppio. "With the discovery of redstone, and with the possibility to create circuits and machines, things got even more interesting for me."




FIRST SELF REPLICATING PROJECT:
PRE-STRUCTURE BLOCKS


Gheppio always leaned towards building machines that made something - he started first with a series of 3D printers like the replicator. But then he wanted to do something more and attempted his first replicating machine [pictured right].

"The magic here is performed by command blocks, with the clone command which
was before structure blocks were invented or maybe I didn't know structure blocks existed!


Outside

It was programmed to expand in 3 directions and it copied the current instance but obviously had a lot of problems setting all the relative coordinates was over complicated and cloning a structure while it's already cloning itself is not a good idea.

Did it end up running into itself?

"Probably, it was hard to tell, it was unstoppable and the bigger it became the heavier was for the game to handle it, and then I quit it from task manager. Entering the world again stabilized it but I don't want to activate it again.


Top

The concept of copying itself is very easy, like the concept of assembling a city piece by piece, but the system architecture makes the real difference."


Head over to his submissions page and check out his self-replicating projects from 6 years ago! If one this is for certain, Bruno has a passion and a drive for this technology and pushing Minecraft to its' limits.


Inside


CURRENT PROJECT: FROM SEED TO CITY
Directly from Gheppio's Infinity City Project:

Every time the "Seed" (the initial self replicating module) is activated a different city is generated: different road topology and different building placement. Even buildings of the same type will have infinite variations at every instance.

The first thing a Seed does is expanding downwards, when the ground is reached, a layer-by-layer scan is performed to identify the exact ground level. Once the planet surface has been connected to the Seed, forming the so called Seed Tower (the city's control centre), the system then proceeds to an horizontal expansion. See below:



WHAT IS SELF REPLICATING TECHNOLOGY AND HOW DOES IT WORK?
Self replicating structures are machines capable of generating copies of themselves or of other machines. When at work, all of the copies interact between each other in sync. The real machine is the cluster of all the component modules involved.

Every single module in a self replicating machine has a specific purpose, but the final result is given only by the mutual interaction between all its components - the key component being the structure block.


Ever hear of structure blocks? They've been around for a while! According to Minecraft Wiki:


It's a block for map makers, similar to the command blocks. But this one can [take] a structure that you build in the world, for example a house, and save it. It is then possible to place it in the world multiple times.

So it's basically saving templates and then copying them back into the world at any position. The nice feature is that every structure can be rotated or mirrored when it's placed.



Searge on structure blocks[1]



Gheppio (or Bruno at this point in our interview) continues:

A single machine is useless, in the sense that is a normal machine. Self-replicating machines produce a result that is more that the sum of its modules. For example a self building underground base, or city But it just depends on the final purpose decided by the builder. In the end, all the present machines will form a cluster, that is the real machine!

Is it so that there's no command blocks in your Minecraft projects?
No, there are some command blocks, but only for minor thing, not for anything related to the self replication.

For example, when a machine overwrites another, all the elements like redstone circuits, torches etc. are not overwritten properly and they become items floating on ground. LOTS of them they will easily crash the game if not stopped!

Ahh and then the command blocks wipe those floating objects?
Exactly but it's only related to this Minecraft behavior, all the core feature are pure redstone and structure blocks!


Wouldn't you require a beefy computer to generate a new city?
It's not so heavy as a process but maybe problems could arise when the city gets big! In this case, if lag is noticed, just close the game and enter again.

Can you stop the generating process at any time?
Yes, but if the lag is so high that the controls work slowly..then just exit the world and enter again, this will interrupt the city expansion process (because I designed it to be that way as a safety measure) then the city will stabilize and any lag will cease for sure. But usually there's not too much, trust me. not in the released version


How long does the process take, lets say, for a smaller city?
A few minutes I'd say the demo city, which is quite big, [pictured below] took around 15 min.



Can it generate on uneven terrain properly?

Not at the moment sadly. All the modules must "see" each other to know what's going on, and how to act, that's why at the moment they're all at the same level. Potentially, the city may "decide" to go "up" or "down" in sections but it could be very complicated. I have other priorities, far more accessible.

A machine that follows a pre-existing terrain will be really hard to implement in pure redstone because EVERY module would require the proper sensors and they take precious space from the other expansion circuit. Maybe a machine that actively decides the height of the terrain and terraforms an originally flat world would be more feasible, but still complicated it would need special adapters
to handle all the ups and downs.

The same type of building can be different sizes, yes?
Yes, and different structures as well.

For example:

A self-building is composed by more than what you see here. It has several base units that the algorithm can use to assemble the building instance:

-ground floors with the entrance facing in different directions
-middle units all compatible between each other
-different roofs to better differentiate (usually 2)

And then all the probability distributions that decide the average shape of the building. All the "building elements" are just building parts, saved in structure blocks. Each building then has special machines that use their components to assembly the building instance but all the parts are just parts, circuits are elsewhere.

The modules for the first building:
First tests:


How many parts are there?
Their capacity is 18 per randomizers, but usually buildings have less parts, like 5-6 or even 9-10 if the architecture style allows it. But it's possible also to have more randomizers that represent different stages of the growth for example:



The 2 green towers they have a roof with a ring that ends both towers, but also a roof that ends only one tower, then the choice will be passed to a second randomizer that will construct only the remaining single tower like this:


The same reasoning can be applied also to roads, paralleling the reasoning it's possible to create a city with different districts.


Are you working on any projects now? If so, can you tell us what it is? If not, do you have any future plans?

The Infinity city machines (or servers) are working only at 3.125% of their capacity. Around 288 buildings can be integrated in the city servers as it is now.

The
math:
since there are only 9 building types at the moment we have a usage of (9/288)*100=3,125%

They are quite state of the art and have an immense capacity. They can house many more possible buildings and roads.


I'd like to build more skyscrapers and other buildings compatible to the infinity matrix, to enrich variety
but also things like squares, parks, parkings, etc.

What is the most challenging part of your creative process?
Building self-replicating machines is a real challenge, not only due to design complexities, but also a matter of construction method! These machines are actually capable of replicating themselves around, maybe even in times or places where they shouldn’t, if something goes wrong.

The first critical issue is that they can quickly overwrite the other prototypes present in the laboratory, and the laboratory itself!

The second one is that if the rogue machine continues to create new copies of itself at a high rate, it’ll quickly become impossible manually stop them all; considering that an uncontrolled expansion tends to an infinite number of units, and knowing that computers aren’t able to handle all those redstone circuits,this will bring to the corruption of the entire world you were working in! (after a certain point will be even impossible for Minecraft to open it due to the excessive lag!)

In other words, just one wrong mouse click is enough to potentially erase the work of months!

In order to avoid these risks becomes almost mandatory to adopt a proper modus operandi, always stay focused and always know exactly what you’re doing 100% of the time.

This reflects on the virtual working environment as well! All the components of Infinity City are built in the laboratory. It's a world-sized centre built especially for designing and prototyping large-scale applications of self-replicating machines.


The facility is composed by several departments and divisions, constructed with a safety spacing of around 10,000 blocks, reachable by a teleport hub that serves as an operating centre. There is an R&D department where new systems are invented and new machines are prototyped, while other departments house the construction bays where the final modules are constructed.

Bays have a minimum spacing of one chunk and all expansion tests are forbidden, these machines are activated only off-world, in specific testing environments.

Performing tests in the same Minecraft world where the laboratory is located, would be too risky, even if done at 10,000 or more blocks.

There are also other safety protocols, but they’re related to the inner workings of the system architectures and to other technical aspects, so I won’t bother you with the details. I’ll just say that since the game it’s being pushed to its limits, I usually must deal with problems that I never saw before, like unexpected redstone behaviours in specific conditions. With all these processes happening at once, finding the root cause of a problem in a failure analysis can easily become intricated.


laboratory


Seed Warehouse


selfie in one of the first testing worlds

What is your end goal with this?
Performing any change on the system requires a lot of time and resources. One must first invent the variations theoretically, then all the changes must be applied to the modules (and usually a large number of them is involved) and then it must be tested; since anytime a different city is generated, multiple iterations must be created to check if the average efficiency has improved. Imagine many different worlds that are only testing areas, and many colossal cities erected with the only purpose of performance testing. That is very time consuming!

That’s why I’m also writing a software that emulates the expansion process of the city: the machine has so many tunable parameters, and they affect the growth of the final cluster in the most unexpected ways; the final result is the equilibrium between all the major expansion forces of the City’s subsystems and it’s not immediate to see how to optimize it. With an emulator instead I can try any variation of the system parameters to check quantitatively how it affects the final result almost instantly!



The program, at the moment, is around 500 lines of code, but it includes only the core features of the city expansion. In order to work correctly, the program must emulate faithfully the behaviour of hundreds of modules working altogether, synchronized to the tenth of a second. I’ve reached correspondence between Minecraft and the emulator for what concerns some basic expansion patterns (deterministic growths, where the final result does not change if the initial conditions are the same) in this way I know that I can trust the program’s results even when random elements are introduced.

Results are promising, if I manage to make all the process smoother, I will be able to expand the project in unprecedented ways; it will be possible to integrate not only new buildings or roads, but also different districts as well with completely different styles and structures. An environment that unfolds around its inhabitants, constructing itself while it’s being explored, self-organizing, always different, always new.

There will be no more limits.



[Minecraft growth profile]


[Emulated growth profile]





Are you curious to learn more on how they work and do you want to discover how self-building cities are designed?

If yes, I have great news! Gheppio has announced a special streaming event on Twitch: it'll be a guided tour in the Minecraft world he uses as a laboratory for the Infinity Project. In the stream he'll show you how all the city's components function, how they are designed, and also some other cool things!

Interaction is important! During the event, you'll be able ask anything you want in the Twitch chat; like any guided tour, Bruno be there to answer your questions in real time!

The stream will be on Saturday 12 at 9.00 EST (15.00 Central Europe time)




STAY UP TO DATE!
You can download infinity city and see the technology in action here!
Download includes New Planet for generating a new city, Demo World with an already generated city and all the technical drawings.

Be sure to Subscribe to Gheppio - he posts his updates on his walll! Check out Update 1 and Update 2!

For anyone that wants to support Bruno and his work another way, here are some banners for you to use on your PMC Profile!









Fun Facts about Bruno!





What we've learned: Bruno is truly passionate about this 6+ year long project. His enthusiasm through the entire interview kept us engaged and awed at the same time. We hope you've enjoyed reading the interview as much as we enjoyed interviewing him.
CreditDinowCookie Gheppio
Tags

6 replies

3
10/13/2019 4:23 pm
Level 9 : Apprentice Architect
TheodorAndrei
Awesome!
3
10/13/2019 7:52 am
Level 48 : Master Mlem Mlem Bat
billoxiiboy
Yet another Awesome Interview by the Team at PMC! Gheppio is an amazing innovator and contributor to the Minecraft Community! Love his work! Congratulations to both PMC and Gheppio for an informative and technological Eye Opening aspect of Diverse Minecraft Creativity! :D
2
10/12/2019 8:52 am
Level 69 : High Grandmaster Cyborg
Cyprezz
Pumped for the Live Stream!
3
10/11/2019 10:04 am
Level 43 : Master Engineer
Gheppio
Thank you again for the interview!
I hope that you find it interesting :-D
3
10/11/2019 8:44 am
Level 21 : Expert Creeper
Ragnarrr
amazing!!!
5
10/10/2019 8:27 pm
Level 64 : High Grandmaster Architect
Xoyjaz
Very nice and I formal interview, great job PMC highlighting active community members like this :)

Planet Minecraft

Browse

Website

© 2010 - 2019
www.planetminecraft.com

Welcome