TrueCraft Blog Updates from the TrueCraft team http://truecraft.io/ Improvements to physics engine

Today I hopped back into TrueCraft dev for a little while to deal with some issues concerning the physics engine. There were some cases where you could walk into corners and end up not triggering a collision, which would lead to the player being flung high up into the air once they were detected to be inside of a block on the next tick.

Another issue I resolved was the problem of placing blocks where entities already exist. I just did some tweaks to the existing code that did not work to make it do the correct thing (i.e. prevent you from placing a block that would collide with an entity that's already there).

I have some issues to figure out with entity collisions in practice on the server, where they still behave very strangely. The physics improvements I put in place today seem to help with player movement but items and other entities are still FUBAR.

]]>
Tue, 05 Jul 2016 00:38:43 http://truecraft.io/blog/38/Improvements%20to%20physics%20engine http://truecraft.io/blog/38/Improvements%20to%20physics%20engine
Rendering the day/night cycle lighting in the client

I didn't plan on working on TrueCraft today, but I got on Twitch.tv to stream and one thing led to another. I have implemented the day/night cycle in the client, though it's still a little bit buggy. The sun and moon textures now included by default with TrueCraft are courtesey of the Isabella pack, which is CC-BY-SA, since our current texture pack didn't actually override the sun/moon textures from Minecraft.

If you're curious what the daytime looks like, the answer is probably "weird" because of an issue with the calculation of the sky color. But at sunset it looks quite nice:

Next time I plan on working on the physics engine and improving the stability of the server. The former will lead to better support (or any support, really) for mobs.

]]>
Thu, 21 Apr 2016 00:59:31 http://truecraft.io/blog/37/Rendering%20the%20day/night%20cycle%20lighting%20in%20the%20client http://truecraft.io/blog/37/Rendering%20the%20day/night%20cycle%20lighting%20in%20the%20client
Improvements to client side lighting and performance

Today I spent some time on Twitch streaming some TrueCraft work, and I finished up the lighting improvements started by mrpimpunicorn in the client. I fixed a few issues with things like snow, which you may have noticed had horribly broken lighting, and I fixed issues with the blocks that were lit incorrectly at chunk boundaries.

I also implemented updating the lighting when the client mines a block, as well as re-rendering chunks when adjacent chunks show up, which can be a big improvement for performance since we can eliminate a lot of verticies once we know what the adjacent chunk looks like.

Up next I plan on fixing up the mobs and perhaps even implementing mob rendering in the client.

As a parting thought, here's another screenshot of what the lighting for snow used to look like:

]]>
Thu, 07 Apr 2016 01:44:55 http://truecraft.io/blog/36/Improvements%20to%20client%20side%20lighting%20and%20performance http://truecraft.io/blog/36/Improvements%20to%20client%20side%20lighting%20and%20performance
Multiplatform update - call for contributors

Thanks to some improvements from MonoGame 3.5, I was able to drop some platform-specific hacks from the TrueCraft client, which means it works for most Windows users now. I also spent some time trying to get it working on OSX - and I did, but only as a proof of concept. I encourage readers who are comfortable writing software for OSX to hop in and help build a more mature port. Join us on IRC if you're interested.

I still don't use Windows, so I would also still appreciate contributors from Windowsland keeping that port in good shape. Hop into IRC if you can help with this, too.

The Linux port has also been updated to use GTK3 if available for the Launcher, and now includes Wayland support.

]]>
Sat, 19 Mar 2016 12:56:51 http://truecraft.io/blog/35/Multiplatform%20update%20-%20call%20for%20contributors http://truecraft.io/blog/35/Multiplatform%20update%20-%20call%20for%20contributors
Inventory windows on the client

I have (mostly) implemented windows on the client! Since crafting and window management is already handled on the server, we automatically get crafting support on the client with this. That means that the TrueCraft client is actually pretty playable as a result!

Windows other than your inventory window are not going to work, though. I still have to add the crafting bench, furnace, and chest windows (and eventually dispensers, though the server does not currently support that).

]]>
Fri, 09 Oct 2015 01:50:38 http://truecraft.io/blog/34/Inventory%20windows%20on%20the%20client http://truecraft.io/blog/34/Inventory%20windows%20on%20the%20client
Smelting on the server, audio on the client

