Loading...
  OR  Zero-K Name:    Password:   

Coop mode / Squad system Reveal

7 posts, 768 views
Post comment
Filter:    Player:  
sort
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:

- General
- Come up with better name. :|

- GUI
[Spoiler]

- 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? :(

- Drawing
- 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.
+13 / -0

3 years ago
This sounds promising, I really look forward to using it ingame soon !!
+0 / -0
3 years ago
Everything we can do to encourage team cohesion is of massive benefit.

One thing I did immediately think of (not sure if you hinted at this with your list of features), is the ability to script a standard set of actions.

Such as specifying a username(s) that you would always form squad with, for example if you play 10 games with your friends, you might not want to have to or delay the start of a game by, negotiating the squad membership every game.

Also, how would this affect select all type commands that might select units within your squad that fall within another players remit?
+1 / -0

3 years ago
When this is integrated into ZK I'll coordinate a new Co-op ClanWars.

It's going to be insane :D
+5 / -0
quote:
Such as specifying a username(s) that you would always form squad with, for example if you play 10 games with your friends, you might not want to have to or delay the start of a game by, negotiating the squad membership every game.


The good news is, this is programmable. I like that idea though. I'll implement it when I figure out table saving. The gadget handles the actual work. The widget GUI just talks to it. Says 'I want to join X', gadget tells X you want to join, then X decides to accept or decline it.

quote:
Also, how would this affect select all type commands that might select units within your squad that fall within another players remit?


You're a single player with the squad members. It works like normal. The leader's unit default states are applied to new units. You all become 'one' player, no more mine or yours.

quote:
When this is integrated into ZK I'll coordinate a new Co-op ClanWars.

It's going to be insane :D


That sounds epic. Communism-wars: the wrecking.
+2 / -0

3 years ago
quote:
When this is integrated into ZK I'll coordinate a new Co-op ClanWars.


I'd settle for any ClanWars...
+2 / -0


3 years ago
I've wanted something like this so its nice that you have done it. I'd like you to make a PR for more technical feedback.
+0 / -0