SCCapstone / PalmettoProgrammers

https://www.forces-unite.com
MIT License
4 stars 1 forks source link

Decide on Game Roles for Supported Games #31

Closed evan-scales closed 1 year ago

evan-scales commented 1 year ago

Description:

As a part of the user onboarding process a user can select the games they are interested in. They can also select their roles in those selected games to assist with filtering. Let's figure out the games roles for our supported games. Then update the supported games wiki page with these game roles

Tasks:

Figure out game roles for the following games:

Notes:

See 'Supported Games' wiki page I don't think all of these games will have game roles, which is okay. For example, Fortnite. But will still include in tasks until its confirmed

Related Issues:

evan-scales commented 1 year ago

CS:GO should have:

evan-scales commented 1 year ago

Turns out some people take Fortnite really competitively. This reddit post is 3 years old, but found a recent post using one of those roles. This user would likely benefit from out website Here are the Fortnite Game Roles we should include:

evan-scales commented 1 year ago

Found anther reddit post describing R6 roles R6 game roles should include:

epadams commented 1 year ago

Not sure if this is something that we could handle in a reasonable time frame with the other things that need to be completed. It is definitely a nice feature, especially if it could be incorporated into the filters when searching for other players or groups that need a player of a certain type, but adding all of these might prove challenging and time consuming for little benefit. Most of these games that are listed have multiple roles, with certain games like Baldur's Gate and Destiny 2 having multiple classes, not including sub-classes.

I think the way to solve this is to either reduce the number of games we consider "supported", or leave it up to users to put in the description of their profile to set the role they play for the game they are interested in. Maybe a special "role" attribute can be created for that.

epadams commented 1 year ago

Overwatch 2 should have:

epadams commented 1 year ago

Valorant should have:

epadams commented 1 year ago

Diablo 4 classes:

epadams commented 1 year ago

Baldur's Gate 3 has 12 classes, not including subclasses. I think this is something the user should include in the description of their profile/event description.

epadams commented 1 year ago

Destiny 2 should have:

jbytes1027 commented 1 year ago

If we allow the user to define roles then we don't have to do it manually and it isn't limited to 12 games. I say generic post tagging is good enough.

AaronKeys commented 1 year ago

I agree with James. I like the idea of the roles for the games being generic. It allows the users more flexibility, while simultaneously making the creation of the website easier for us. I would be okay with doing the roles for some games and allowing the users to create their own roles though.

evan-scales commented 1 year ago

I don't think we should rely too heavily on tags for everything, tags should be there for things that will be less mainstream on our site like #Art and #AnimalCrossing, or where there are too many options (Like classes/operators in Valorant/Rainbow6). Defined Game Roles for our supported games makes it easier and simpler to search for users, without the need for our users to create the tags. Getting rid of Game roles, one could argue we could get rid of supported games entirely and use tags for the games too. Could also argue we don't need any other filters, and rely entirely on tags. But that could lead to confusion with users. I think there needs to be some pre defined structure to make searching for users easier.

I don't think this is much more difficult to implement than filtering based off tags, and users like Terry Tryhard would greatly appreciate this. I think including skill level and rank would be too much for us, but game roles I think is a must. We will still have tags, so you can find #Silver players for CSGO

Let's imagine we dont include game roles. We have a user named Alice choose they are interested in CS:GO and Rainbow6. They can IGL in CSGO, but entry in Rainbow6. In their interested tags they put IGL because they can IGL in CS:GO, and entry because they entry for Rainbow6. Now, we have another user named Bob looking for an IGL for their Rainbow6 team and perform a search for users with the Rainbow6 game and IGL tag. Alice would be in that search result, despite not being an IGL for Rainbow6. Now, you could argue Alice could put CSGO-IGL, and Rainbow6-Entry in their interested tags. But ultimately this would lead to confusion with users, with so many different combinations of different tags they're looking for. Alice could put IGL-CSGO in their interested tags, and bob could search for CSGO gamers with CSGO-IGL interested tag. Alice would not be in the search results. It will be easier for users to select a few predefined filters, rather than searching through tags. Let's make things easier for our users, not us (even with this being just a school project with a possibility of 0 users).

May not be entirely necessary to be able to filter events, or groups based off game roles, but we should be able to filter users based off it. To make it easier for us we can make it so you can only filter off game roles if you have only 1 game selected in the filter, and in that case the game role filter would show the game roles for that game.

