Git Battle banner

Git Battle

19 devlogs
33h 35m

This will basically turns your GitHub profile into an RPG character, using your actual stats, like repos and stars to let you fight your friends and see who’s the better dev.

This project uses AI

Used gemini for debugging, and for two new sound effects
edit: used claude too for removing and fixing some super confusing, most annoying, brain eater bugs 😭 sorry……

Demo Repository

Loading README...

mrsiuuuu_x1

Shipped this project!

Hours: 33.58
Cookies: 🍪 151
Multiplier: 29.17 cookies/hr

I have written everything in my latest devlog 😭, but anyways, i have added some new cool features, in this like a friend system, you can add your friend, also some ranks and rankup animation, also some cool achievements.

mrsiuuuu_x1

edit: I don’t think you all are going to read this entire thing, but yeaa see ya later…. one more thing, in case you are wondering, how did i got 2000+ wins, yea i ……. tampered with the database….. why not, i am the creator, i’ll have 10,000 wins lol,sorry just wanted to test the rank up animations……. 😭
First of all, sorry for taking this long, to upload a devlog,i was busy with my tests, but as soon I got free, i decided to learn some new cool things. So after spending almost few weeks learning, how to implement friend system and ranks/rankup animation and achievements, i have finally added those features. I added 26 achievements for now, which includes first blood(win your first battle), win 10 battles in a row, and more etc. I have named my ranks as, Background NPC, Side Character, Supporting Role, Main Character, Protagonist, and Final Boss. I also added thier rankup animations, which are so cool, also i spotted some bugs, like when a user is doing PvE battles and wins, their wins in global leaderboard were also increasing, same with friends/private battles, i fixed those issues. Some tasks were pretty confusing/hard to implement, so i used claude to implement those, for example, to spot and fix those bugs, also to remove some dead code too. Also i added friend system, yeah now you can add your friends too, also i implemented a small shareable link, which you can share it with your friends, it was pretty easy to add so this eas not a major achievement for me, but yeah…… The most fun thing about this project is that it fetches your data live from github, to stop hitting rate limits, i added cache(7 days fetch). Anyways, I won’t be able to work on this project more, because of my upcoming A-level exams, wish me good luck guys!!! hope you enjoyed it… I hope you guys shared this with your friend, also i don’t know why my time isn’t recorded that much, but yea…. once again hope you enjoyed it…

Attachment
Attachment
Attachment
Attachment
Attachment
0
AVD

Tagged your project as well cooked!

🔥 AVD marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)

mrsiuuuu_x1

Shipped this project!

Hours: 14.07
Cookies: 🍪 403
Multiplier: 28.67 cookies/hr

So i finally added multiplayer mode and a global leaderboard too. Also private and public rooms too. Just share the code with your friends and then obliterate them. Also I changed the previous version too a practice mode, with three difficulty mode.

mrsiuuuu_x1

after a long day of grinding out the waiting room logic so users weren’t just staring at a blank screen, i finally got the state management to stop tripping. once the vibes were right and the code was actually working, i did the whole git dance to bring it into the main branch. i checked out main, pulled the latest updates to avoid any awkward conflicts, and merged the feature branch in. everything synced up perfectly with no beef from the terminal, so now the waiting room is officially live in the build and the repo is looking massive.
also i added background music too, it feels so good playing the game with music.
edit: I also added two new sound effects, when user enters the waiting room, and when the game starts.

Attachment
Attachment
Attachment
Attachment
0
mrsiuuuu_x1

Today was a huge milestone as I finally moved Git Battle from a local project to a live, production environment. It wasn’t a smooth ride—I spent a good chunk of time troubleshooting connection issues, from cleaning up old database links to fixing authentication redirects that were still pointing to our testing tunnels. I also hit a wall where the server wouldn’t build our database client correctly until I manually overrode the start commands, but after hunting down every missing variable and configuration error, it is finally working. The system is stable, users can log in securely, and most importantly, the real-time multiplayer is syncing perfectly, which feels like a massive win after a long day of debugging.

2

Comments

PianoMan0
PianoMan0 4 months ago

Cool! Just played my first round :D

mrsiuuuu_x1
mrsiuuuu_x1 4 months ago

thanks man, I need to add tutorial too

mrsiuuuu_x1

Today marked a major milestone for Git Battle, I integrated a Vercel Postgres database using Prisma ORM to handle persistent data storage. I implemented Server Actions to capture battle outcomes in real-time, ensuring every victory and defeat is permanently recorded. To visualize this data, I built a dynamic Leaderboard system that queries the database to rank top players by wins. The app now has a permanent ‘Hall of Fame,’ creating a competitive loop for users.
Now i am fully focused on setting up multiplayer mode, the most difficult task.

Attachment
Attachment
1

Comments

chefpenguino
chefpenguino 4 months ago

fire

mrsiuuuu_x1

After some testing, and debugging I have finally added the login page, where user must logs in with thier github account, to play I have added three difficulty level for AI mode, and now i am focus on adding the multiplayer mode.

Attachment
0
mrsiuuuu_x1

So guys, after a long time, I have added some cool SFX in the game, adn now i am focused on creating a multiplayer mode….

0
mrsiuuuu_x1

Guys! I just added floating number feature. It was pretty easy to implement, though i faced some issues as 1/4 hits, the damage numbers were overlapping, so i tried adding a variance and it worked but for a short time as now 1/10 hits the numbers were overlapping, so now i fixed it by making thier positions permanent and looped them to appear up, middle, and bottom.

2

