EDITOR Feature Requests (not bugs!)

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
User avatar
petri
Posts: 1917
Joined: Thu Mar 01, 2012 4:58 pm
Location: Finland

Re: EDITOR Feature Requests (not bugs!)

Post by petri »

The next game engine I'll write will be definitely using a component model, so that components such as lights, animation, models, particles, sounds, etc. can be freely mixed together to form new kinds of objects and behavior: you want to have a wall button that glows in the dark? no problem, just add a Light component to the button. You want to pick up a monster and put it into your backpack? Sure, just attach a PickupableItem component to your monster. A door that can be destroyed? add a Health component...

I only chose the class model for this project because we were in a terrible hurry and went the most straightforward route. We pretty much knew what features we wanted to have in Grimrock dungeon and just implemented those in a rigid class hierarchy. It made sense then but not anymore. Now we are paying the cost for that single bad decision :(

Basically adding features such as animation to existing classes is tedious work and only "artifically lengthens" the life span of the engine. So while I totally agree that adding more general animation and sound playback capabilities is very useful, I would rather work on a new, much more powerful game engine. That said, I think we should try to find a middle ground, like minimal set of changes needed to the existing class hierarchy. Changes which would keep you happy and busy until the next iteration of the game engine is out :)

The bottom line: I'm having mixed feelings about this because the more time I put into maintaining and adding new features to the old engine, the longer it takes us to get the new, much better engine.
User avatar
JohnWordsworth
Posts: 1397
Joined: Fri Sep 14, 2012 4:19 pm
Location: Devon, United Kingdom
Contact:

Re: EDITOR Feature Requests (not bugs!)

Post by JohnWordsworth »

Thanks for the honest and interesting response @Petri. You say it was a bad decision, but if a more in-depth engine would've taken 50% longer you might have run out of funding and never finished the game - so perhaps it was a great decision even if it didn't make for the engine you really wanted :). A lot of my coding projects end up being 'the quick way', because the ones I tried to make perfect code-wise never get finished! Lol

This is possibly far too complex and structured, but you could do a final call for features and have the community list a bunch of features in a forum post. Then you could assign a time-cost to each and say "You have 40 points to spend" on features and then have a forum poll (with the costs attached) for the community to vote on what they would like to see. Perhaps (a) overly complicated and (b) too much of a time sink, but just an idea.

While I'm obviously excited for all new features you can add to the current engine, I'm also very excited to see what you work on next. Be it another dungeon crawler or another game entirely!
My Grimrock Projects Page with links to the Grimrock Model Toolkit, GrimFBX, Atlas Toolkit, QuickBar, NoteBook and the Oriental Weapons Pack.
User avatar
Komag
Posts: 3654
Joined: Sat Jul 28, 2012 4:55 pm
Location: Boston, USA

Re: EDITOR Feature Requests (not bugs!)

Post by Komag »

petri wrote:That said, I think we should try to find a middle ground, like minimal set of changes needed to the existing class hierarchy. Changes which would keep you happy and busy until the next iteration of the game engine is out :)
This is the heart of it I think, doing a few key tweaks that are the most worthwhile, but that's all.
Finished Dungeons - complete mods to play
User avatar
Phitt
Posts: 442
Joined: Tue Aug 14, 2012 9:43 am

Re: EDITOR Feature Requests (not bugs!)

Post by Phitt »

petri wrote:[...]
That said, I think we should try to find a middle ground, like minimal set of changes needed to the existing class hierarchy. Changes which would keep you happy and busy until the next iteration of the game engine is out :)

The bottom line: I'm having mixed feelings about this because the more time I put into maintaining and adding new features to the old engine, the longer it takes us to get the new, much better engine.
That's perfectly understandable and I can't wait to see what you come up with next. I greatly appreciate how you support your game, I know from modding other games that this is not the norm. Since I like modding Grimrock though I would be glad if there was an easy solution to this that doesn't take too much time. I'm not a programmer, so please tell me if it's too hard to implement, but this is my idea:

1. I assume (ahem...without knowing anything about the subject) that implementing a sound entity is not that hard. It just has to be a sound you can place, nothing else. Maybe a script function to destroy it and maybe one to activate/deactivate it, that's all that would be needed. As long as it only plays on the level you place it on. Even a bug fix for the playSoundAt function would be good enough, in that case a new asset type wouldn't be needed at all (but would still be better unless a removeSound function would exist).

2. A new class for animation objects. No changes to existing classes, just a special class for an object with an animation. It could work like a decoration object, no special properties. It would even work if it only had 'floor' placement. It's pretty easy to set up everything else with the editor. Blockages, doors, buttons, etc etc can be scripted/put on top of it. Like this:

Code: Select all

defineObject{
	name = "my_animated_object",
	class = "Animated Object",
	model = "mod_assets/models/anim_object.fbx,
   Anim01 = "mod_assets/animations/my_cool_anim.fbx",
   Anim02 = "mod_assets/animations/my_cool_anim_02.fbx",
	editorIcon = 136,
}
Then you would have a script function to play the animations, like

Code: Select all

my_animated_object_1:playAnimation("Anim01", true)
The boolean defines whether the animation is looping or not. And of course you would need a way to stop animations, like

Code: Select all

