MM bonus balls clicking

Got a cool idea that should be in R'n'D? Let's hear it!

Moderators: Flumminator, Zomis

Post Reply
User avatar
Eizzoux
Posts: 567
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

MM bonus balls clicking

Post by Eizzoux »

As well all know, bonus balls in Mirror Magic can be clicked to collect, but... How do we remove them with keyboard? We have a tile cursor we move with arrows and use snap and drop keys combined with left/right arrows to rotate whatever cursor points at: mirrors, rotatable round polarizers, spherical teleporters, even McDuffin himself... But what about bonus balls? We don't exactly rotate them, we remove them... with rotation action, which is Snap/Drop + Left/Right. Sounds a little bit nonsense... Perhaps, how about just a little rework that makes cursor click on bonus balls just by drop/snap key instead of "rotating" it? And, by the way, I think same treatment should be done for the laser fuse, since all it does is switches on and off, so both left and right rotations basically do the same thing for it, therefore just a click for it will do a fine job just like with bonus balls.
𒈟
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: MM bonus balls clicking

Post by Holger »

Hmm, you are right. Didn't think about that. Yes, I definitely should fix this!

Then, I noticed that it probably wasn't a good idea to hide the "inout devices" section from the "Mirror Magic" standalone game, as the default keys do not work very good at least on the Mac, I think. (But probably I should then remove the player selection, as there are no multiple player in MM.)

There are a few other bugs in the MM engine I found while playing around with it again (like setting the time limit in the level editor to "0" for "no time limit" simply not working, and a few other bugs)... :?
User avatar
Eizzoux
Posts: 567
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

Re: MM bonus balls clicking

Post by Eizzoux »

Perhaps, even a separate control scheme idea as a separate option: Arrows are JUST movement and Action buttons are JUST rotation and clicking. You move cursor with arrows, whilst mirrors and polarizers are rotated clockwise and counter-clockwise with drop and snap buttons respectively.
About the engine: yeah, for the modern R'n'D engine it's just a bit too outdated, it's just pretty much old MM engine from 90's with some small tweaks. Not saying that you have to, like, do something drastic for that, not bragging, but I just feel like the engine itself has to be slightly updated, since it can't even really support proper tile scaling and laser rendering, sadly.
Also, don't remember if I asked that before, but... Have you ever considered to somewhat combine both R'n'D and MM into one standalone game all together? Like, they aren't even really different nowadays, aside from the content they contain. Perhaps, at one point, they might co-exist in one engine at all.
And one more tiny thing I noted years ago: DF's cells and MM's mystery balls (gray balls) are not really distinct. I mean not by the in-game look, but at least by the editor sprite: the gray ball had an editor sprite with question mark in 2.0.0 but that sprite then went extinct in 3.0.0 completely.
And, if talking about MM additions, just a little idea of adding a little customization of gray ball content, for example. In other words, a setting to change range of content the gray ball can turn into. Well, excluding only, maybe, half tile elements like walls, amoeba and ice walls. I think that might give a little bit more variety to custom levels and predictable control on whatever you want it to intentionally turn into for a special level.
𒈟
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: MM bonus balls clicking

Post by Holger »

Also, don't remember if I asked that before, but... Have you ever considered to somewhat combine both R'n'D and MM into one standalone game all together? Like, they aren't even really different nowadays, aside from the content they contain. Perhaps, at one point, they might co-exist in one engine at all.
Well, they already are the same game -- the code and binary of R'n'D and MM are exactly the same. "Mirror Magic" only has a lot of custom artwork to make R'n'D look like classic Mirror Magic, and a different set of levels.