Comments

TheEpicStudent
TheEpicStudent 4 months ago

we need a special move that is “slap” and make it really op

mrsiuuuu_x1
mrsiuuuu_x1 4 months ago

I have added it, but for only those accounts which have 0 repos on github..

mrsiuuuu_x1

Guys, I just fixed the exit button logic, at first when user interacted with it, they exited the game. Now, a popup message appears for the confirmation to quit the match.

Attachment
0
mrsiuuuu_x1

Shipped this project!

Hours: 15.54
Cookies: 🍪 426
Multiplier: 27.42 cookies/hr

I built Git Battle, an app that transforms your GitHub profile into an RPG character! It uses the GitHub API to generate unique stats and classes based on your coding history. You can battle against your friends (or enemies) in a fully interactive turn-based arena with special abilities and animations. I had a lot of fun balancing the combat system and designing the pixel-art UI

mrsiuuuu_x1

I have added some new cool class abilities, like pixel Slash (which hits double damage with 60% more damage), hello world push too. I also added a “ability” button which allows user to use thier special ability.

0
mrsiuuuu_x1

While i was playing my game, i spotted some bugs;

  1. the enemy was able to use critical damage, but i wasn’t so i fix the class abilities.
  2. The logs were looking a bit boring so i added colors to represent each type.
  3. The buttons were looking plain so i added hovering, with background color.
  4. the enemy was using only 2 merge shields(heals), while me(player) was able to use all three, so i fixed that too.

Now I am adding more new cool abilities.

Attachment
Attachment
Attachment
0
mrsiuuuu_x1

Finally!
After spending almost 10hours (generational lock in) designing the UI, it was all worth it, from watching youtube tutorials, to modifying the pixel art; IT WAS ALL WORTH IT.
Ladies and gentleman! presenting you;
a new revolution, a new face of git battle, the Greatest UI upgrade(for me yeah) of “Git Battle”.
(I have also shared a footage of it).
Enjoy!!
(i am gonna rest now).
edit: I still need to fix some bugs too, like the game starts as soon as you land on the battle view page.

Attachment
Attachment
Attachment
0
mrsiuuuu_x1

I tried changing the UI but it went horribly wrong :((. Thank god I have committed the old version so I did not have to redo the entire UI. Now I am gonna watch some YouTube videos to learn about changing UI more cleanly. I was trying to add cyberpunk 2077 theme, but was not able to accomplish it, hopefully in my second attempt I will. :)))
Anyways, thank you guys for following me, I will do my best to make this one hell of a project!!

Attachment
Attachment
Attachment
Attachment
Attachment
1

Comments

theinfamousben
theinfamousben 4 months ago

cant wait!

mrsiuuuu_x1

When I was testing my game, I ran into a bug, the AI was healing itself continuously, this created a loop in which the game never ends, so in order to fix it, I gave both the player and AI 3 healings right now (will add more difficulties later). This made the game more fun, and put an end to the loop.
Now I am trying to update the Ui of the app, and then will add more cool features.

Attachment
Attachment
Attachment
4

Comments

aloyak
aloyak 4 months ago

this is really cool

mrsiuuuu_x1
mrsiuuuu_x1 4 months ago

thank you so much!! i am trying to update UI but the whole layout gets crashed, i hope i can change it

zhirkoalexander
zhirkoalexander 4 months ago

yooo very good idea i like it thanks for following better snake

chefpenguino
chefpenguino 4 months ago

love the idea

mrsiuuuu_x1

Alright guys!
I have now fix the healing issue; before, I can constantly heal myself and the AI couldn’t, which was annoying as in this way I can never lose, so to make things fair, I added a cooldown feature which will allow user to heal after 3 turns, and now the AI can also heal if it’s health is below 50%.
I have also shared a footage of it working!

0
mrsiuuuu_x1

Just added a new cool buff feature, which gives three type of bonuses to the user, according to their class id, like if they have frontend warrior class they will get 25% more speed, if their speed is higher they have chance to hit a critical damage. The class is given to user based on their profile stats, like if they have more repos, stars, and followers they will have stronger bonuses. I have also added a healing button too, at first the game was running itself, but now it waits for user inputs.
There are still many things i have to fix like give the opponent which is a bot rn, healing mechanic too.
I have also shared a working footage below.

0
mrsiuuuu_x1

Added battle logic, which automatically fights the opponent by attacking them, the attacks happens using a formula;
Damage Formula: attack * random - (defense * 0.2)
Also created a Battle viewing area, which shows the logs of damages done by you/opponents.
Below is a working footage (ignore bg music) :)))

0
mrsiuuuu_x1

So i am building v2 of this project, i am using next.js to build this version now. I have now created the page.tsx which contains the starting logic of the project, i have added 2 player logic. I have also generated a github token which will help me fetch user stats(repos, stars, followers etc) and use them as battle powerups. Here is a small working footage, though i have not yet created the battle logic.

2

Comments

Khaled Wael
Khaled Wael 4 months ago

pretty creative, but… is this an online enemy or just a computer ?

mrsiuuuu_x1
mrsiuuuu_x1 4 months ago

The user enters their github username and fights with another player/username/friend.

mrsiuuuu_x1

Just started creating the index.html file, will start styling it now, and then add logic behind it.
edit: changed my mind again, this version was a bit sloppy, so i am building a second version using next.js.

Attachment
0
mrsiuuuu_x1

Just created a next.js app from scratch, and connected it to github api.
(Though there are still some bugs like the picture is too big, i am going to fix it).

0