I finally put in the effort for making smelting work on TrueCraft servers. As a result, it's now possible to obtain a much larger variety of items in a TrueCraft game, though some of them remain unobtainable due to the limitations of terrain generation.

Additionally, I have started to add sound effects to the TrueCraft client. Thanks to the Minetest project for offering up the relevant sounds under CC-BY-SA! I'm also in touch with a guy who wants to help compose original music for TrueCraft, also CC-BY-SA. The sound effects are currently limited to making noise as you walk, but is smart enough to play different effects based on what you're walking on. I will soon add sound effects for mining and placing blocks, among other things.

I'll leave you with another screenshot, this time of my test runway for sound effects:

]]>
Tue, 06 Oct 2015 02:13:54 http://truecraft.io/blog/33/Smelting%20on%20the%20server%2C%20audio%20on%20the%20client http://truecraft.io/blog/33/Smelting%20on%20the%20server%2C%20audio%20on%20the%20client
New texture pack, gamepad support

I spent some time this morning adding gamepad support to TrueCraft (a feature that even the newest versions of Minecraft still don't have!). It's currently geared towards Xbox 360 controllers, but will probably work with whatever you've got. I will eventually add support for rebinding your gamepad actions when I work on rebinding keyboard actions.

I also reached out to Wojtek Mroczek, the author of the old Pixeludi texture pack for Minecraft. I think this texture pack stays pretty close to the feel of Minecraft, while still being entirely original (and much better than my crappy attempts at artwork). He agreed to let me distribute his textures under CC-BY-SA, and I am happy to adopt them as the default texture pack for TrueCraft. Of course, you can still install any other texture pack you like.

Next batch of changes will just be improvements to the existing stuff. After that, I'm planning on leaving the client behind for a bit and doing some improvements to the server like smelting and mob optimizations (and spawning by default, if I get the optimizations right).

]]>
Fri, 02 Oct 2015 02:49:55 http://truecraft.io/blog/32/New%20texture%20pack%2C%20gamepad%20support http://truecraft.io/blog/32/New%20texture%20pack%2C%20gamepad%20support
Now you can place blocks on the client!

After implementing mining yesterday, I implemented the reverse today. Now you can place blocks! This is actually more than just placing blocks, though - it sends an "interact" message to the server, which is basically any action that's done with a right click. So now you can place blocks, plant crops, open doors, and so on.

The new hotbar appearance also supports texture packs. Here's what it looks like with some others:

mrpimpunicorn helped out with rendering the hotbar today.

The TrueCraft item sprites haven't been worked on, so they don't look very good. But we'll work on them! Or if you're the artsy type and you'd like to help out, how about offering up some improvements yourself? Visit our Github or our chat room if you're interested.

]]>
Thu, 01 Oct 2015 00:34:28 http://truecraft.io/blog/31/Now%20you%20can%20place%20blocks%20on%20the%20client%21 http://truecraft.io/blog/31/Now%20you%20can%20place%20blocks%20on%20the%20client%21
Mining implemented on client

You can mine on the client now! The animation works and everything, using your texture pack's animation (the video is with the Mojang texture pack). The blocks you mine do actually drop items, but the client does not render the entities. The server will also determine that you should be picking up these items, so they are in your inventory (the inventory that you can't see... yet).

Have fun! The builds are up-to-date, try it out.

]]>
Wed, 30 Sep 2015 01:06:21 http://truecraft.io/blog/30/Mining%20implemented%20on%20client http://truecraft.io/blog/30/Mining%20implemented%20on%20client
Client physics fixed, jumping added

The physics engine on the client has been replaced with the shared server/client physics engine (the one that has been receiving all the bug fixes recently) and with that, I added jumping and fixed some issues I did not find with the first pass on physics. This also means that you can't just run into a wall to warp on top of it, since now movement is implemented as changes in velocity that the physics engine handles for us.

I also spent some time adding more optimizations to squeeze additional FPS out of the client. It's still not quite good enough to run on lower end machines, but it's getting better all the time. I can consistently run the client at 60 FPS for as long as I want now.

]]>
Sun, 20 Sep 2015 22:30:04 http://truecraft.io/blog/29/Client%20physics%20fixed%2C%20jumping%20added http://truecraft.io/blog/29/Client%20physics%20fixed%2C%20jumping%20added