COMP 310
Fall 2015
|
Lec41: Game Issues
|
 |
Today we will discuss the latest version of the WWJ map package as well as
any outstanding game issues.
Reminder about garbage
collecting of Remote objects.
Outstanding API issues:
- What if the game server receives an unknown data packet?
- Are the well-known messages the same for the client as for the game
server?
- How do you reject an team invitation?
- What happens if a game client is already in a team or in a lobby and
another player decides to join directly to that team or lobby chat room via
the game client, not the game server?
- ICmd2ModelAdapter.addComponent()
replaces or adds another?
- Port name assignments to enable server and client to run on the same
machine (the class names below are for illustrative and compartive reasons
only, substitute the specific class names for the current course):
- IHost:
- Current?:
- Proposed:
- CONNECTION_PORT_SERVER = 2101
- CONNECTION_PORT_CLIENT = 2102
- IUser:
- Current?:
- Proposed:
- CONNECTION_PORT_SERVER = 2101
- CONNECTION_PORT_CLIENT = 2102
- Registry is fine so long as server is started up
second so
that bound name is overwritten with server's
IHost stub.
WWJ Issues
- Cannot run demos?
- Can't run any demo?
- Can't run one of the buttons on the WWJ_Demo?
- Weird behaviors?
Scheduling coding and testing sessions? Highly
recommend that each team attend as many testing sessions before demo day!
TESTING AGAINST ANOTHER GROUP'S GAME SERVER AND CLIENT IS CRUCIAL!
Current schedule: See Comp310 home page for tentative
schedule.
Team Joining Processes
The difficulty in planning for the future or for unknown
requirements is in not putting value judgements on what might or might not
happen.
Some team joining possibiliites and their implications:
- New player picks which team they wish to join:
- Who creates the team choices?
- The server creates the team choices, e.g. for games with a fixed
number of teams.
- The new players can create new teams.
- Some combination of the two above scenarios, e.g. the server
regulates what teams can be made.
- Can the new player see who is on a team before joining it?
- Can the system regulate what teams a player can be in at the same
time?
- Most games disallow a player to be on multiple teams
simultaneously, though it is conceivable that a team could have
non-participating members that only receive information buyt can do
anything on behalf of that team.
- Some games have a notion of a central "lobby" or "global group"
that are members are a part of
- Team joining "workflow":
- Requires being able to display a custom UI for team
joining. -- Can API support this?
- Two possibilities:
- New player joins team on the client end --
akin to joining a chatroom where the joining is voluntary.
- New player is told by server to join a team after
new player selects a team. Useful when
server needs to first check that it is ok for the player to join
a team, e.g. is maximun number of members in team within bounds?
Two possibilities
- New player is forced to join a particular team by
the server. -- Can the API support this?
- New player is allowed to reject the joining of a
team. This is similar to an invitation.
Note that such an option may allow a player to reject
joining a team even though they just indicated they wanted
to join a team. This is essentially an "invite"
process -- can the API support this?
- Can player be forced to leave a room, e.g.
leave a lobby when joining a team?
- New players are automatically assigned to a team
- The game server generates the team choices and automatically assigns
new players to teams: Two possibilities (similar to above):
- New player is forced to join a particular team by the
server. -- Can the API support this?
- New player is allowed to reject the joining of a team.
This is similar to an invitation. Note that such an
option may allow a player to reject joining a team even though they
just indicated they wanted to join a team. This is essentially
an "invite" process -- can the API support this?
- Can player be forced to leave a room, e.g. leave a
lobby when joining a team?
- New players organize a team outside of the game, e.g. by joining a
chatroom, and then join that pre-formed team to the game
- Would require the ability for the game server to be invited to
an existing room/team. -- Can the API support this?
One of the critical issues from above is whether or not a forced join
to a room/team is allowed.
(This diagram is just an example and is not
an exact depiction of this year's connection and team joining API!)

© 2015 by Stephen Wong