During my "Learn Unreal Engine" phase I am always looking for interesting small sample projects to make the learning procedure a bit more interesting and fun.
This time, I went for an all time classic, a small Minecraft clone.
should not have used the blue blocks with the blue background though :D
Overall it was not that much of a challenge, especially after the game logic of detecting already placed blocks and placing new blocks on the correct spot was successfully implemented.
Luckily, the Unreal Marketplace offers enough free assets to play around with. This contains simple things like textures that we can use for our blocks or more sophisticated assets like our full animated character as seen in the first picture.
Started with the "base" where everything can be placed on. In "Minecraft terms" this would be the Bedrock
Our little guy here, lets call him "Charles", will hold a small "preview block" in his hand to display the currently selected block that will be placed on click.
The available blocks will be selected by using the mouse wheel.
All game logic (placing and destroying blocks and movement like running and flying) has been implemented by using Unreals Bluepring system.
Although blueprints are an awesome way to create easy readable und maintainable game logic I sometimes miss to write good old C++ code.
Yes, you can exchage blueprints with C++ code, but the workflow is easier and faster with utilizing the provided tools.
The gameplay itself is pretty straight forward.
Moving with WSAD, jumping with Space and double tap Space to toggle fly mode.
Left click to place the selected block, right click to destroy the targeted block.
Currently, the following blocks are available:
- Green Base Block
- Dirt Block
- Grass Block
- Brick Block
- Wood Block
- Green Block
- Blue Block
- Gold Block
- Purple Block
- Rondom Flower Block
Lighting in Unreal Engine is always a pretty nice thing to do. It's easy (when it's working as planned) and done qickly if you stick to the basics.
Lighting big cinematic scenes are something completely different of course.
I am currently not sure where to head from here.
Maybe I could add some blocks with effects, like a fire block or dynamite block.
Other than that, I also could try to recreate the typical random world generation that is known from Minecraft and other similar games.
But to be honest, I am not sure if I want to spend too much time into a project that has no real purpose than to fiddle around for some time and dump it afterwards 🤔
What do you think? Any ideas? Let me know :)