Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

GooberMan

Members
  • Content count

    1467
  • Joined

  • Last visited

7 Followers

About GooberMan

  • Rank
    Scripting Nut

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Single Status Update

See all updates by GooberMan

  1. I'm bored at work, so I've decided to finally let loose some of my ideas that were going to be incorporated in to Mooditor.

    A few years ago, I got the grand notion to build a Doom level editor. The lack of 3D editing was annoying me. I can't remember whether I decided to start before or after Doom Builder was announced, but needless to say it was around that time. I decided to call it Mooditor, as not only did it contain the word "moo" but the first four letters also spelt Doom backwards and blended rather nicely in to the word editor. A release that loads up a map is still available. Whether it still runs is something I am unaware of :-P

    If it does run, you'll notice that it dumps directly in to 3D mode (albeit minus flats drawing). That's because the editor was going to be exclusively 3D editing.

    I hadn't worked out how to draw the flats as I hadn't worked out a nice way for on-the-fly sub-sector generation. Relying on pre-calculated BSP trees was completely out of the question due to the fact that moving a vertex would kill the tree. Thanks to my research in to portal engines 4 years ago, I knew that the Doom engine stored the necessary data to implement a portal culling solution as opposed to its BSP selection. A portal engine divides its world in to concave sectors. If a sector is convex, it subdivides it in to concave subsectors. Surfaces where two sectors meet are portals. Culling is achieved by using the view frustum, and adding additional culling planes to the frustum until you can't see anything else. Doom's map format already stores concave sectors and subsectors, and portals can be very easilly represented as a linedef with two sidedefs in different sectors. (SIDE RANT: With that in mind, you may understand why I'm unimpressed with alot of the advanced features like portals going around lately - they're still based in BSP land. Remove the hacks, implement a proper portal culler, and notice just how much easier everything becomes. Yes, it's slower than a BSP tree, but welcome to 2006, modern computers can handle it.)

    I was aiming to have little to no keyboard shortcuts. You would move the camera around with the mouse, or a keyboard/mouse combo. Left click would select vertices/lines/sectors/things. Right click would bring up contex menus. Simply left clicking on something and dragging would move that object around. I was aiming to make the editing process faster via intuition rather than assigning hundreds of commands to hundreds of key combinations. Navigation and editing of the map was to be as far removed from the current crop of editors as possible - but due to wide scope of the ideas, it would have been entirely possible to snap a camera to look directly down and move along the X/Z axis thus emulating the current crop of editors.

    It would have taken me a couple of months to get everything up and running as I envisioned it. Once it was working, I was even thinking of migrating it to a Doom engine (no doubt ZDoom) and having an in-game editor as standard (as I'd need the portal culler, it would also open up shiteloads of potential by making a dynamic world possible). But, as usual, I lost interest.

    My programming interests are far removed from Doom currently, and I doubt they'll go back there. I'm not professionally interested in the current FPS formula, and as a result any research and programming I do in my own time has as little to do with FPSs as possible. Some of the ideas I've mentioned here will be making it in to an editor for a game I'm working on in my spare time, but if any editor author feels inspired by this post go ahead and try it with your own code.

    1. Show previous comments  3 more
    2. GooberMan

      GooberMan

      I did get struck by nostalgia last night though and spent an hour getting it to work with my latest code. I tried running it as it was and none of the textures worked. So I converted it over to the code base that I'm using for my game, fixed up texture creation, and got it running again.

      And now it's going to sit untouched for a long long time again :-P


      I don't dream code :-P I'll code rather than play Derivative Game Sequel 666 though. Which is my main driving force behind the game I'm making - I've been annoyed for a few years that we're in the decade of licenses and sequels and have wanted to stay as far away from them as possible. Unfortunately, the first two games I worked on and were released professionally were a license (Jimmy Neutron) and a sequel (Ty 2). Sucks to be me :-P

    3. Bucket

      Bucket

      I know how you feel.
      The worst part is, seeing your hard work funneled into a game you wouldn't care to play yourself isn't even the worst part (if that makes any sense). There's also the fact that as a contract you aren't being paid for what you'd like to think is your superior and much more educated opinion on what makes a good gaming experience. You'd think that being able to sell an idea is no substitute for having one with genuine demand, but people with more money than you beg to disagree.

      I've recently had at least three excellent ideas thrown out in favor of what the these other people can manage to wrap their heads around. Creativity is stifled. So, the next time you see an uninspired knockoff-- which won't be long now-- remember that there is only a small group of people to blame for that. The rest of us are just trying to make the rent.

    4. sirjuddington

      sirjuddington

      If I was any better with that kind of stuff I'd dump the BSP and use a portal culling system in SLADE. Unfortunately I hardly understand how the bsp stuff works, which is probably half the reason the SLADE 3d mode is so slow compared to DB :P

    5. Show next comments  3 more
×