Inspiration

Our project is inspired by games that work on the concept of progressing as per the choices that we make in the duration of the time that we play the game, and the implication of it in something like sports (in our project, we have used soccer as the sport to focus on), which we felt was unique.

What it does

The game works as a basic simulator, wherein you take control of a soccer team (named by the user) and have to make decisions based on the situations that you are presented with. There are five potential situations that can arise: from being asked to invest in your training facilities to signing/selling players (Some situations have a higher probability of happening than others, such as one happening only if the number 47 is randomly selected from a range of 0 to 99). Each choice the player makes impacts team morale or the teams overall cash (Starting with 60 and 1000 respectively). The morale the team carries heading into a game determines whether or not the team wins the game against their opponent, compared to the morale their opponent has. Other games played between NPC Teams are determined randomly to be a win, draw, or a loss. Winning/Losing/Drawing a game all have an impact on morale and the cash the team earns. Your team plays against the 9 other teams (whose names are randomly generated in the format Attribute , Animal) once each match day before the final table is shown to you, and the goal should be to achieve the highest possible finish in this table without going below zero for total cash or morale. If while playing, your total cash or morale goes below zero, then the player is presented with a termination letter, indicating that they have lost the game.

How we built it

This project was constructed entirely in java. We use several java concepts to make our code, what it is, from ArrayLists to HashMaps for keeping track of data items to utilizing BufferedReader and Random for inputs and to obtain a random integer for the random numbers generated in multiple parts of the program. We also make use of an interface and an abstract class to help making instances of classes myTeam (the team that the player creates) and NPCTeam (the teams randomly generated by the program when initialized). The program is based on multiple concepts that we have learnt in high school or in university, and being applied in different manners so as to create a text based game.

Challenges we ran into

A major challenge that we had run into was getting our respective works done in a specific time. as we all had an idea of how late into the night we could work on the project due to other commitments we would be having outside the Hackathon, or time required to solve certain bugs our code contained. This resulted in us having to retool some ideas into what ultimately turned out to be our final code, but we were still able to deliver a program that we are proud of making. Figuring out the data structures and the logic of the program was also a time consuming factor in our project, as it underwent several revisions to reach its final form.

Accomplishments that we're proud of

We are all proud of the effort we have put into making this game. This is the first hackathon for all our members, so our aim was to push our limits and create something of a new magnitude and complexity that we had not done before in class or in any personal projects. We know that a text based game is not as fancy as what someone with experience with Unreal Engine could do, but as a first project, we are happy with our efforts.

What we learned

We have learned a whole lot of things from participating in this Hackathon. The most important, perhaps was implementing our knowledge in java so far to create a text based game, something we had not done before. We also learnt about time management during such events (as apparently time just flies by you while you're coding for more than 9 hours), and how to divide work amongst a programming team well.

What's next for Soccer Manager: A simulation game

This game has a large amount of potential,. particularly if given more time. With more time, we could implement GUI (a new topic for members of our team) and introduce more situations that can take place in the simulations. In addition to expanding the scope of the game in these manners, we could also increase the number of games played between teams, making it more immersive so to speak.

Built With

Share this project:

Updates