All Projects → icexin → Gocraft

icexin / Gocraft

Licence: mit
A Minecraft like game written in go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Gocraft

Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (-66.61%)
Mutual labels:  game, minecraft, opengl
Craft
A simple Minecraft clone written in C using modern OpenGL (shaders).
Stars: ✭ 8,957 (+425.65%)
Mutual labels:  game, minecraft, opengl
Starlight
spaceships in space
Stars: ✭ 71 (-95.83%)
Mutual labels:  game, opengl
Expo Three Demo
🍎👩‍🏫 Collection of Demos for THREE.js in Expo!
Stars: ✭ 76 (-95.54%)
Mutual labels:  game, opengl
Cubeworld
Minecraft like game made in Unity
Stars: ✭ 130 (-92.37%)
Mutual labels:  game, minecraft
Supertux
SuperTux source code
Stars: ✭ 1,120 (-34.27%)
Mutual labels:  game, opengl
Pharaohstroy
A maplestory IDE which can develop the multi-platform maplestory game
Stars: ✭ 69 (-95.95%)
Mutual labels:  game, opengl
Sildurs Shaders.github.io
Sildurs shaders website
Stars: ✭ 84 (-95.07%)
Mutual labels:  minecraft, opengl
Knights province
Knights Province missions and wiki.
Stars: ✭ 43 (-97.48%)
Mutual labels:  game, opengl
Voxelman
Plugin-based client-server voxel game engine written in D language
Stars: ✭ 105 (-93.84%)
Mutual labels:  game, opengl
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+493.6%)
Mutual labels:  game, opengl
Betterspades
BetterSpades, an Ace of Spades client targeted at low end systems (GL/ES 1.1). Runs on your grandmother's rig!
Stars: ✭ 112 (-93.43%)
Mutual labels:  game, opengl
Sunset Cyberspace
🎮👾Retro-runner Game made in Expo, Three.js, OpenGL, WebGL, Tween. 🕹
Stars: ✭ 54 (-96.83%)
Mutual labels:  game, opengl
Raylib Goplus
A newer version of the Go bindings for Raylib
Stars: ✭ 53 (-96.89%)
Mutual labels:  game, opengl
Modeler
Free 3D Modeling Tool
Stars: ✭ 50 (-97.07%)
Mutual labels:  minecraft, opengl
Soldat
Soldat is a unique 2D (side-view) multiplayer action game
Stars: ✭ 1,199 (-29.64%)
Mutual labels:  game, opengl
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+528.64%)
Mutual labels:  game, opengl
Botcraft
Botcraft is a cross-platform C++ library to create bots that connect and interact with Minecraft servers with (optional) integrated OpenGL renderer
Stars: ✭ 41 (-97.59%)
Mutual labels:  minecraft, opengl
Game Dogfight
Air to air combat game, created in Python 3 using HARFANG 3D.
Stars: ✭ 41 (-97.59%)
Mutual labels:  game, opengl
Wanderers
An open world adventure and dungeon crawling game
Stars: ✭ 96 (-94.37%)
Mutual labels:  game, opengl

GoCraft

A Minecraft like game written in go, just for fun!

ScreenShot

Features

  • Basic terrain generation
  • Add and Remove blocks.
  • Move and fly.
  • Multiplayer support

Dependencies

For go

  • go 1.10+

For glfw

  • On macOS, you need Xcode or Command Line Tools for Xcode (xcode-select --install) for required headers and libraries.
  • On Ubuntu/Debian-like Linux distributions, you need libgl1-mesa-dev and xorg-dev packages.
  • On CentOS/Fedora-like Linux distributions, you need libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel packages.

Install

go get github.com/icexin/gocraft

Run

Suppose $GOPATH/bin is in your PATH env, use command below to run.

cd $GOPATH/src/github.com/icexin/gocraft && gocraft

How to play

  • W, S, A, D to move around.
  • TAB to toggle flying mode.
  • SPACE to jump.
  • Left and right click to add/remove block.
  • E,R to cycle through the blocks.

Multiplayer

Multiplayer is supported now!

The server code is at https://github.com/icexin/gocraft-server .

You can use gocraft -s gocraft.icexin.com to connect the public server.

Since the player on public server is anonymous, be carefull for your work!

If any network error occurs, the game will end with a panic, may changed in the future.

Local cache is saved as cache_$server.db, you can use gocraft -db xxx.db to offline use.

Roadmap

  • Persistent changed blocks
  • Multiplayer support
  • Ambient Occlusion support

Implementation Details

Many implementations is inspired by https://github.com/fogleman/Craft, thanks for Fogleman's good work!

Multiplayer is implementated used a duplex rpc call, client can call server to update blocks or fetch chunks, server can also push changes to clients.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].