Taming Vortlev

Anything related to Keen Modding.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Taming Vortlev

Post by CommanderSpleen »

Vortlev is at the point where the code is in need of an overhaul before it can evolve any further. Before beginning to rewrite it, some help will be necessary to design the interface. This includes the layout of the windows and the controls.

It needs to be flexible, but simple. At the moment it doesn't feel right, and I'm unsure what setup would work best. The basics need to be working right before moving onto the fun stuff like animation and complex drawing functions.

The latest version can be downloaded here.

So, let's start from scratch...

What do you like about the existing level editors (not necessarily Keen ones) that could be included or adapted to make things easy?

How can different control styles, such as keyboard-only as opposed to primarily mouse-controlled, be incorporated without necessitating messing around with the settings too much?

Where and how should the tileset be displayed? What keys should be assigned to tile placement?

How should the status bar be laid out?

How should sprites be managed?

Would it be a good idea to allow multiple levels to be open at once?

Those are just some examples. Any ideas are completely welcome. Feel free to redefine the entire concept of level editing if you're so inspired. It needn't be even confined to a window structure if a better way can be found.

Don't worry about whether it's difficult to program. Either I'll find a way or we'll later discuss how things can be simplified.

Ultimately, the name of the game is Ease of Use. It needs to be possible to effortlessly grab tiles or define a sprite and place them on the map, and quick to switch between them frequently.

Vortlev can be a powerful piece of software. But power is nothing if it can't be controlled. Here's your chance to help me put together the definitive Keen (and similar) level editor.
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

Vortalev is going to be so cool, it already is..

It needs some key that shows what the editor keys are! In case there is one already I can't find it. Perhaps F1 or something.

The tile-window is very nice, I love the way it can be easily opened and closed, and the editor can be used while it's on. So keep that.

Well, I can't think of anything, it's pretty good now. Can't wait to see it with animations and all that stuff. Perhaps there should be some small buttons or menus for those who use only mouse (or more mouse than keyboard) and keys for those who don't care to use mouse that much.

Some entirely different way of designing levels would be cool, but I can't think of anything at all.

Overall, adurdin's KeenEdit is pretty good example in many things. :)
Kdash
Posts: 405
Joined: Sat Feb 26, 2005 5:45 pm

Post by Kdash »

You should be able to make custom tile shapes. What I mean is, lets say you want the following tile pattern a bunch of times in the level:

Code: Select all

XXXX
YYXZ
ZXYY
That'd be pretty annoying to simply place each tile seperately. So you make that pattern into a tile shape, and then you can just place that tile shape wherever you want.
Sure, you could just have copy-and-paste, but this way, you can have as many shapes as you want, not just one.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Some kind of library then, like I have seen in the Duke Nukum editor?

I think it should be based on KeenEdit, but with mouse support, as I've always found that program easy to use. (Not that I have much experience with anything else)

So keyboard support would be nice, arrows to move some hot keys for oft-used tiles, (the zxc keys in KE) Basic line, rectangle and fill keys would be nice, or at least the ability to do these with a mouse. If you have some spare time, the random shape builder seen in iKeen would be a choice addition, as would the aforementioned cut and paste.

Level statistics would be a bonus, something able to tell you about enemy number and total points, maybe even keycards and ammo?

It would be good if vortlev could open a level file first, that is, select any file, look at the extension, then use the proper graphics. Will it save the level RLCd or uncompressed?
User avatar
grelphy
Posts: 219
Joined: Fri Sep 05, 2003 12:41 am
Location: the Armageddon Machine

Post by grelphy »

I haven't looked at the current version, but something I'd like to see is a temporary "template" that can be applied to a level to show, for example, how high keen can jump. My idea is just to have a tool with a bunch of preset sizes corresponding to certain Keen constants (i.e, regular jump height, pogo height, jump length/height, pogo length/height, screen size, etc.) that can be dragged around the editing screen (and maybe even temporarily dropped) without changing the level.

I can never remember how high Keen jumps with a pogo, it's always trial and error...
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

Post by XkyRauh »

Three tiles with a regular jump, six tiles with the pogo. The horizontal distance varies depending on elevation, but I'm tempted to say ten tiles across equal height is a good sized gap.

I remember playtesting this sort of thing on the penultimate level in my first mod. :) The jump there is 11 tiles, if you follow the small candies, but the elevation changes 2 tiles vertically.

Keep in mind that while a larger jump may be possible, the player may not attempt it unless otherwise encouraged--an arc of points, an arrow that says "You can do it!" etc... anything that gives the player a reason to do it, other than "Uh, I guess I can't find anywhere else to go... better jump off into the void..."

We don't necessarily need templates, but a quick reference chart of some sort would be nice...

Or, for that matter, a tab/window/area where the designer can scrawl some notes. Save the .CKx file, and the .VNx file (VortLev Note #) so that those of us who like to get an inside scoop can potentially see the developer's notes on it! :D

(probably a horrible idea...)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

If I remember correctly yes, it is 10 tiles across, plus one for every two tiles Keen falls from the starting point.

Keepinng track of points is a must!
User avatar
Freeyorp101
Posts: 159
Joined: Thu Nov 24, 2005 2:12 am
Location: New Zealand

Post by Freeyorp101 »

I think the jump and pogo goes 3 and a half and 6 and a half.
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

Post by XkyRauh »

You're correct, Freeyorp, but 3.5 isn't really the value to keep in mind... Keen can make a 3 tile jump, but not a 4 tile jump. So for level design purposes, 3 is the magic number. :)

