Discussion in 'Plugin Development' started by jtjj222, Aug 18, 2012.
Least-restrictive license possible?
This is probably a very stupid question, but how would I go about cloning the repository and having a copy in Eclipse? I sort of got it working using this tutorial, but the layout seems strange, and I have lots of empty packages...
Yes I have that question too... normally it looks like this: https://github.com/sd5/PVPLogger
Then it would have been easy to clone and use in eclipse...
I think it might be best if we move it to maven. Anyway, I can't push to master, github keeps rejecting my changes, but today I will work on getting maven set up, ok?
lol. Hopefully, people can use the code to learn from.
On a completely different note, I have started on a . schematics loader. So far, I am working on reading a named binary tree. After that is done, the rest should be easy. When finished, we will be able to populate blocks with pre-built files, and users will be able to add their own from many popular schematics databases.
Although non-schematic populators are always best
Yes, but they take longer to make, and aren't user configurable. On a different note, does anyone know how to use maven? lol
Nope, so why don't you just upload it as I said in my previous post?
Would be easier i think...
I was taking about block populators then.
As for maven, I want to use it so that anybody can build the project with any ide without havng to reconfigure the libraries (bukkit.jar in this case) for their own file system. If I would upload the eclipse settings, then if you wanted to build the project you would need to re-include your own copy of bukkit.jar, and from past experience that could lead to issues. If you can find a way around that without maven, let me know.
I uploaded the eclipse settings and whatnot to branch bleeding
EDIT by Moderator: merged posts, please use the edit button instead of double posting.
I am gonna be busy for a few days, so I won't be very active
It isn't working, but when I do get it to work, I expect it to be pretty cool.
Also, to keep you guys busy:
This is looking great jtj!
If you need a bugfixer let me know. I'm not particularly good at terrain, but I'd be happy to help out.
I do suggest you make sure the mountains are better though. I dont mind the default gen for everythign but mountains, which are horrible. They really need to be closer to 1-5 large mountains in a biome, going much higher than 128, maybe closer to 220.
Hey guys! I'm in this now too.
Is there another place we should talk, or are we just using this thread?
I've been playing with a hill/mountain that is less... globby. Right now, it isn't based off noise, but I could easily convert it. These hills are pretty fun to climb, they naturally have some daring jumps you need to make if you want to climb up without breaking/placing blocks.I'm also putting the finishing touches on a cartography library that will assist world gen analysis.
I have some ideas about world gen. Tell me what you guys think, and where else you think the default gen is lacking. I'm just throwing out a bunch of ideas.
BeachesI think the default gen is really lacking when it comes to beaches. Beaches just feel like small patches of desert near the shore, because the grass and dirt and trees and everything else is on the same y. On many real life coasts, the land is raised up from the beach, and there are beach-caves underneath the land. I would like to have some kickass beaches.
MountainsLike Synaps3 just said, the default mountains are lame. The world gen hasn't really changed since before the world height was doubled. We are starting off with a height of 256... and we should definitely take advantage of it. Mountains should go well past the clouds, with skeleton spawners and snow on top. We could turn some mountains into volcanoes, with an obsidian+cobble+lava plateau. With Fire Resistance, a player can go into the volcano to discover its treasures. Maybe volcanoes could even have a bit of nethery stuff, the biome could be Hell, and the core could extend all the way down to bedrock. We could raise sea level up a little bit too, to leave room for huge underground labyrinths.
StrongholdsAlso, I thought it might be cool for Strongholds to be floating in the sky. After all, The End's biome is "Sky". It would make them harder to accidentally stumble upon. They could be kind of like the floating castles in Terraria. Does anyone know offhand if 3 is a hard limit to the number of strongholds per world, or if that is just how the default gen does it?
Overhangs & Lighting GlitchesI've noticed that overhangs come with ugly (client side?) lighting glitches that take a while to resolve. This is especially true if you have a lot of overhangs. I really like the look and feel of overhangs, especially low ones that make it feel like you are in a beach cave, but default MC doesn't have very many. I think I remember a tweet from jeb saying that there is no solution to the lighting glitches in the near future, because lighting calculations are expensive. Does anybody know of anything we can do to minimize the lighting glitches that come with overhangs?
Ore DistributionWith the default MC, afaik, vein population is based solely upon the height. Finding an iron vein doesn't make it any more likely that the other veins nearby will be iron. This way, you can just dig into one tunnel, and you will get everything you need. That is a clear and purposeful decision that dictates how gameplay flows. I don't really like it. I think it would be cooler if players need to explore all over our world (and why wouldn't they want to? it will be breathtaking). I think there should be some tunnels/areas that have a much higher concentration of iron, or coal, or diamond, emerald... etc. Sort of like biomes, except for underground. When caving in a default world, it gets pretty boring pretty fast. "Oh... another ravine... I'm sure there is iron and coal all over the walls, some gold and coal and redstone near the bottom, and probably a few diamonds at the bottom if I look around enough."
This image (generated by my cartographer library I mentioned earlier) shows just how repetitive the default caves are. The lighter areas on the left and lower-right represent higher surface elevation (mountians), but the light blue squigglies (caves) and the dark blue squigglies (ravines) are the same everywhere.
TreesI think I remember seeing somebody mention making giant trees. I like the idea, especially now that we have sideways logs, and I am imagining Na'vi-esque tree towers that go up to the clouds. Maybe an entire village could be in a giant tree. However, it is kind of strange to have any sort of custom tree in the world gen, because you can grow a regular tree outside of world gen from a sapling. In general, the trees that spawn in the default world look like they could have been grown from a sapling or four (except swamp trees which, which can be under a block of water and have vines, but the basic structure is still the same). The tree schematic is something we are stuck with. I mean... we could technically override it, but that is beyond the scope of a world generator, and it kills the elegance of only being a world generator.
On GitHub I'm TerriblySimple.
Speaking of GitHub... our package name contains uppercase letters, which is against Java conventions and a pet peeve of mine. With Android, if you try to upload an app with an uppercase character in the package, Google's scripts freak out and won't list the app on Google Play. That is how I first found out package names are supposed to be lowercase
I would fix it, except I am still learning Git/GitHub and I might mess something up.
I think (in my limited java experience) we should get a design document together. Something that would describe everything that we need to do, how we are going to do it, and how it will effect the player's experience. The terrain generator is a very large part of how the player interacts with the game, and I think that every aspect of it should be thought through. Any suggestions?
That sounds good. We could use Google docs, so we can all edit and view it easily.
Also, I agree with you that we should use as open of a license as possible. I'm all for people learning from our code and improving upon it and making even better generators.
This an epically huge project.
I love your ambition.
I don't think it would be that much of a problem, as long as you style your huge trees to look like they grew out of the kind of tree a player gets from a sapling. Yes, the player would never be able to grow a huge tree themselves, but a tree growing to that size isn't something anyone should expect to live long enough to see anyway. If you go with the idea that the tree was around a long time before the player joined the world, I don't think it will break the image of the world they are in.
I know what you are thinking, but I think of it as "go big or go home." Terrain generation is one of the hardest, yet most rewarding aspects of minecraft modding IMHO, and not too many people do it. I point you to this : http://dev.bukkit.org/server-mods/?category=world-generators
Disregarding the ones that are biome editors, or some dev trying to get more downloads by putting their plugin in as many categories as possible, or a new block populator, there are about 10 bukkit world generators. They are genuinely cool but there isn't much to choose from. It needs to be done, sooner or later, and this project has managed to gather quite a bit of support, so I don't think we will have a problem meeting the challenge.
Well, I hope this party isn't over yet!
Still have some touches to do on BorderPatrol, but this looks like fun.
I have messed around somewhat with WorldGen, but not much.
Hey Jtj, having no experience with worldgenerators or noise maps, I probably can't help with programming BUT....
I make software specifications for a living. Please give me access to the google docs area where you are making your terrain generator spec, I want to help by writing it for you and with you.
By no means was I putting it down, I'm excited!
Wow... We don't have google docs set up yet, but when I get home today, I will set it up.
I am too!
EDIT by Moderator: merged posts, please use the edit button instead of double posting.
So jtj tell me something though. How will this differ from existing mods like TerrainControl?
Although I dont know TerrainControl very well, So far I have heard of one difference, and that is you want to have your mod be able to take over generation from the default generator without creating breaks in the terrain.
Other than that, why not just make a collection of settings for TC that we think should replace default?
TC is meant to allow users to customize their terrain. BetterGen is designed to create a fun world generator that is better then the default one; Two very different goals.
On a different note, this is what I have on the coding style so far, let me know what I should change (I really need to find a place to put these where we can all get to them, can I just write it in html?)
https://dl.dropbox.com/u/12637402/BetterGen docs/Coding style.rtf
How about this: http://goo.gl/rbnYZ
Let me know your google account so I can give you edit+invite rights.
Great. [email protected] is my google account, and if you wanted to add me on skype, my username is jtjj222.
My failure of the day (trying to implement diamond square):
Lets move this discussion over to the wip thread: http://forums.bukkit.org/threads/wi...orld-generator-that-is-better-than-you.98291/
I am going to bed, I hope to get diamond square working tomorrow. I think I know what's wrong already. Anyway, talk to you in the new thread, and I can see the potential that the diamond square algorithm has now, can't wait for it to work
I'm really interested and an experienced java coder especially with bukkit...
btw Remember me...?
locked by OP request, if you want to post, post here: http://forums.bukkit.org/threads/wi...orld-generator-that-is-better-than-you.98291/
Separate names with a comma.