Might as well nip this one in the bud. One of the core parts of creating a 3D game is level editing, and you need a good WYSIWYG interface in order to easily create levels. But there are plenty of examples out there that we can use, so why not discuss how to make something, well, better that what is already there now? Over in the Generations Hacking Topic, a few peeps and I were discussing how to improve ease of use for creating custom levels. And it became blatantly clear to me... Creating 3D assets is fucking complex. But does it neccessarily have to be that way? So, that results in a few ideal goals that I think should be necessary when it comes to what I call the "Minecraft Creation Philosophy": Something that literally anyone can use with very little learning (with more advanced tools for various applications) Something that allows designers to create unique setpieces and worlds with just a limited set of 'building blocks' (not necessarily blocks, duh) Allows collaboration via LAN or over the internet That is fun to use That can be be customized to suit the needs to the user How can these goals be achieved? I'm not sure right now, but I have examples of such a philosophy in action: FyreUK are very prolific Minecraft builders, who have gained a huge following for their creations and timelapses. They gather a whole bunch of people together, and then start building shit. They make stuff in hours that would take professional dev teams months to create - because Minecraft, despite providing only a limited number of 'blocks', allows a huge range of creativity, building is extremely easy and only limited by imagination, and these people are working collaboratively in groups. And, best of all, they do it because it's fun. Making things becomes a game in itself. That's why Will Wright made Sim City - he thought that creating levels in the level editor in his last game was more fun than the game itself. Mind you, we're talking about creating a level design interface for more complex things than just a bunch of blocks put together, but the closer we can get that ease-of-use, collaborative ideal that promotes creativity, the better it'll be. Sometimes the best solutions can be simpler than you realize. Discuss! What can be done to make the best 3D level creation interface we want?
I think you're conflating 'design' with 'construction. I'm not 100% sure about this, but I think those minecraft worlds are designed long before they're ever built. Otherwise there'd be chaos when it came time to actually build something.
Well, perhaps I used the wrong terms, but I was pretty clear on the intent - what do we want in an editor interface.
I'd rather work with chunks, or at least having the option to. Like how Andrew designed his Green Hill models.
Here's my idea. The initial tool comes with pre-built chunks modeled after all of the ones in the classic Genesis games, only in 3D. I picked these because you know a lot of people out there are going to initially want to do the Generations route and try to remake levels from older games. Levels like this can be built simply by dragging and dropping these chunks in a simple interface, like the Gummi Ship builder in the first two Kingdom Hearts games. (Just replace Gummi Blocks with level chunks) If the user wishes, they can build new chunks to work with, using a more classic interface like what's used in an existing 3D modeling program. These new level chunks can be saved into a special format (I'm imagining something like ".chk") that can be imported/exported separately. New users who are only skilled enough in the chunk interface can download these sets and import them into their editor to be able to work with more pieces than what's initially available. Finally, a simple function to build a road would be handy. No chunks needed for this, just input the length and width in a menu, and you can see the road being generated as you input values, so you can eyeball if you need to increase or decrease these values. Once you have it in, you can use the mouse to twist and shape the road, adding pitch or bends, curves or whatever. Add a function to simply click on the edges of two existing chunks and automatically stretch a road between the two that the user can stretch or shape freely. ----- Textures would be handled by importing BMP or PNG images into the editor, and then clicking on individual surfaces to apply the image directly to it. I don't really see any more that needs to be elaborated on here. ----- Pre-existing enemies would probably include a handful of enemies from a couple of existing Sonic games. A few classic-type enemies such as Motobugs or whatever would work well, but Egg Pawns would probably be their own separate set. I mean, they all act mostly the same, so a single behavior pattern with the designer choosing an appearance (Sky Sanctuary Egg-Robo, Unleashed-Style Egg Pawn, Colors-Style Egg Pawn, etc.) would probably be sufficient. An enemy editor would be nice, but I'm not exactly sure how that would be done. I suppose if somebody could come up with an interface similar to the one in "Zelda Classic", but designed for 3D, it would work well. ----- That's all the ideas I have for now. I'll write back if I come up with more.
It's been years since I've played it but the Tony Hawks Pro Skater 2 for Dreamcast had a really nice and intuitive editor that works with pre-built chunks and you could test as you built it, I think it's a good inspiration for an easy and accessible editor.
I like Trackmania's editor as well. I think it would a nice way to go, or even combine it with other editors. I remember play a skate game years ago (but I don't think it was a Tony Hawk game) that had a editor. It was pretty nice, a bit basic though. Personally, I'd like to have a editor like UDK's or the Source Engine's Hammer Editor. You can work from different views, have multiple displays, etc.
The option for using chunks will attract those that have little to no experience in 3D development, but the choice for not using it and importing your own super complicated ideas is a must. Whether this is in a 'chunk' design or not I wouldn't like to say, but people will want to have more creativity eventually.
Kharen's suggestions are quite good, frankly. Using chunks can go a long way to making it easier to create larger setpieces in a smaller amount of time. Level editors in this vein are also tried and true methods of fun level creation. And when you've got the larger stuff set up, you can then add smaller objects to the scene to spice things up. And I can't agree more on textures, the process of making a basic material in UDK is needlessly complicated. Azu's suggestion for the interface is reasonable as well. And here's a couple of suggestions of mine: - Seamless transition from editor to game, and vice-versa. Not having to wait even a second in order to test a level is an ideal in itself. - Editing voxel/heightmap terrain. This should be entirely separate from the chunk editor, as editing terrain is fairly simplistic. This is a pretty good start, I'd say.
So, I was thinking about how my laptop can't play the more recent games all that well. I intend to get a new computer soon anyways, so it's not that big of a deal for me, but it got me thinking about the games people will most likely be making with this engine. There's a Zelda fangame editor called "Zelda Classic", and when you start a new project with it, it asks you what type of game you're trying to make, an NES-style game, LttP-style game, etc., and it will automatically pick out settings for you depending on your choice. Could we do something like that for this, except instead of a game style, have it set for performance and aesthetics? For instance, what if we had four default settings to pick from when you start making a project: Saturn-style, Dreamcast-style, Heroes-style, and Next-Gen style? If a person picks "Saturn-style", then their graphics would resemble "Sonic R", with fairly blocky-looking graphics and no special lighting, so that a vast majority of computers can run it. (Also, there's bound to be some people out there who just like the appearance.) Dreamcast-Style would provide the player with graphics and lighting similar to the Sonic Adventure games, and Heroes-style would look like Sonic Heroes. Finally, "Next-Gen style" would look like the games we're playing now, such as Sonic Generations, and would allow a finished product that, at minimum, wouldn't look out of place on a PS3/360. Now, this next part here would probably be asking too much, but if a level was made using the default resources (if we go with the chunk idea like what I had mentioned earlier), the player could have a choice to reduce the quality to a lower setting (Saturn, Dreamcast, Heroes, Next-Gen) and switch to the default textures, so that they could play the level on a lower-end PC. I like the idea behind the Mobius Engine (I just love that name!), and would hate for anybody to be left out because they can't run a single level made with it. It would be nice if we could provide settings to allow the lowest-performance computers possible to at least do something with this.