So I've managed to get ahold of the latest copy of gEngine. There are a few issues. You can't actually get INTO the program without logging into the server it uses (which no longer exists). The program used a special set of images for the cards, which it downloaded from the server (which no longer exists). It's also only an exe file (no mac support, that I know of).
I'm a programmer, but I have very little knowledge of this kind of stuff. If it's only the .exe file and no source code, it may be much more difficult to do anything with it or learn from it. I'd like to take a look at it anyway and see what is doable.
I'd certainly like a more complete method to play MND so everything isn't so manual. Automatic energy calculation and management, automatic card discarding, etc. I've thought about it, but I have little time to work on it, and I'd need to learn how to do with without a server (maybe using something like LogMeIn Hamachi with port forwarding, make it a web application, use the Photon Engine (I think it has a 20-player limit for free), or do what I think Terraria does with local hosting).
There are advantages and disadvantages for each method. The biggest question is do we want a server or not? Using a server means we can have a hub where people are known to be online, like with Lackey. Without a server, we would always need to organize our games elsewhere, like on a forum, and connect to each other directly with a specific IP address that's likely to change each time unless you set up a static IP (which is a pain in the butt for people who know little about any of this). Ultimately, I'd like to allow both methods so it can at least be a standalone program of sorts. The other idea is a web app, where it would always be like its own server, but I'm not sure on how we'd be hosting it, how much it would cost, etc. And Flash is not something we should use anymore; I need to learn what's doable.
I want to research more about it and see what we can do. Does anyone have any preferences or knowledge about if it should be a standalone program with an external server like Lackey, if it should be a simple standalone program connecting only through IPs (at least for now), or if it should be a web app?
Last Edit: Aug 23, 2016 15:31:21 GMT by ZucriyAmsuna: I haven't used customized coloured text in years... It feels good to be back!
"Time you enjoy wasting is not wasted." - John Lennon
Well good, you're a programmer - you could probably do it all in C# (which is what I was planning to pick up). I was already thinking a program like Lackey - gEngine required a login to the server before anything could be done, which made doing things offline impossible - I like the offline possibilities. Personally I was going to model mine pretty close to Lackey, just with more polish and like you said, some automation. I wasn't even going so far as automatic discard, but I was going to start small and see if that's what people wanted.
I'd like to see a client-side program connecting to a centralized matching server. Beyond that, a nice GUI that's much more refined and I'm in. Was even going to pick up coding to do this (or try my hand at it, anyway). I gotta contribute something if we're gonna keep this alive, y'know ?
I've used C# a few times before. I'll need to research it a bit to see what kind of networking stuff I can do.
Lackey is a very basic setup where we have a deck, a discard pile, a hand, and a table. Everything is manual via right-clicking and buttons to deal with cards, energy, etc. This is my first major objective. After that, I'd like to get the networking stuff done; this includes online and offline variations. After that, it's a matter of making basic play functions and going through all the cards to implement the functions, like automated energy. Another example of that is when placing a Spell on the table the cost is automatically calculated; or if it's an X cost, it will ask what you want to do.
Concerning automatic stuff, I might have a button to disable it in case people don't want to use it, like when showing their cards post-game, or if there's a bug that miscalculated it. Also, undo and redo functionality would be nice, as well as entire histories of the games. Perhaps even an auto-saved after every turn. And the ability to view previous games--though this is all optional after the main program is completed.
Let's make a list of features we want, besides the automation. Is there anything more you can tell me about gEngine? I know it had an energize command. The hand was also stacked on the left side; I can make that a customization option. You were able to right-click the cards and choose an ability to show that you are using it in the chat log. The right-click menu had options like giving control.
What about card previewing? I like how Lackey has the card in the upper-left corner, and a separate button to view the errata when hovering over the cards, but I could also have it preview over wherever the mouse is when the preview button is pressed.
Another customizable option is viewing your opponent's cards upside down. And having the chat log below or to the right.
A later feature could be the ability to zoom in and out (with a button for centering, of course); perhaps this can remove the need for previewing (though I'd prefer to have choices). Another later feature could be allowing three- and four-player matches.
So many ideas! But I need to figure out how to make it all first. Given my available time, and persistence levels, it's a project that will take at least one or two years, but it's something I've been thinking about for a while.
"Time you enjoy wasting is not wasted." - John Lennon
Beyond that, gEngine was smooth, not laggy, didn't kick you offline all the time, kept track of the game (through the chat log, and I suspect somewhere else), there was an energize command that worked off what was printed on the card (or in in the text database, I can't be sure, I didn't mess with it much). The rest of the menu had a right-click for add energy, discard energy (with further menus detailing 1-10 and then X, you could give control, where another player could "gain control", you could turn sideways, you could invoke the game to announce usage of a Power or Effect if the card had one, etc. - I believe card previewing was a thing - but the pane didn't stay up - there may have been an 'examine' option that brought it up, or it could have popped up on mouseover for opponents cards, not 100% on that, but it was done plain-text in mouseovers either way. - 3 and 4 player matches were doable, there was a drop-down above the opponent's playing field so you could specify which opponent you wanted to see the field for. - I'm hoping it doesn't take that long ... We could try to overhaul lackey with new features, and run the modified version off the same matching server?
That's an interesting way to do a multi-battle. I might settle for that at first when I get there.
Is there a purpose for turning a card sideways? I can't recall any cards that state that. Maybe for keeping track of which Creatures already attacked that turn or can't attack at all?
I'm not sure what's possible in Lackey if we were to only edit the plugin; I'd have to take a look around the code and see what's possible. I do like the energize button idea. Automation of any kind is probably not possible. We can't do anything about some players having connection issues (I never have). The lag is probably due to using Lackey's server--which is probably small.
I don't know if there are legal problems (or if Trevor would dislike it) if we were to overhaul Lackey and use the Lackey server. I don't see any real problem if we overhauled Lackey and used our own server, though, as long as we give credit, though we should probably ask Trevor anyway, just to be sure.
So ask Trevor-man - You would know more about what need to be modified/touched - less than me, at least. worst case scenario, I'll grab a visual studio (or whatever you code with) and learn C# - I just feel like it wouldn't be that productive since we already have you and you're probably more adept at it.