Post news Report RSS Half-Craft (Minecraft in Half-Life) Alpha 1.0 Release

In this article, I describe what I have done in the past months, what have I achieved, and where you can download the very first release of Half-Craft.

Posted by on

Hello everyone!

For the past months, I have been online-offline with the mod, occasionally working on it and not working on it. However, I managed to rewrite the entire mod in that time period to be more optimized and more manageable in the future.

The old

The problem with the older version was that it was unmanageable, in a code sense, and slow in game. You see, it was a prototype and I didn't care too much about how good the code was, I just wanted something out. This worked for a couple of months until the memory started corrupting out of nowhere. I didn't want to deal with that, so I rewrote the mod, this time with a plan.

The new

The plan was to somewhat keep the old version's structure, but start using the safer C++ way of dealing with data (STL) from this point on.

As for the slow in-game performance, I started looking into OpenGL instancing, which makes the GPU's work easier by uploading the graphics data before rendering it. I also went to render as few polygons as possible, but the current implementation is less than stellar.

Very first screenshot of working OpenGL instancing

Player hands everywhere

Almost done

Networking

The second problem was the networking. Half-Life works in a standard server-client model, meaning that the server updates the client periodically of the current game status so it doesn't get out of sync. Of course, the old implementation was bad. Like really bad. For every block, it sent its description in 13 bytes. For reference, Half-Life only allows 3990 bytes out of the server every second. That method would take 216 seconds to fill one chunk!

The solution that came into my mind is to divide up the positions into different rows and chunks, so for every 16 blocks in a row, it would send their chunk's position first, then the row's position, and then the blocks' types and relative positions in the row. This method is much more faster than the previous method, but it still takes 32 seconds at best to fill a chunk.

For some reason, I hesitated to use compression for networking, but since the previous method was really bad, I tried out ZSTD. It worked much better, only using ~200 bytes for one chunk, which prompted a maximum of 20 chunks per second at best!

Download

I'm not gonna lie to you, this is kind of an early access version, as in it still has some bugs that really need stamping out. But I didn't want you to wait, and I wanted to start this season with a release as soon as possible.

Gameplay is very rudimentary, you can only place, break and shoot blocks and explore. Like, that's it. No stepping sounds, the water is arbitrary, and the physics are totally unrealistic and annoying, and the graphics are unreliable. Unbelieveable, but it still can carry on at least 10 minutes of gameplay, if dedicated, 15 minutes.

I didn't test multiplayer yet, and the code is not written to host multiplayer games, so don't try it.

To give yourself blocks, you have to press Y on your keyboard and the enter /give <block id> into the chat. You should fill in the <block id> area with a block type number or a block name. Here is a chart of all of the block names and numbers which you can type in <block id>:

There are also some special keybindings in this version of the mod

WASD: Move
Space: Jump
Left Ctrl: Crouch
V: Fly/noclip
E: Inventory
Left Mouse Button: Break blocks/Fire
Right Mouse Button: Place blocks/Use

Here is some sample gameplay of the mod:

It's only for Windows (version 1.0.1)
Half-Craft Alpha 1.0.1 Lukewarm Hotfix


Future

I plan to release multiple, improved versions in this month, including heaps. I really want to start including survival elements into the mod, so stay tuned!

Half-craft official discord server for updates:

discord embed


See you soon!!!

b4n4n4

Post comment Comments
Leviathan_imo
Leviathan_imo - - 302 comments

wow this is neat. it's minecraft 3D april fools thing but legitimate. Trying to make a separate genre game go together is hard, i'd like to see more of this.

Reply Good karma Bad karma+5 votes
b4n4n4 Author
b4n4n4 - - 28 comments

Yeah, it still needs several hotfixes before it can be played normally tho

Reply Good karma+4 votes
gareen
gareen - - 102 comments

Hello Author, what about single player survival and mobs
Hell And Ender will be?

Reply Good karma Bad karma+1 vote
Ztritsval
Ztritsval - - 106 comments

Holy F*ck

Reply Good karma Bad karma+4 votes
ZombieX
ZombieX - - 380 comments

That's so impressive. Awesome job dude!

Reply Good karma Bad karma+3 votes
Kralich/David Staff
Kralich/David - - 830 comments

Great stuff

Reply Good karma+3 votes
Spiralt
Spiralt - - 80 comments

how to play minecraft for free

Reply Good karma Bad karma+2 votes
b4n4n4 Author
b4n4n4 - - 28 comments

Speaking of playing minecraft free, I might have to change the assets so I don't get a personally signed email from Jeb saying that I should stop using Mojang assets.

Reply Good karma+2 votes
Guest
Guest - - 690,140 comments

with russian launcher "tlauncher" may

Reply Good karma Bad karma+1 vote
TheRenegadist
TheRenegadist - - 2,087 comments

This is incredibly intuitive, not sure how far you'll be able to get but I'm definitely going to watch out for more updates.

Reply Good karma Bad karma+2 votes
b4n4n4 Author
b4n4n4 - - 28 comments

I'm sure I will get as far as making a fully working survival game, though I have to sacrifice many hours and days for that feat.

Reply Good karma+2 votes
Guest
Guest - - 690,140 comments

awesome mod dude!

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: