Don't get me wrong, I have a lot of features I would love to see, but this is like, definitely the biggest game changer.
I dunno if you need donations or if there's someway to sway you, but it would be so cooooooool.
Okay, enough ranting and troubling. Have a good day!
P.S. Plzzzzzzzz
--
You received this message because you are subscribed to the Google Groups "PuzzleScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puzzlescript+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I meant Mouse Commands for reading mouse inpu. So, basically, here are some mockup ideas:
Prelude options:
enable_mouse
(Would enable mouse input, possibly off by default)
disable_keys
(Would disable the standard keyboard inputs. This probably isn't necessary, but just a thought.)
How Mouse Works:
Objects are created at the mouse's X and Y tiles and update their location each tick.
These objects that are created exist on their own layers. Either above all existing layers or below them, I'm not certain it matters which.
(MX,MouseX,Mouse_X,MSX,CX,CursorX, etc.. Whatever naming convention you want*)
*Would be even better if you could rename or define it yourself like object grouping or the way the Player object is handled. I'm going to use MX & MY for brevity's sake.
Referenced as such.
[MX]
[MY]
(Not Sure if this should only be created on the exact tile the mouse_x, and mouse_y are on, or if an instance of [MX] should be created on each row in a single column where the mouse_x is. That way you can reference the exact mouse position with [MX MY] and use the current mouse column refferenced with just[MX]. For the simplest implementation, just having [MX MY] to reference the cursor location would be excellent. The column and row referencing is just wishful thinking and could be done with Vertical[Seer|...|MX], so probably irrevelant.)
EDIT:
[I'm going to leave the above jumble to show my thought process, but after saying it all, it occurred to me, you don't necessarily need two objects, one for mouse_x and mouse_y. You could just use one Mouse object that happens to be at the location of where mouse_x and mouse_y would be. This is definitely a cleaner solution and I believe offers exactly the same amount of functionality!]
[MCL]or[MLC]*
MouseClickLeft
[MCR]or[MRC]*
MouseClickRight
*Again, whatever preference with naming conventions.
These objects are created at [Mouse] whenever the corresponding click is made.
Just the left mouse click is really plenty. Having the right click as well is just wishful thinking. Plus, if you're only using one click you could stick with your existing conventions and just have a MouseAction or ActionMouse created at the location just like Action.
I think this is as simple and elegant of a solution to a mouse implementation as I could come up with, but I'm by no means a super good programmer or I'd try to add it myself. I wouldn't even know where to begin, honestly. I'm good at puzzlescript, not big-bad programming languages.
Thanks for taking the time to read all of this!
Mouse Input Suggest
Possible Preludes:
enable_mouse
(Enables the mouse input feature. Possibly off by default.)
disable_keys
(Disables default keyboard input. Just a suggested prelude option, not necessary.)
Mouse Implementation:
A [Mouse] object is created at the tile that contains the co-ordinates of the mouse's current position. This object is updated each tick to move and to check it's state. If the left mouse button is clicked [MouseAction(or ActionMouse)] is created at the [Mouse] location.*
*Possible to have MouseClick instead of MouseAction, which allows for MouseLeftClick and MouseRightClick, or possibly MLC and MRC. Whatever naming conventions you see fit.
There's no need for messing with the movement, the mouse is on its own layer. It shouldn't be affect by anything like that.
Also, no need for real time mandatory. You only need to enable real_time on games you want to move some object's position with the mouse position. Such as having a visible mouse cursor or something. Othetwise, clicking would spawn an action which would trigger a game tick causing mouse position to update. Mouse position must always update at the start of game tick before any rules are checked/applied.
But alas, I understand. I don't possess the knowledge to edit the source but maybe some other brave soul will see this and attempt.
@Stephen, I figured it would come down to that. Personally I can think of lots and lots of games that benefit from mouse input, specifically anything where the has been as sort of menu interface. Lots of existing games use the, move cursor and x to select mechanic. These are tedious is many games and unnecessarily time consuming. Having a mouse also makes bigger ventures in this sort of mechanic possible as well as just new sorts of games, like various puzzlers, point and click adventure, and fun tools applications.
But alas, I understand. I don't possess the knowledge to edit the source but maybe some other brave soul will see this and attempt.
If you want to recreate the complete works of Aristotle gluing eyelashes to birchwood, GO FOR IT! Someone, somewhere will appreciate it and who knows what that might influence!
To unsubscribe from this group and stop receiving emails from it, send an email to puzzlescript...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "PuzzleScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puzzlescript...@googlegroups.com.
I don't see anything changing for phones necessary for what I described. "Hovering and following the cursor" aren't really necessary. All that is really needed is a simple check for when a click or press is made, and an update to the [Mouse] object's location and click status before the execution of rules.
That being said, under cursor stuff works fine on phones it just translates to drag or hold. The way text selection and copy pasting works on most devices. But I don't really see much of a need for that sort of feature with the implementation I mentioned.
But I do agree with you that mobile virtual controls can be finicky at best.
The short and long of trying to do mouse and keyboard on mobile is just silly. Normal phone applications dont even try to do this, why would puzzlescript.
You would just design your puzzle with mouse_enable and disable_keys as i mentioned in my earlier posts if you wanted it to extend to mobile and if you wanted control from both it would just be pc only.
Puzzlescript doesn't have to change the rate at which is executes turns at all, that stays the same. It isn't "reacting to mouse movement" it would only execute a new turn per click. Using the current location of the mouse during the click.
Having the exact passive location of the mouse, outside of clicks, is rather irrelevant for most things not to mention as you've pointed out, ridiculously intensive if you try to fire a tick everytime it moves even if only everytime it changes cells.
It wouldn't recognize the input click because it wouldn't have focus... When you give it focus, the click has already been made, it shouldn't have to register it twice.
https://groups.google.com/forum/#!topic/puzzlescript/FTqxzGcOD5Y