All Projects → Terasology → Polyworld

Terasology / Polyworld

A world generator that is based on Voronoi diagrams

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Polyworld

Terasology
Terasology - open source voxel world
Stars: ✭ 3,247 (+5403.39%)
Mutual labels:  game, game-development, gamedev, voxel
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+577.97%)
Mutual labels:  game, game-development, gamedev
Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (+557.63%)
Mutual labels:  game, game-development, gamedev
Session Seven
Free oldschool point & click graphic adventure game
Stars: ✭ 20 (-66.1%)
Mutual labels:  game, game-development, gamedev
Defaultecs
Entity Component System framework aiming for syntax and usage simplicity with maximum performance for game development.
Stars: ✭ 286 (+384.75%)
Mutual labels:  game, game-development, gamedev
Games
🎮 A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine.
Stars: ✭ 18,676 (+31554.24%)
Mutual labels:  game, game-development, gamedev
Anything about game
A wonderful list of Game Development resources.
Stars: ✭ 541 (+816.95%)
Mutual labels:  game, game-development, gamedev
Dino3d
🦖 Google Chrome T-Rex Run! in 3D (WebGL experiment)
Stars: ✭ 263 (+345.76%)
Mutual labels:  game, gamedev, voxel
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+1010.17%)
Mutual labels:  game, game-development, gamedev
Tank island
Top down 2D shooter game that involves blowing up tanks
Stars: ✭ 42 (-28.81%)
Mutual labels:  game, game-development, gamedev
Coffee
An opinionated 2D game engine for Rust
Stars: ✭ 771 (+1206.78%)
Mutual labels:  game, game-development, gamedev
Minigolf
A minigolf game written without a game engine in C
Stars: ✭ 282 (+377.97%)
Mutual labels:  game, game-development, gamedev
Beaverandfairies
Stars: ✭ 14 (-76.27%)
Mutual labels:  game, game-development, gamedev
Ssvopenhexagon
C++14 FOSS clone of "Super Hexagon". Depends on SSVStart, SSVEntitySystem, SSVLuaWrapper, SSVMenuSystem, JSONcpp, SFML2.0. Features JSON/LUA customizable game files, a soundtrack by BOSSFIGHT, pseudo-3D effects.
Stars: ✭ 364 (+516.95%)
Mutual labels:  game, game-development, gamedev
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+5422.03%)
Mutual labels:  game, game-development, gamedev
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (+794.92%)
Mutual labels:  game, game-development, gamedev
Entitas Cpp
Entitas++ is a fast Entity Component System (ECS) C++11 port of Entitas C#
Stars: ✭ 229 (+288.14%)
Mutual labels:  game, game-development, gamedev
Gdevelop
🎮 GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
Stars: ✭ 3,221 (+5359.32%)
Mutual labels:  game, game-development, gamedev
Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+9040.68%)
Mutual labels:  game, game-development, gamedev
Godot Open Rpg
Learn to create turn-based combat with this Open Source RPG demo ⚔
Stars: ✭ 855 (+1349.15%)
Mutual labels:  game, game-development, gamedev

PolyWorld

This is a polygon-based world generating module. It is based on the map generating algorithm by Amit Patel of Red Blob Games.

image1

The basic idea is to tesselate the terrain (using Fortune's algorithm) into a set of polygons. Currently, only island worlds are supported. An island world is created as follows:

Step 1: Since the terrain is infinite, it needs to be partitioned into finite areas first:

step1

Step 2: The area is tesselated into polygons. The algorithms behind this are approximate Poisson disc sampling to generate a well-behaved set of sampling points, Fortune's algorithm to compute the initial Voronoi diagram and Lloyd's relaxation to regularize the polygon shapes.

step2

Step 3: Based on a random noise function such as Perlin noise, water and land vertices are defined. Starting at the border of the rectangle, the height of the island increases towards the center. Lake areas are flattened afterwards.

step3

Step 4: Since the elevation gradient is monotonously increasing, rivers can start at any corner of the map, flow downhill and always reach either a lake or the ocean.

step4

Step 5: Based on height and the distance to rivers, a map of moisture is generated.

step5

Step 6: Each of the regions is assigned to exactly one biome as defined by Whittaker.

step6

Step 7: Each of the biomes has its unique distribution of flowers, mushrooms and other small plants.

step6

Step 8: Same goes for different tree types.

step8

Acknowledgements

This module is loosely based on the Java implementation by Connor Clark.

License

This module is licensed under the Apache 2.0 License.

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].