-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Map Engine #305
[WIP] Map Engine #305
Conversation
engines: static: simple creates map with dirt diamondsquare: engine from detrumi mandelbrot: create map with mandelbrot set
Help needed with buildsystem/cpp.make: how to add -lnoise
removed chunks_per_side Parameter
It would've been nice if this was communicated better, as I've merged part of this PR into one of my branches (by your request). I'm fine with you working on it or taking it over. On the perlin noise: someone already has implemented a prototype for this, though I'm not sure what the status on that is, and whether it's easy to call the python code from cpp code (this is also being worked on, but that's not finished yet). |
Did you have a look at #179? It implements the noise generator in python, the API (#217) is close to being finished, so you can use the python implementation for the mapgen or even implement the mapgen in python itself (as it's not a time-critical operation). I'd rather not add I like your modular approach, the code needs better integration though (we have an awesome logger e.g.). Keep up the good work, much potential is there, we'll come up with some nice ideas. |
@detrumi I'm sorry, I should have said something, but @TheJJ stated (detrumi#1 (comment)), I should use the Master Repo for Pull Requests. I didn't noticed the python implementation. I will have a look into it and use it to reduce the dependency. |
Go ahead with this PR to the master repo. In my branch, I was just experimenting with the diamond-square algorithm, it's not finished yet. It's not flexible enough for map generation, though it may possibly be useful for generating the heightmap if we're implementing elevation. |
added perlinnoise library and added needed files to Repository
No, I do believe it's perlin noise. The noise in my test pictures is value noise, that's why it looks different from the in the PR. I see nothing wrong with the noise generator the way it's in the PR. |
mandelbrot!!! pics or didn't happen! |
that is awesome!!! :D |
@rkreis ah ok, then i just got your comment wrong. |
converted line endings and added legal info for libnoise
Before it's too late, i really don't like bundling libraries in our code. Using "well-known" and up2date libs shipped with distros as new dependencies is much better. If no matching lib is available, we should (e.g. like the rng) implement stuff in "our way" so we have a simple-stupid awesome implementation written and maintained by the project itself. My suggestion: write the code in c++ and I'll replace it with the python part when the api is ready. |
You're right, this is an intermediate solution. I want a working travis ci build, so i can go on to the next working one. |
@timohaas: It should be rather simple; just have a look at |
It's building now (Commit 478d227). I added the needed Header and Source Files directly to the Source Code. TheJJ suggested, we implement our own Perlin Noise. I will look into this if needed, but would rather use the http://libnoise.sourceforge.net/ lilbrary. |
The python interface is complete now, you can use parts the noise implementation commits from #179 i hope. |
I'm the one working on the perlin prototype. I'll try to get this productive asap. |
Map Engine
moved map creation from the main loop to a new subsystem.
Created Interface for different map engines.
Implemented Engines: