catlover007's blog
Welcome to the personal blog of catlover007
Background color
Background image
Font Type
Font Size
    catlover007 It all began a while ago, maybe a half year. I started to write a Minecraft clone in C++ using OpenGL. The reason was, well there isn't a real reason. Somehow "writing a Minecraft clone" has become a common challange for upcoming programmers and I tried to do it. One of my friends got really execited. He's one of these Open Source fans, he only uses Linux and bashes Windows reguarly(although he is a nice person) and he doesn't like that Minecraft is built on top of Java. And finally someone he knows(he's more a JS and Python programmer and that's the kind of people he mostly knows) tries do implement an open source version of Minecraft(his favorite game) in C++. That's the first version of Craftus.
    But this version of Craftus was badly planned and he annoyed me almost everyday to ask if I made any progress and that's how this version was abandoned.

    Then I started Craftus for 3DS. At this time I had enough of C++(not only because of the original Craftus), so I wrote it in C. This is the version of Craftus I announced here on Gbatemp and uploaded on Github. It grew wonderfully, but like the original Craftus it was badly planned and I discovered the bad sides of C(you have to have a uniform naming scheme in C, otherwise you're lost, etc.). At the end(IIRC at the end of december) I was frustrated. Mostly because constantly regressions were showing up. The whole code needed to be refactored and this brought me to the point where I stopped working on Craftus for 3DS.

    After all this time C++ rehabilited for me and couldn't resist making a new try on Craftus written in C++ for the PC, which I port eventually over to the 3DS. This time everything was right and everything worked fine until the point where I compared it's performance the of Minecraft and it ran slower. I asked myself: Is Craftus for PC useful? And the answer is obviously no, it isn't. So I stopped the development of the third version of Craftus(I was very depressed because Minecraft outperformed Craftus easily and I was clueless how I should further improve Craftus).

    My younger brother wanted to buy Cube Creator 3D. And I thought: "come on, you're able to write something better that this". I missed the low leveless of the 3DS(allocating and filling VBOs from every thread? No problem for the 3DS!). And so I returned to the 3DS and good old C(I let my brother play real Minecraft on my old PC, for now the fourth try on Craftus is still worse than Cube Creator 3D).

    The fourth try on Craftus is mostly a restructed version of the second version with some completely new parts. I can't guarantee that this version is the last version of Craftus, but the chances are high it is(atleast for now).

    Also I noticed that I learned much while writing all these Minecraft clones. It was the first time I used mulithreading and all Craftuses belong to the largest projects I've ever wrote. Also when I was sitting on the second version of Craftus I discovered a blog entry of some Minecraft PE programmer. He described exactly how he implemented a new advanced culling algorithm in Minecraft PE and Java Minecraft. A few months ago I failed to implement this algorithm in the second Craftus, but now I it's implemented in Craftus, so my skills actually have been improved!

    And as a little gift here's the current build of Craftus 4 as a proof that I'm didn't make this story up.

    Attached Files: