Now that I'm getting closer to completing this, I decided to write a quick announcement.
Coop mode (previously known as Share mode / Singularity mode) is an lua reimplementation of comshare. Cool thing about it: you can do it on the fly. Now with GUI! (see below for screenshots, please give feedback. Yes I did learn how to chili now :D) It is highly customizable, allowing individual configuration per allyteam, support for a minimum time, features an anti-grief system, and has a cool show selection widget (currently WIP next version will highlight units. Perhaps add it as an unsynced gadget hax thing for coloring individual units based on who's controling them).
What it is:
You can invite players to form a 'squad' which has shared control of resources and units. This works by assigning the player to your teamid via gadget code. The player must accept the invite before the merge can occur (it's verified gadget-side along with some impossibility checks). All team members benefit from squad forming by sharing the players who join squads' income. This is mostly intended for use with friends or clan mates but can be a cool learning tool. Note that you can kick unruly players from your squad (if you're the leader) or leave at any time. They get their old units back, but you keep any new ones. You also benefit from gaining that player's storage cap too! (so a two player squad has a base 1000 metal storage, just like a two com player). You can also request to join a squad too. Invite only is the default mode, however there are "all","clan+invite", and "none" modes which are self-explanatory. This will allow players to come and go as they please. Mostly this is a for-fun big project to keep me busy during the slower summer, and if this feature is desirable I'll PR it when I feel it's in a polished enough state. It also merges similar AIs together (for even more fun!)
Current work in progress:
- Come up with better name. :|
Now checks if you're in a squad or not. Note the greyed out button will change to "leave squad" if you're not the leader.
iteration 2 playerlist:
Testing generating functions along with buttons in a for loop. Each button just prints its id at the moment, but this can be used to send the gadget a kick or invite command.
iteration 2 playerlist 2: (seven players only)
iteration 2 playerlist 2: (8 players)
iteration 2 translation example:
Yes, I know about invitar being misspelled. My translation guy had a typo. It's fixed already. Also know about the off centered menu name, dunno how to dynamically fix that.
Some sample icons (for later use when I find out how to load the files into luaui.. don't know where they go :([Spoiler]
Crappy icons I made in 2 minutes in gimp :p
Squad? Open squad?
- Squad naming and possibly description? (Just for organizational purposes. Integrating this name into playerlist would be fun. Squad 'STRIKE-ONE')
- Currently supports internal translation.
- Ignore feature (add seperate player list or put in pending invites?)
- Add options (Anti-grief, set invite only, open squad, etc)
- Add squad player list w/ quick management tools.
- Squad chat?
- Add shortcuts/hotkeys when menu is up. Local keyboard mapping will be a pain >.< Also where to put it? :(
- Update SelectionViewer to highlight units instead of draw crappy circles around them. Yay more advanced GL stuff!
- Gadget code
- Mostly done.
- Bug fixes
- Testing with new gui
- Add a "who sent what command" hax for reports? [advanced]
- Test if teamleader is dynamically assigned or static. (probably is dynamic)
Early WIP builds:
Please note: These are the 'stable' versions (EG: code works to some degree). You may find weird bugs in these. Please report bugs only for latest stable. You can see some gameplay examples, etc.
Older builds:Proof of Concept 1
- "All mode" only, no show selections (I think).Proof of Concept 2?
- "Invite only" with text commands; May be buggy. Not sure if this is the right one.
Ideas, comments, and feedback desired. Will release a new test version when GUI hits a testable stage. Will update this post as development progresses. If you want to help test/follow progress, join #coopmode. I could use more testers both technical and conceptual.