Group Project Anyone?

The Partridge Family were neither partridges nor a family. Discuss.
Post Reply
goldengamesTM

Group Project Anyone?

Post by goldengamesTM » August 16th, 2017, 3:57 pm

I'm Kind of board and running out of ideas for games to make. I'm trying to make a Mario game, but platforming physics are hard to make. If any wants to join me on my crummy Mario adventure, this is what you have to work with.
Attachments
New folder.zip
(4.46 MiB) Downloaded 160 times

Florian3321
Posts: 27
Joined: February 12th, 2017, 1:50 pm

Re: Group Project Anyone?

Post by Florian3321 » August 18th, 2017, 9:17 am

Hi there!
If you are interested, I made a little maybe shitty platformer game, so maybe it helps with your code...
Here is the GitHub-link: https://github.com/florianPat/SFMLPlatformer

User avatar
krautersuppe
Posts: 91
Joined: September 14th, 2015, 10:58 pm
Location: Istanbul

Re: Group Project Anyone?

Post by krautersuppe » August 18th, 2017, 11:32 am

I wanted to point out group project effort on this thread.
DSU
Discord: dsu1, GitHub: https://github.com/DSpUz

albinopapa
Posts: 4373
Joined: February 28th, 2013, 3:23 am
Location: Oklahoma, United States

Re: Group Project Anyone?

Post by albinopapa » August 18th, 2017, 6:42 pm

krautersuppe wrote:I wanted to point out group project effort on this thread.
Yeah, I remember that thing. I did try to go back and rewrite it a couple months ago because I had lost the bulk of it somewhere.

I'd like to share some experience with those wanting to work together on a project. Something that keeps coming up in all the projects I've tried working on with others is the lack of knowing what to do as a team. For instance, some of the team members may have a shit ton more experience than you or you may have a shit ton more experience than the others, so what can you provide the team to complete the project.

I believe it's a good idea to plan out the game play, make sure everyone is on the same page as to what the story is or what the mechanics are going to be. I would suggest even working together deciding on what classes and what public methods those classes are going to need. Use a diagram editor to make flowcharts and UML diagrams.

I'm suppose to be working on a team project now, but there is little interest in what I mentioned above, so I'm a little leery on how it's going to turn out. The way they want to handle things, is each make a prototype and vote on the better. The other two that I'm working with have way more experience and knowledge of algorithms and math than I, so I'm at a loss as to what chance I have of providing anything to the project, especially if it's a "who's is better" type challenge.

I believe in order for a team project to be successful, there needs to be a leader, that leader must have a plan and be able to express that plan in a way that others will be able to understand what it's going to take to finish the project.

There needs to be communication of ideas and concerns.

Keep things simple. You can have a grand idea for a game, but if you and your team don't have the knowledge to complete the project or implement something things could get messy and the project will get delayed and the team will start giving up one by one. That group project krautersuppe pointed out is a good example of how things got out of hand. Two of us had different ideas on how to handle events and triggers. While both ideas worked, neither of us seemed to be able to understand how to use the others event/trigger system. This lead to the project going stale.

Brainstorming, planning, storyboarding, diagramming, prototyping, they all sound like boring things to do, but I believe it would make the project so much easier to finish and make for a happier team willing to finish it.

The brainstorming portion doesn't have to begin and end at the beginning. As the team gets going, they may have more ideas to add. Have them add their ideas to a list of things they want to see in the final project, or even things to add for next project. The goal here is to pick a core mechanic for the game or core game play, and stick to that until you have a working demo.

You might want to define what a working demo means for the game. Since it's a game, you don't want to create a physics simulation of bouncing balls or water particles filling a cup and call that the demo. These would be features for a game and a game demo should show off what the game is, and what it's about.

Planning the project needs to follow the brainstorming. Once you have decided on the core game play, decide how the code will be laid out.
What type of game( Platformer )
What type of obstacles( platforms, pits, enemies, traps )
What type of platforms( stationary, patrolling, triggered to fall )
What type of enemies( moving no fire, fire not moving, moving and firing )
What type of traps( moving spike walls, lowering spike ceiling, rising flood water/lava, chasing shit flinging monkeys )
What type of triggers for traps( pressure plate, enter room, wrong sequence of levers, didn't crouch while walking )
What type of goal( disable all traps, reach door )
What type of entity is player( jelly doughnut, ball of slime, humanoid )
Is there a time limit to reach goal ( no on reaching goal, yes on disabling traps )
Are there any tokens or power-ups( boots for running, cape for flying, syringe of jelly for health )
Are there weapons( lightning bolt, guns, candy sprinkles, balls of mucus )
Once you have defined your game, you should be able to at least look it over and see what classes you might need and how they all need to interact.
Classes:
Level, Platform, Trap, Sprite, Powerup, Weapon, Timer, Trigger, CollisionDetector, CollisionResolver
Now just decide what the role of each class, like Level might hold text in the beginning of each level description for all the assets that need to be loaded like; sprites, sounds, level dimensions, starting positions for each of the platforms, enemies, powerups, traps and the player.

Once you have the role for each, decide what public methods are going to be available. For instance, the Level class in this example would need public methods for getting the positions of everything so that you can initialize all the enemies and platforms and such. Platform might need a public method that sets a flag when player lands on it so it can start tracking time and fall after a certain delay.

Once you have the class interfaces decided, the team can decide on which tasks they would like to work on or as the leader you can delegate tasks.

When you have a working playable demo the rest should be fairly rinse and repeat for all the levels and other goodies you want to add. When you have a fully functional game, you have a few more jobs. One is find bugs, kill bugs. Add features that might have been tabled during the brainstorming session. Just remember to have a cutoff of features, make sure they add to the game and not distract. Polish the look and feel of the game, do you have the final sprites or effects you want, does your physics system cause the game play to be sluggish, are the traps too hard and so on.
If you think paging some data from disk into RAM is slow, try paging it into a simian cerebrum over a pair of optical nerves. - gameprogrammingpatterns.com

User avatar
Zedtho
Posts: 189
Joined: February 14th, 2017, 7:32 pm

Re: Group Project Anyone?

Post by Zedtho » August 19th, 2017, 6:46 am

Thanks for sharing your experiences! I'd say a discord channel just for that project would be rather useful too, with different chats inside depending on what you're working on.

Post Reply