Me as a game dev team leader
Tags: gamedev, java, career, jogl
Published: 2024-01-21 01:35:46


## story time :) 
so one of my university's subjects is computer graphics and how it's done. 
and its project is simply a video game with a team consisting of a maximum of 5 persons bare with me it's really not as easy as it sounds we weren't following some YouTube tutorial or anything we were on our own.  

![start page in the game ] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/05zxxfq2xcszjejy3w20.png)


##  tools
- **Jogl**: it's the beast library we were told to code with  it's a Java library based on Opengl and here is the catch it doesn't have that much documentation online; so we were on our own as I told you. 
- **IntelliJ IDEA**: mainly I use neovim as my editor of choice but the library worked the best in IntelliJ and the team was comfortable with it so now complains 
- **git/GitHub** : let's be honest as a university students most of my team lacked the knowledge of git and GitHub.
- **Audacity**: we used some third-party audio assets from itch.io and it had some problems with the way I implemented audio in the game I opened an [issue](https://github.com/philopaterwaheed/Catch_the_flag_game/issues/25) where I discussed this and Audacity was the solution 
- **Assets** : 
    - [sound effects:](https://jdwasabi.itch.io/8-bit-16-bit-sound-effects-pack) one of the most likable sound effects I found
    - [textures:](https://github.com/philopaterwaheed/Catch_the_flag_game/tree/main/catch_the_flag/src/pics) most of them either handmade by me or provided by the professor    



## Challenges 
- <u> **I was the most skilled person in the team in game dev** </u> which meant if some new feature to the game that meant I needed to explain it to the rest of the team or I would be the one implementing it myself; more on that on accomplishments. 
- **no game engine**  we had to program everything from scratch and there was no game engine tools luxury 
- **lack of time** all of us were out of time because we had other three projects to make with different teams so the game was probably made in 10 hours of work. 
- **no documentation** as I said before there was no available documentation or past projects we could copy or take as a reference 
- **lack of GitHub knowledge** most of the team had to start learning GitHub from the very beginning 

## Accomplishments
- entity system I programmed a mature entity system that held the game upon its shoulders consisting  of the [Entity Manager class](https://github.com/philopaterwaheed/Catch_the_flag_game/blob/main/catch_the_flag/src/entityManager.java) that was responsible for displaying and updating every entity in the game, the [Entity](https://github.com/philopaterwaheed/Catch_the_flag_game/blob/main/catch_the_flag/src/Entity.java) class itself everything in the game was planned to be an entity  

- **GitHub level up** gained more GitHub knowledge by being the leader of the team and the responsible person for the GitHub repo and by teaching 3 of my teammates   

## future plans 
I am going to take full control of the game in the future after the team abandons the project after passing the subject 
everything in the game gonna be changed the textures will feel more alive and  I will add more sounds to the game everything will be an entity for more clean code; also will add powerups and the last plan is to add Ai to the game by implementing a neural network the available Ai is just a ball that follows you 
![inside _ game ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uskjick26smeqxu3n8ca.png)
![credits](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqlgmu61ht1rluyug01x.png)