my_animated_object_1:stopAnimation()
No idea how hard something like that would be to implement, but I hope it wouldn't be terribly hard with only basic functionality and no changes to existing classes.
User avatar
Isaac
Posts: 3179
Joined: Fri Mar 02, 2012 10:02 pm

Re: EDITOR Feature Requests (not bugs!)

Post by Isaac »

Phitt wrote: A new class for animation objects. No changes to existing classes, just a special class for an object with an animation. It could work like a decoration object, no special properties. It would even work if it only had 'floor' placement.
Barring this... (if a new class is not practical), then how about adding X and Y rotations to objects instead of just (Z) facing for placed entities. It is entirely possible to manually animate objects via spawn() & destroy(); but only by rotation, due to the fact that Facing is a float, and doesn't have to be exactly 0, 1, 2, or 3. I've had spinning dragon statues and doors that open inward instead of sliding into the wall.; done with script, even interactive scripts where the player could reverse or even spin them like knobs (a puzzle).

I would like a generic animate-able click-able class that could be the base for various constructs (like custom buttons; custom crystals; locks; 3d inventory items)... Something that you could (for instance) make a fountain out of; where it loops a splash/water animation (a custom model), and through a hook (and user script) allows for empty potion bottles to be filled with water.

And/or a "dialog encounter object". Imagine a hidden pressure plate that opens a wall-text style panel with a user image texture, and the option for two or three buttons that can serve as logic for a dialog encounter. The perfect example being what you see in EOB 1 or 2, with either the tower mage or the clerics, or Dran.
(I have a clue how to make this now, using what we already have in the editor, but an official object that implemented it might be better; and easier to use for most.)
User avatar
petri
Posts: 1917
Joined: Thu Mar 01, 2012 4:58 pm
Location: Finland

Re: EDITOR Feature Requests (not bugs!)

Post by petri »

@Phitt your idea is pretty much what I had in mind too. It's definitely doable, I just need to get one extra day to squeeze this in...
User avatar
Phitt
Posts: 442
Joined: Tue Aug 14, 2012 9:43 am

Re: EDITOR Feature Requests (not bugs!)

Post by Phitt »

petri wrote:@Phitt your idea is pretty much what I had in mind too. It's definitely doable, I just need to get one extra day to squeeze this in...
Sounds great! I'm sure your wife/girlfriend will understand if you have no time for her next Sunday! :lol:
User avatar
Arkos
Posts: 32
Joined: Thu Dec 13, 2012 11:08 pm

Re: EDITOR Feature Requests (not bugs!)

Post by Arkos »

Recently, I found about LOG through the site http://dmweb.free.fr/ (Dungeon Master Encyclopedia) under its first title 11 years ago “Escape From Dragon Mountain” under Fan made clones(Modern) http://dmweb.free.fr/?q=node/822 . It led me to Dungeon Master's forum http://www.dungeon-master.com/forum/vie ... hp?t=21366 where I followed the thread since Nov. 9th 2001—when Petri first posted his project. I followed the thread for many years, and I finally got my first glimpse of Escape From Dragon Mountain (LOG) with a teaser of some spiders in a closed cell: http://www.grimrock.net/2011/07/15/lege ... ck-teaser/ I was completely stoked! Then I was even more thrilled when I found out the game was released earlier this year—I didn’t have to wait for it! I’ve always thought a modernized game based off the cult classic DM would be awesome—truly Petri and his team over the past decade of hard work has given us old-school DM guys an incredible gift! I bought two copies: one for me and the other for my brother-in-law. He and I are both addicted; it’s fantastic!

My comments here may be more appropriate in a different thread, but I would like to mention my two cents of what I would like to see after playing the game.

More customizable controls:

• I would like to attack using left click instead of right click

Hot keys for spells for faster spell casting:

• Some sort of arrow icon on the runes dialog that sends several spells to the mage’s hot key list

Now here is the biggy: Incorporate strategical game play by doing the following

• During game play, the ability to bring up a small tactical map (small window in left corner of screen showing a map of the immediate area in dungeon) where you can drag and drop your characters (can only put a character where you have been) around the room or down the hall to wait and do auto-combat if necessary.
• Possibly an “eye” icon where you can switch to any of your character’s point of view
• Like the snail or poison alert, an alert that shows they are being attacked—open the tactical map drag and drop your other characters over there to help them out. Then, hit the eye icon on the character that is being attacked to switch to their point of view while the others are now coming to join the fight!

Taller Dungeons that give you the feel of the great hall in the first Lord of the Rings where we first saw the Balrog—drums in the deep!
User avatar
Komag
Posts: 3654
Joined: Sat Jul 28, 2012 4:55 pm
Location: Boston, USA

Re: EDITOR Feature Requests (not bugs!)

Post by Komag »

Arkos wrote:Taller Dungeons that give you the feel of the great hall in the first Lord of the Rings where we first saw the Balrog—drums in the deep!
Try Mine of Malan Vael, newly released dungeon, which has some amazing tall underground mine vistas, very impressive stuff! (esp level 3 areas)
Finished Dungeons - complete mods to play
User avatar
Arkos
Posts: 32
Joined: Thu Dec 13, 2012 11:08 pm

Re: EDITOR Feature Requests (not bugs!)

Post by Arkos »

Thanks for your reply! I will definitely take a look.
Post Reply