But speaking of game engines, I'm afraid that the laser beam will never be part of the R'n'D game engine, as this would create too many "problems" regarding "how should element X react to the laser beam". But then, maybe it wouldn't be too hard (kill all monsters by the laser, let all other elements be passive like steel wall or wooden wall).
And one more tiny thing I noted years ago: DF's cells and MM's mystery balls (gray balls) are not really distinct. I mean not by the in-game look, but at least by the editor sprite: the gray ball had an editor sprite with question mark in 2.0.0 but that sprite then went extinct in 3.0.0 completely.
You are right -- just re-added the question mark for the level editor graphics for the MM style "gray ball" element.
And, if talking about MM additions, just a little idea of adding a little customization of gray ball content, for example. In other words, a setting to change range of content the gray ball can turn into. Well, excluding only, maybe, half tile elements like walls, amoeba and ice walls. I think that might give a little bit more variety to custom levels and predictable control on whatever you want it to intentionally turn into for a special level.
This is a very good suggestion. It could work just like the "group elements" in the R'n'D engine. I will check if it is possible to add this without too much effort.
User avatar
Eizzoux
Posts: 567
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

A little big idea

Post by Eizzoux »

Holger wrote: Fri Jan 06, 2023 11:10 pm Well, they already are the same game -- the code and binary of R'n'D and MM are exactly the same. "Mirror Magic" only has a lot of custom artwork to make R'n'D look like classic Mirror Magic, and a different set of levels.
Well, I know they're basically the same, and that's what kinda makes me question the point of upload reel of them separately. R'n'D is R'n'D, MM is modified R'n'D. Once you transfer content from one game to another, they just become one.
That actually gives me a little idea, How about adding some graphical attributes which can disable specific settings in setup for custom graphicsets/levelsets, making it more manageable and customizable. Let's say, for Mirror Magic graphics you could disable Teamwork and Network play buttons and other players related settings, Game engines tab (since it contains only EMC and SP stuff), Emerald Mine graphics, player inputs tab, player focus and tas snap shortcuts, since they're unnecessary for MM, and once that is done, you can add separate settings related to MM which would be off in R'n'D by default but turned on in gfx_mirrormagic.
Just as an example:

Code: Select all

"gfx_classic"
setup.button.game.team_mode.visible:                true
setup.button.game.team_network.visible:             true
setup.button.game.pref_player.visible:              true
setup.button.game.server_name.visible:              true
setup.button.game.use_highscore.visible:            true
setup.button.game.highscore_scores.visible:         true
setup.button.game.upload_tapes.visible:             true
setup.button.game.multiple_users.visible:           true
setup.button.game.move_focussed.visible:            true
setup.button.game.time_limit.visible:               true
setup.button.game.force_solving.visible:            true
setup.button.game.auto_play.visible:                true
setup.button.game.count_score.visible:              true
setup.button.game.show_score.visible:               true
setup.button.game.ask_on_requests.visible:          true
setup.button.game.auto_record.visible:              true
setup.button.game.start_on_pause.visible:           true
setup.button.game.game_speed.visible:               true
setup.button.game.scroll_delay.visible:             true
setup.button.game.snapshot_mode.visible:            true
setup.button.game.show_save_load.visible:           true
setup.button.game.show_undo_redo.visible:           true
setup.button.game.use_scrollbars.visible:           false
setup.button.game_engines.visible:                  true

setup.button.editor.classic_elements.visible:       true
setup.button.editor.custom_elements.visible:        true
setup.button.editor.user_defined.visible:           true
setup.button.editor.used_elements.visible:          true
setup.button.editor.element_token.visible:          true
setup.button.editor.readonly_warning.visible:       true

setup.button.graphics.fullscreen.visible:           true
setup.button.graphics.window_scaling.visible:       true
setup.button.graphics.anti_aliasing.visible:        true
setup.button.graphics.special_rendering.visible:    true
setup.button.graphics.vsync.visible:                true
setup.button.graphics.fade_screens.visible:         true
setup.button.graphics.quick_player_focus.visible:   true
setup.button.graphics.quick_menu_doors.visible:     true
setup.button.graphics.show_titlescreens.visible:    true
setup.button.graphics.show_animations.visible:      true
setup.button.graphics.small_graphics.visible:       true

setup.button.sounds.sounds.visible:                 false  # ---- Combination of both single and loops
setup.button.sounds.sounds_volume.visible:          false  
setup.button.sounds.sound_simple.visible:           true
setup.button.sounds.volume_simple.visible:          true
setup.button.sounds.sound_loops.visible:            true
setup.button.sounds.volume_loops.visible:           true
setup.button.sounds.sound_music.visible:            true
setup.button.sounds.volume_music.visible:           true

