As the final project for CIS 460 (Interactive Computer Graphics), my team and I were tasked with building a miniature (and simplified) version of Minecraft. Although the game seems simple in terms of graphics and pixels, rendering each of the components (not to mention combining them in an efficient manner) was no easy task. Through this project, we learned a lot about how OpenGL works and how real-Minecraft takes advantage of small details to greatly optimize the effiency and rendering of the game.
Procedurally Generated Terrain (rolling hills, mountain caps, etc.)
Efficient Terrain Rendering and Chunking
Game Engine and Player Physics
Texturing and Texture Animation
sampler2Dwithin the fragment shader
WATERblocks were implemented by transitioning between two blocks relative to
Multithreaded Terrain Generation
Inventory and Onscreen GUI
ikey to open up the crafting screen.
T Y U G H J B N M
oonce you have hilighted which one you want removed.
cto craft the block and it will be put into your inventory.
crafting.cpp. The first 9 blocks represent the recipe as if the three rows were put into a 1D array one after another. The last block represents what the recipe will create once crafted.
QSoundEffectlibraries, there may be a slight delay in building the project and whenever the player breaks/places blocks.