That analysis seems completely fair to me. I will address a couple of points:
First, I should describe the high level goals of Stardust, which it occurs to me I haven't ever really done.
Ethic #1 is to let computers do computer work, and humans do human work. Human time is crazy valuable and expensive, and only humans can do high-level things like design a level, make it flow well, have good pacing, or make it visually pleasing. I wanted to make a set of tools that use the computer to do the tedious things mapmakers have done as a labor of love in the past. The thought of Quartz (or me, or anyone) burning an hour to draw lines over a polywall when they could spend an hour revising the design of their level to improve its overall quality is saddening, bordering on tragedy. I want to free up your time so that you can focus on the human-scale things that computers can't do.
Ethic #2 is to make working with high-vertex polygons easier in bitfighter. Operations that are trivial on low-vertex polys become tedious bordering on intractable once you hit ~100 verts. After the engine was adapted to support massively complex shapes, it occurred to me that this is the way forward for bitfighter. We don't
have to make pointy, jagged walls with corners to get caught on and ricochet off into space. We can make curvy levels that you almost want to touch, where you glide along the wall and can flow through the level more easily. It just feels better imo to fly through high-res levels. I wanted to lower the barrier to making levels in this style. This is also why I have tried to be fairly prolific in authoring maps recently, to show what can be achieved. Someone with better design sense than me could come through and use these tools to make a better level than any of us have ever seen. I think we're on the brink of a new paradigm, and I hope to make that accessible to everyone, so that we can raise the bar of average bitfighter map quality.
Ethic #3 is to provide the features needed for modern digital graphic design to bitfighter as much as possible. There was talk of creating an inkscape plugin, but honestly that's much more work than I'm doing here
. I want bitfighter to be capable of creating good-looking visual art for use in levels.
Anyway, on to the responses:
didn't you make both Stardust AND the tools that are part of the game
Yes and no. There are a handful of plugins written by others (they all have attributions in the code), Offset Polygons and Create Polygon/star are the two that come to mind (raptor and a GCI student respectively). Most of the plugins packaged with bitfighter were extracted (by raptor, and this is not easy work) and altered to behave a bit more sanely. The ones on github are more recently modified and are less restrictive, but come with more bugs/weird behavior.
I'll admit I have limited fondness of the curvify tool, as I can't help but see it as a rather unimaginative short cut. While it's clear to me that it can be manipulated on a more micro level than you did to get more specific results, it does seem like a sort of "easy mode" if that makes any sense.
That makes total sense. I wish I had been recording my practice run, because the first time I curvified that border I was astounded it created the shape it did. There is tons of room for exploration here, and I honestly have no idea what the limits of this plugin are. When I created it, my intention was to let you sketch with normal barriers and make it curvy later on. I had no idea it would introduce the type of self-similar complexity that it did.
A lot of that has to do with the Bezier evaluation algorithm I used. Since bitfighter doesn't have a way to show/use control points like Bezier curves in photoshop or other image editors, I implicitly clamp them to the next and previous vertex for the currently interpolated segment. This means it tends to produce better results than the random curve you'd draw in photoshop, but also limits its flexibility to a certain maximum.
I can see how the random-yet-structured results it produces make it seem like a noob tool, but honestly it has only ever been used by a noob (myself). A high-skill graphic illustrator could use that tool to make a better looking level than anyone has ever created for Bitfighter, far beyond the lazy and haphazard way that I used it in this video. Bezier curves are the foundation of modern professional digital graphics, and are probably the key to the "next level" of bitfighter map making.
Thanks, I tried to make all of the plugins "do the right thing" in the face of weird input. They're not all up to that bar yet, but getting closer all the time. AutoMirror is a good example of a simple but tedious task that is amenable to automation. There are more advantages than might be obvious, but essentially the computer is fast, thorough, and infallible. It really shines when you rapidly tweak, mirror, undo, and retweak to find the
perfect modification you were trying to make. My hope is that this encourages more symmetrical levels, and allows map makers to add more aesthetic details with the time they save.
I'm
so relieved to read this. I tried really hard to make it easy to use once you understand it, but it's such a foreign concept that why/how to use it is not at all obvious. And you've hit the nail on the head. Every minute you spend doing computer work (lining up vertices of different polywalls) is another minute not spent doing human work like making the level feel good.
Thanks a ton for the feedback Quartz. It sucks to put something out there and get silence on the other end. I encourage all feedback (postive or otherwise) so I can make these tools ase useful as possible.