For engine emulation, on the other hand... that 3.5 is crucial for authenticity.
Benvolio
Posts: 228
Joined: Sun Aug 29, 2004 4:44 pm
Location: Ireland
Contact:

Post by Benvolio »

Except for an event i described before. where Keen could jump 4 tiles in keen1. This occurred on my old Amstrad 1640! Just a piece of technical deviation, and it was version 1.0!
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

Post by XkyRauh »

I'm sorry to come to this so late, Spleen, but how can we get this working? I tried putting it in a folder with all the Keen1-3 default files; no dice... and then I tried putting it in a folder with all the xTIL0000.bmp files; no dice. The TXT readme didn't have instructions. :$
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Thanks for the input so far, folks! There are some very interesting ideas here. However, most of them are for rather advanced stuff. what I need to work out before the project continues is the basic functionality, as specific as possible. Are there other utilities you've seen which have a particularly intuitive interface?
Xky wrote:I'm sorry to come to this so late, Spleen, but how can we get this working?
You should be able to just place it into a modkeened Keen 1-3 folder. It looks for *tile0000.bmp and *fon0000.bmp, and from there is should just load, but no level is visible until you load or create one. What happens when you run it?

Oh, yeah... it first looks for which EXE is in the folder, in order to determine the number at the beginning of the bitmaps' filenames.
Xky wrote:Or, for that matter, a tab/window/area where the designer can scrawl some notes. Save the .CKx file, and the .VNx file (VortLev Note #) so that those of us who like to get an inside scoop can potentially see the developer's notes on it! :D
An interesting idea. It would be cumbersome to carry around an extra file for every level, but there's nothing stopping it from being appended to the end of the level data. The notes will just be lost if the file is saved with another level editor that doesn't support the feature.

Doesn't take much work, so I'll throw it in for anyone who wants it.
grelphy wrote:something I'd like to see is a temporary "template" that can be applied to a level to show, for example, how high keen can jump.
This is doable... it'll just need an extra working layer. Perhaps I can link it in with the notes feature so it's possible to have visual indications as well as straight text. Of course, the layer's visibility could be toggled.

Btw, how's the Vox trilogy coming along?
levellass wrote:Some kind of library then, like I have seen in the Duke Nukum editor?
That's a good idea. Maybe a separate window, exactly the same as the level window but designed for holding chunks of tiles that can be copied.

I plan to rewrite the window code to make it more flexible, allowing everything to be resized, minimised, etc. When that's in place such an idea as this won't be difficult.
levellass wrote:I think it should be based on KeenEdit, but with mouse support, as I've always found that program easy to use.
Yeah, that's the plan. The trouble is working out which keys to use for everything. Should there be two sets of arrow keys--one for scrolling the screen and another for moving a cursor inside the active window? Should there be a separate cursor for the mouse and keyboard, or instead an option for switching between the two modes? This is the main thing I aim to solve with this thread--what control system would you all find most usable?
levellass wrote:So keyboard support would be nice, arrows to move some hot keys for oft-used tiles, (the zxc keys in KE) Basic line, rectangle and fill keys would be nice, or at least the ability to do these with a mouse. If you have some spare time, the random shape builder seen in iKeen would be a choice addition, as would the aforementioned cut and paste.
Tiles are attached to ZXCV and both mouse buttons. Drawing primitives (lines, rectangles, fill, etc) are planned, but won't be implemented until the basics are done.

The complex-shape feature would be really nice, but I'd want to something more advanced than iKeen's. Perhaps more like terrain in a strategy game level editor.
="levellass"Level statistics would be a bonus, something able to tell you about enemy number and total points, maybe even keycards and ammo?
Yes, definitely. Perhaps I'll add an extra piece of info to the notes section in which you can enter the point values for each item, in case they've been patched.
levellass wrote:It would be good if vortlev could open a level file first, that is, select any file, look at the extension, then use the proper graphics. Will it save the level RLCd or uncompressed?
That can be done. That'll be something for later--it's easy enough to do, but its implementation relies on various other factors.

The levels will be saved using RLE compression, but at the moment my compression code is whacked out and I've got memory leaks occurring all over the place, so all the level data management code will need to be rewritten.
KeenRush wrote:It needs some key that shows what the editor keys are! In case there is one already I can't find it. Perhaps F1 or something.
Indeed. Perhaps even a custom controls feature.
Kdash
Posts: 405
Joined: Sat Feb 26, 2005 5:45 pm

Post by Kdash »

This might be a little over-the-top, but how about a built in tileinfo? Its kind of hard to remember which tiles are solid and things like that. Maybe have an option to show solid walls on tiles and such. I don't really know how else to explain it, but it should kind of be like the F10-Y cheat in Keen 4-6.

Perhaps even the ability to edit graphics and tile information directly in the editor? Or at least update the tiles without closing. It gets really annoying having to upload graphics to the game AND the editor (of course, now that i think of it, a single batch file could do that, rather than two. Hm...)
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

This might be a little over-the-top, but how about a built in tileinfo ... [and] the ability to edit graphics and tile information directly in the editor?
Yup, exactly those features are planned, eventually. Before that, though, I'll need to create them as separate utilities in order to understand what the hell I'm doing. This kind of modular approach is helping a lot in my game development endeavours.
It gets really annoying having to upload graphics to the game AND the editor
I find this annoying, too. That's why I assigned T as a shortcut key to reload the graphics without having to restart the editor.
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

Post by XkyRauh »

CommanderSpleen wrote:That's why I assigned T as a shortcut key to reload the graphics without having to restart the editor.
You are so awesome. :) This heavily encourages on-the-spot repairs of mistakes, which I frequently make. This alone would have cut XkyKeen3's dev time in half.
Post Reply