在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):Hopson97/MineCraft-One-Week-Challenge开源软件地址(OpenSource Url):https://github.com/Hopson97/MineCraft-One-Week-Challenge开源编程语言(OpenSource Language):C++ 81.8%开源软件介绍(OpenSource Introduction):MineCraft-One-Week-ChallengeI challenged myself to see if I could create Minecraft in just one week... So lets go! Video: https://www.youtube.com/watch?v=Xq3isov6mZ8 Note: I continued to edit after the 7 days, however the version seen in the video is found here https://github.com/Hopson97/MineCraft-One-Week-Challenge/tree/eb01640580cc5ad403f6a8b9fb58af37e2f03f0c And the "optimized" version can be found here: https://github.com/Hopson97/MineCraft-One-Week-Challenge/tree/792df07e9780b444be5290fd05a3c8598aacafc8 (~1 week later version) There also is a version of this game with very good graphics, and things like a day/night cycle. However, it was causing rendering issues for many people. This version can be found here: https://github.com/Hopson97/MineCraft-One-Week-Challenge/tree/aa50ad8077ef0e617a9cfc336bdb7db81c313017 Other People's ProjectsThis was made in a week, as a challenge for a video. There do exist other, more mature and developed Minecraft clones written in C++. MineTest here: https://github.com/minetest/minetest BuildingYou will need GLM and SFML 2.4.1+ libraries w/headers, and this also requires a compiler that supports C++14 (or newer) with threads. macOSInstall macports from https://www.macports.org
Ubuntu
Compile Source and RunnimgLinuxDebugsh scripts/build.sh
sh scripts/run.sh Releasesh scripts/build.sh release
sh scripts/run.sh release The ChallengeDay OneEnd of day one commit: https://github.com/Hopson97/MineCraft-One-Week-Challenge/tree/44ace72573833796da05a97972be5765b05ce94f The first day was spent setting up boilerplate code such as the game state/ game screen system, and the basic rendering engines, starting off with a mere quad. The day was finished off by creating a first person camera. End of day stats:
Day TwoEnd of day two commit: https://github.com/Hopson97/MineCraft-One-Week-Challenge/tree/98055215f735335de80193221a30c0bb8586fba5 The second day was spent setting up the basic ChunkSection and various block classes. I also worked out the coordinates for a cube, and thus created a cube renderer. I finished up the day attempting to create a mesh builder for the chunk; however, this did not go well at all, and two had ended before I got it to work correctly. End of day stats:
Day ThreeEnd of day three commit: https://github.com/Hopson97/MineCraft-One-Week-Challenge/commit/78bd637581542576372d75cf7638f76381e933b4 To start the day off, I fixed the chunk drawing. Turns out I was telling OpenGL the indices were Anyways, after this I got the game working with more chunks. I now have an area of 16x16 chunks, made out of chunk sections of 16x16x16 blocks. To finish the day off, I got some naive block editing to work. End of day stats:
Day 4The first thing I did on day 4 was create a sky box using OpenGL cube maps. After this, I started work on the world generation, eg adding height map and trees. End of day stats:
Day 5I started off the day by cleaning up some of the chunk code, and then proceeded to make the world infinite, but I felt it was not needed, so I simply went back to a fixed-sized world. I then added an item system. My implementation probably was not great for this, but it was my first time at creating that sort of the thing. Basically, when a player breaks a block, it gets added to their inventory. When they place a block, a block is placed.
Day 6Mostly optimizations, such as view-frustum culling and making the mesh building faster. Day 7Focus on improving how it looks, eg adding directional lighting Also implemented concurency :) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论