epadams commented 1 year ago

I definitely see Evan's point here. I think we should stick to designing with the idea of being able to choose roles on a per-game basis, and if we need to later, we can either reduce the number of games that we support (if the roles system proves to be too time consuming) so we can spend time working on other essential features, or we can revisit this and try to implement a way that you set tags for certain games (but this seems not all that different from implementing roles on a per game basis).

As an aside, maybe we should swap out Warzone/COD from our supported games for a MOBA like League of Legends or Dota 2. These have clearly defined roles and are much more popular on PC (our main target audience) than COD is.

jbytes1027 commented 1 year ago

one could argue we could get rid of supported games entirely and use tags for the games too

This is what I was thinking. Allow the user to type in the game. Are you thinking of supporting only 12 games?!

Could also argue we don't need any other filters, and rely entirely on tags

Yes, Except for things common to every post like time and the game. Deciding to focus on a specific aspect of some game seems arbitrarily restrictive.

But that could lead to confusion with users.

I don't see this. Tags are pretty intuitive. What you are describing are tags, but separated into its own section. This separation doesn't seem necessary to me.

I think there needs to be some pre defined structure to make searching for users easier.

I was thinking our focus was finding users through events, not users specifically. That's what #18 was about. I don't like the idea of trying to do both as I don't think its possible to do both well.

I don't think this is much more difficult to implement than filtering based off tags

Its not that its hard to implement, it's that it narrows takes the design in a very specific direction.

users like Terry Tryhard would greatly appreciate this.

I think this is an esports feature for Terry Tryhard at the cost of every one else. No all games have specific roles and not everybody cares what role they are when they are looking for a game. I see Terry as a minority of our playerbase and not who we should design everything around. This goes back to what are we making? It sounds like you are describing primarily an service for esports players to find teammates. I was thinking more generally connecting users together though events.

In general I was imagining the player search to really just be a way to add friends you already know the name of. The bio would be something like "Pizza and good vibes" that would describe the person more than anything, it wouldn't be a way to find someone. Tag's wouldn't even do anything. You would find people by events and maybe groups. What you are describing could be accomplished with the flexibility of the event system. You can think about finding specific teammates as finding 1 other player to play with sometime. Players would probably be requesting teammates by posting events (like a job board), not searching for them. For example a user looking for IGL players in CS:GO would create an event like:

If you want to play a specific role or game mode you would find a post looking for your kind of role. With posts, user roles are not tied to the user, but to the post. Users having multiple roles attached to their profile for the games they play often doesn't sound great. Would their profile have a list of every game they play and the roles they play in those games? Again, what if they want to play every role, or don't care about roles? A nice side effect of posting for players rather than searching is that you don't need any info about the user. I will say we may need to call "events" something more generic like "Posts."

evan-scales commented 1 year ago

Let's discuss this more in todays meeting

evan-scales commented 1 year ago

Had some discussion in person with James today, and will close this issue. Rather than searching for users based off indicated interests, we will search through Posts as the primary search feature to find gamers to play with. These posts will be created by users indicating what they want to play. Example, Alice creates a looking for post for CS:GO indicating they can play Entry and can play whenever with the #GoldNova and #Entry tag. Users can filter through all the posts to find Alice.

I was under the impression the primary way to find users to game with would be searching through all users in the system. But it does make more sense to search through 'Looking For' posts. We did have to rename it to posts rather than events.

This will fix the issue I described earlier where Alice could show up in the wrong search results if we instead searched through users based off their indicated interested games and tags/game roles. This also prevents the user from having to go through a hefty onboarding process to create their account. Users can create their account in 1 step, then create posts to indicate to other users they want to play games with others.

We will still be able to search through just users, but it will be more searching for users you know are already on the site. Finding the users based off their username, and maybe full text search of their biography on their profile (will figure out more in requirements milestone)

We also no longer need to have hardcoded supported games. Users will be able to create 'Games' in our system, and link one game to their post. This way we are technically supporting every game. We can instead start the process for our users by creating the above described games in our system, then users can add games as they please (might be smart to have some restrictions, but again more of a requirements milestone issue)

I like this and we have brought all team members to be on the same page about this. Apologies for any confusion