dorkhub

3D-Redstone-Simulator

A web app to simulate redstone circuitry (boolean logic) in a minecraft-like 3D environment.

GuilhermeRossato
JavaScript7811 forksupdated 2 months ago
visit the demogit clone https://github.com/GuilhermeRossato/3D-Redstone-Simulator.gitGuilhermeRossato/3D-Redstone-Simulator

3D Redstone Simulator

This project uses three.js (webgl) to simulate minecraft and its game mechanics directly in the browser.

Click here to run the current version

The app controls matches the game this project is inspired on:

  • W A S D: Walk sideways/forward/backward
  • Space / Q: Jump / Move Up
  • Shift / Z: Crounch / Move Down
  • R: Reset position (teleport to 0,0,0)
  • left click: Break blocks.
  • right click: Place blocks.
  • middle click: Changes the block type to the same block infront of you.
  • Numeric digits (1-9): Set the current block type (to a specific type).

Since this is under active development the above link may not always bring you to a working release. If you want you can download the most recent release and run it yourself locally.

Releases

  • v 0.1 - Performance Viability Release

Preview v0.1

  • v 0.2 - Primitive Block Distinction

Preview v0.2

  • v 0.3 - Collision Detection and Block Selection

Preview v0.3

  • v 0.4 - Inventory, Hotbar and Procedural Terrain Generation [Removed]

Preview v0.4

  • v 0.5 - ES6 Rewrite and Voxel AO Implementation

Preview v0.5

  • v 0.6 - Block selection and block placement

Preview v0.6

  • v 0.7 - Multiplayer and World persistance

Preview v0.7

Who is this for

This is an experiment to simulate the game in the browser and eventually to make developing redstone contraptions easier by allowing fast prototyping. It also serves as my project to experiment with project organization, design philosophy, test zone and whatever idea I came up with.

How to run this repo locally

Download this repository and either run npm run start at the root of it or just run a static http server to serve files for frontend folder.

There are no dependencies, so you don't need to call npm install.

However, the backend is not included, so it will not work and your world and the changes you make in it will not be saved.

Objectives, Priorities and Plan

  1. Menu (done)
  2. 3D Controls similar to minecraft (done)
  3. Correct Block Rendering (done)
  4. Crosshair and Block Selection (done)
  5. Collision Detection (removed)
  6. Procedural Terrain Generation (release v0.4 only)
  7. Major update - rewrote everything with modern technology (done)
  8. Inventory and Hotbar system (in progress)
  9. Mobile and Gamepad compatibility (in progress)
  10. Block placement (done)
  11. Area select and selection tools
  12. Multiplayer system (done)
  13. Redstone Simulation
  14. Piston Simulation
  15. Water and Lava Simulation

Easter eggs

You can relive the entire world block history (play it back) in some obscure undocumented way.

Dependencies, Credits and Inspiration

  1. three.js - Javascript 3D Library - Used to render the world
  2. Minecraft - by Mojang - Inspiration and original game
  3. Digital Circuit Logic, or Boolean Algebra - Definition of how complex redstone systems behave

more like this

lottery

🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀

JavaScript4.6k

search

search projects, people, and tags