在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:weigert/territory开源软件地址:https://github.com/weigert/territory开源编程语言:C++ 87.5%开源软件介绍:territory3D rendered proc-gen world test C++ homebrew voxel engine for intelligent agent-driven (NPC) procedural generation / world simulation. Blog: https://nickmcd.me CompilingUse the make file to compile the binary.
Tested on Ubuntu 18 LTS. I have been informed that on Ubuntu 19, the install folder for libnoise is different and needs to be fixed in the 'territory.h' header file. Dependencies
Usage
If the world name doesn't exist, it will generate a world with the specified seed. If it does, it will load the world (and ignore the seed input). By default, the world generation occurs using the SimpleHydrology system (described a separate repository). This can take a little bit, as it simulates erosion and then extracts the voxel data from the terrain. ControlsMouse and Keyboard Inputs:
PanelIn-simulation control panel allows for manipulating the simulation.
ScreenshotsPerlin world generation, example of what the rendering looks like and what the control panel looks like. This is in fullscreen mode. Dense forest world gen. The leaf colors are varied using bezier curves, parameterized by the hashed block position in world-space (see my blog for more information). Example of a "village" (which is really just a spot in the desert where I had the bots build a bunch of houses). It wasn't like this at world gen, but rather the bots built this 100% from scratch. Then I took the screenshot. There are tons of bots in this image. If you turn the camera just right, your 3D projection becomes this pseudo-isometric projection and looks really nice. Here is an example of a watery world-gen. Again using hashed bezier parameters for color variation. And zoomed out a bit. Updated world generation using the SimpleHydrology system And zoomed in a bit. SourceReadingIn the wiki, there is a dedicated page to reading and understanding the source code. You may not be interested in all aspects of this project. In that case, reading certain portions of the source code can give you insight into the system. This is also listed on the wiki page. FeaturesA description of features and future plans for various elements of the simulation can be found in the wiki also. I will try to keep the feature list as complete as possible. ContributingIf you are interested in contributing to this project, with ideas or source code, please let me know. I could particularly benefit from experience in the areas of:
There are lots of possibilities to include generative systems for the simulation, so if you have a nice concept I would be happy to see it. Currently, this is 100% solo. LicenseThis software is available under the Mozilla Public License. Still, I don't want to clutter the source with header text, so I hope that's ok. Feel free to use and modify the source of this project. The music and artwork used in the project (everything in /resource/) is not open source. That content was made specifically for this version of this project. If you plan on distributing your own variant of this software, you must use your own music and artwork, or contact me. Using the artwork and music yourself for personal use is fine of course. Please see the copyright notice on my website for more information. ArticlesFor the interested, there are some writeups on the various elements of this project on my blog, explaining the systems and the thought process behind their design:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论