setup.button.custom_artwork.visible:                true

setup.button.input_devices.class:                   classic # ---- classic - all four players | supaplex - only Murphy | mirrormagic - MM controls
setup.button.touch_controls.visible:                true
setup.button.key_shortcuts.various_keys.visible:    true
setup.button.key_shortcuts.player_focus.visible:    true
setup.button.key_shortcuts.tape_buttons.visible:    true
setup.button.key_shortcuts.sound_music.visible:     true
setup.button.key_shortcuts.tas_snap.visible:        true

Code: Select all

"gfx_mirrormagic"
setup.button.game.team_mode.visible:                false
setup.button.game.team_network.visible:             false
setup.button.game.pref_player.visible:              false
setup.button.game.server_name.visible:              false
setup.button.game.move_focussed.visible:            false
setup.button.game.scroll_delay.visible:             false
setup.button.game.use_scrollbars.visible:           true
setup.button.game_engines.visible:                  false

setup.button.editor.custom_elements.visible:        false

setup.button.graphics.quick_player_focus.visible:   false
setup.button.graphics.small_graphics.visible:       false

setup.button.sounds.sounds.visible:                 true
setup.button.sounds.sounds_volume.visible:          true
setup.button.sounds.sound_simple.visible:           false
setup.button.sounds.volume_simple.visible:          false
setup.button.sounds.sound_loops.visible:            false
setup.button.sounds.volume_loops.visible:           false

setup.button.input_devices.class:                   mirrormagic

setup.button.key_shortcuts.player_focus.visible:    false
setup.button.key_shortcuts.tas_snap.visible:        false
𒈟
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: MM bonus balls clicking

Post by Holger »

Well, I know they're basically the same, and that's what kinda makes me question the point of upload reel of them separately. R'n'D is R'n'D, MM is modified R'n'D. Once you transfer content from one game to another, they just become one.
Yes, exactly. :)

There are two reasons why Mirror Magic is distributed as a separate game instead of just a level set for R'n'D:

First of all, Mirror Magic was my "biggest" game project on the Amiga (commercially released under the name "Mindbender" by Gremlin Graphics Software), and I just like the idea that it is still available and playable on all modern platforms, as a separate game (not as yet another add-on level package for R'n'D). In fact, Mirror Magic just (mis-)uses the R'n'D code base to be easily updated for today's systems, and prevents code duplication in two separate games. (Obviously the MM game engine does not really "fit" into R'n'D when compared with the other native game engines for R'n'D, Emerald Mine and Supaplex.)

The other reason is that distributing games that are different enough from R'n'D to distribute them as "standalone games" instead of "level packs for R'n'D" make it easier for the average user to install and play them, without having to worry how to get those level packs and (especially) how to install them (which is especially true for computer platforms like Android, which try hard to be easily usable for noob user, while making all your computer knowledge worthless for old school PC users).

Nevertheless, this reminds me that I planned to release Mirror Magic 3.1.0 as a standalone game, while at the same time also releasing a Mirror Magic level package for R'n'D. I hope I manage to do this with the upcoming Mirror Magic version 3.1.1, which will contain various smaller fixes and will hopefully be released soon.
That actually gives me a little idea, How about adding some graphical attributes which can disable specific settings in setup for custom graphicsets/levelsets, making it more manageable and customizable. Let's say, for Mirror Magic graphics you could disable Teamwork and Network play buttons and other players related settings [...]
This functionality already exists, but for standalone games, not for R'n'D level sets. Have a look at file "conf/setup.conf" in the latest Mirror Magic version 3.1.0:

Code: Select all

# hide some setup menus not relevant for Mirror Magic

menu_engines.hide:                      true
menu_input.hide:                        true
menu_shortcuts_focus.hide:              true
menu_shortcuts_snap.hide:               true

# hide some setup options not relevant for Mirror Magic

# - "Game & Menu"
team_mode.hide:                         true
network_mode.hide:                      true
network_player.hide:                    true
network_server_hostname.hide:           true
input_on_focus.hide:                    true
scroll_delay_value.hide:                true
show_load_save_buttons.hide:            true

# - "Graphics"
quick_player_switch.hide:               true
small_game_graphics.hide:               true

# - "Editor"
editor.el_custom.hide:                  true
So why are these settings "default setup settings", but not "custom artwork settings"? Because I want to prevent people from easily designing level sets that change the overall usability of R'n'D too much -- while I think that changing the graphical appearence of R'n'D is fine, the core functionality should not be changed too much. For example, if a level designer thinks that certain setup options should be hidden for his level set, this could be something that R'n'D players just don't want.

Instead, I think that if you plan to change the appearance and functionality of R'n'D in a way that it behaves like a completely different game, just do exactly that: Create a new game! That's, after all, what R'n'D effectively is today: A game creation tool that let's you create your own classic-style, tile-based, 2D computer game! When using R'n'D like that, you can also do advanced menu manipulation by hiding sub-menus and menu entries, just like Jürgen Bonhagen demonstrated with his latest R'n'D based games collection!

If you want, you can also create a R'n'D level set variant of your game, for those which prefer to play them inside R'n'D, and which therefore may also prefer to have all those setup menus visible and accessible.
User avatar
Eizzoux
Posts: 567
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

Re: MM bonus balls clicking

Post by Eizzoux »

Well, if so, will it, hopefully, have, like, it's own options? And, perhaps, even it's own Input config screen in the future?
𒈟
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: MM bonus balls clicking

Post by Holger »

Holger wrote: Fri Jan 06, 2023 11:10 pm
And, if talking about MM additions, just a little idea of adding a little customization of gray ball content, for example. In other words, a setting to change range of content the gray ball can turn into. Well, excluding only, maybe, half tile elements like walls, amoeba and ice walls. I think that might give a little bit more variety to custom levels and predictable control on whatever you want it to intentionally turn into for a special level.
This is a very good suggestion. It could work just like the "group elements" in the R'n'D engine. I will check if it is possible to add this without too much effort.
Thought about this again, and I have to agree that the "gray ball" element in its current implementation is effectively nearly useless, as you cannot really design a level that depends on certain content of this element. Therefore it really needs some improvement to be anything useful.

So I have extended it now as follows: You can select possible content between one and 16 possible elements to which it can change (just like custom group elements in the R'n'D game engine), and also select the "choice tyoe" to control how exactly one of these elements will be chosen (also just like custom group elements).

This will make it possible to use the "gray ball" element in a somewhat similar way as you can use the "yam yam" element in the EM engine, to add certain additional game elements to the playfield during the game. For example, you could define four "content elements" as "kettle, kettle, kettle, mirror" with a "choice type" of "loop" or "linear", to add three "kettle" elements that are required to solve the level, plus, finally, a mirror element required to reach other game elements that are needed to finish the level.

I think this will change a more or less useless element to an element that may really improve MM game engine levels.
Well, if so, will it, hopefully, have, like, it's own options? And, perhaps, even it's own Input config screen in the future?
More on this one later! :)
User avatar
Eizzoux
Posts: 567
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

Magic ball

Post by Eizzoux »

And one more thing about magic ball. A while ago I pointed out in a certain topic how gray ball's dissolving animation is slightly bugged and shows "unknown" element once you turn the beam away from the gray ball once it starts dissolving. Sadly, nowadays that bug is still present.
ashfdis.png
ashfdis.png (1.48 KiB) Viewed 5471 times
Same is with some other bugs I've showcased there, like invulnerability to bombs and anything that requires you to hold the beam on for some time (ice and amoeba walls, gray ball, pushable blocks)
𒈟
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: MM bonus balls clicking

Post by Holger »

And one more thing about magic ball. A while ago I pointed out in a certain topic how gray ball's dissolving animation is slightly bugged and shows "unknown" element once you turn the beam away from the gray ball once it starts dissolving. Sadly, nowadays that bug is still present.
This bug is already fixed in my current version and will therefore be fixed in the upcoming new MM version.
Same is with some other bugs I've showcased there, like invulnerability to bombs and anything that requires you to hold the beam on for some time (ice and amoeba walls, gray ball, pushable blocks)
I still have to check this and see what I can do about these issues.
Post Reply