stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

X-fight

  • 10 Devlogs
  • 100 Total hours

i am building a website for gamers were they can join the tournaments ,host tournament and participate in the match and win prizes

Open comments for this post

10h 5m 19s logged

Devlog 10

Hi, everybody!
In my previous devlog, I mentioned that this would be my last devlog. But unfortunately, while integrating the features, I faced some unexpected issues related to match results, logic, and friendly match integration.

1. Working on the UI

Most of my time went into completing the pending UI work. After that, I started fixing logical errors related to friendly matches and result uploading.

2. The Friendly Match Integration Problem

Most of my existing match logic was designed for tournaments, which have an event ID. But friendly matches don’t belong to any tournament, so they don’t have an event ID.
To solve this, I made the event ID optional in the match room function.

def match_room(request, match_room_id, event_id=None):

I also created separate URL patterns for tournament and friendly matches and used conditional logic to handle them differently.

if not match.friendly_match_room:
    # Tournament logic
    pass
else:
    # Friendly match logic
    pass

3. Fixing the Match Result Processing System

My website uses JSON to pass match and tournament details. Friendly matches caused errors because they don’t have tournament information.
So, I added conditional logic to set tournament-related values to None for friendly matches.

if not match.friendly_match_room:
    tournament_name = match.tournament.name
    tournament_id = match.tournament.id
    winner_team = match.winner_team
else:
    tournament_name = None
    tournament_id = None
    winner_team = None

I then passed these variables into the JSON response.

4. Implementing the Loot Transfer Logic

I also worked on the loot system for friendly matches. Loot refers to the coins players contribute to the match.
For example, if four players contribute 100 coins each, the total loot pool becomes 400 coins, which the winner receives.
I implemented this logic in the views so that loot is transferred only after a valid match result is determined. If a match is cancelled or ends without a valid result, no coins are transferred.

So these are things I have done in this time period and so next will be last devlog I hope

0
0
16
Open comments for this post

9h 41m 11s logged

Devlog-9

Hi everyone in my previous develog, I mentioned that this would probably be my last develog . However, after working on the project for several more hours, there are still a few UI improvements left to complete. So, this is approximately the final develog. The next update will definitely be the last one, as only a few UI changes remain. Almost all the major features and functionality are now completed.
What I Worked On After the Previous Update
In the previous update, I mentioned that I had integrated voice and video calling using ZEGOCLOUD. At that point, the calling functionality was working, but the UI was still based around the initial implementation.
So, this time, I focused mainly on creating and integrating a custom calling UI of x-fight the black, red theme with ZEGOCLOUD.

Major Update

Revealing The Coin Transfer System
One of the major new features I worked on is the coin system. The first part of this system is coin transfer between Game Mates.
Users can now transfer their points to another game mate. The system includes the required forms, validation, calculations, through Django’s database transaction system.
This ensures that the transfer is handled safely and consistently rather than simply changing the balance directly.
##Coin Transfer History
I also implemented a Coin Transfer History feature.
Users can now see their previous transfers and information such as:
-Who they transferred points to
-How many points were transferred
-The transfer record
-When the transfer happened
This gives users a proper record of their coin activity.

Tournament Entry Fees

Another feature I integrated is tournament entry fees. Tournament creators can now choose whether a tournament has an entry fee or not.
If a tournament has an entry fee, the required points are deducted when the player or team joins the tournament. The points are then handled as part of the tournament system, and the winner can receive the applicable reward mostly will be coins. Now after this feature only free tournaments issue is solved only as free competitions.

Stats and Ranking System

Finally, I have been working on connecting the points system with a new stats (ranking system).
The idea is that players can use their coins to build their stats by buying it. These stats will then contribute to their position on the X-fight leaderboard.
This gives the points system a purpose inside the X-fight ecosystem rather than making them simply numbers displayed on a profile.

These are main feature I have worked in this time period

0
0
28
Open comments for this post

9h 52m 28s logged

Devlog 8:

Hey everyone! First of all, I’m sorry. In my last devlog, I said that it would be my final one before shipping the project. But unfortunately, I still had a few features left to complete, so I couldn’t finish everything as planned. So, most probably, the next devlog will be my last one, and after that, I’ll be shipping the project. Let me explain what happened.

In my previous devlog, I mentioned that I was planning to integrate ZeeCloud and add voice and video calling to the chat application. My plan was to include voice calls, video calls, group voice calls, and group video calls. I spent almost 10 hours working on this integration. And honestly, I managed to get everything working. The calling features were functional, but I faced one major issue: I couldn’t properly integrate my own UI with the calling system. I tried different approaches and followed several tutorials, but I still couldn’t get the UI working the way I wanted. So, to be honest, I decided to delete all the code related to the calling features and start fresh. I felt that starting from scratch would be a better option than continuing with an approach that wasn’t working for me. That took up most of my time. With the remaining time, I worked on a few other features.

The main feature I added was file sharing in the chat application. Until now, users couldn’t upload files in the chat. So, I integrated file uploading, and now users can send GIFs, photos, files, and other attachments. I also added an animation for the upload feature to make the experience a little smoother and more interactive. So, that’s pretty much what I’ve worked on this time. I couldn’t finish everything I had planned, but I still managed to make some progress.
Hopefully, the next devlog will actually be the final one, and I’ll finally be shipping the project.

0
0
24
Open comments for this post

9h 49m 43s logged

Devlog - 7

Hi I thought this would be the last devlog of this project I thought this project will be finalized but unfortunately, it didn’t finish.

so, in this time, I planned to do like there are some features which are incomplete like in notification, game scoreboard analyzing model, about page etc.
so these are the changes I made.

  1. notification panel

so, in this I have made in previous I just created it simply like a panel with message display but now i have added these features

  • all clear button
  • when a game mate request is sent if the action buttons are clicked then the notification will be cleared
    -when a game mate sends a chat message or through group chat then the notification will be displayed
  • in this layout also, it has changes like it was placed in the navbar and when it is clicked a box will appear near to that were it display all the notification but due to responsive issue, I changed it into a centralized popup screen and a close button to close that.
  1. layout changes

Actually, I have some design works to do so I have done that. some page mainly forms lie team register tournament register, so I have applied themes of the whole site

so next I did was not in my plan list, but when I am testing it I notice a drawback like when a user creates a team, they cannot modify it, so I have added that feature, so these are that features

  1. overview

it just like in normal dashboard displaying No. of tournaments, Mathes and members displaying them

  1. Team captain

this idea sparkled when I was playing football game so in this they who can schedule meetings give directions through team chat room

  1. Election system

this was basically an election for team captain everyone has the right to vote there and who has more vote they will be the team captain instead of manual update .

  1. meeting room

this a place where the team captian can schedule team meeting and a conference window will be opened they can do a face-to-face video call .so here I need to tell you something here Zee cloud helped like instead of writing a huge code of webrtc,django channel it helps to do integrated video conference through Api and it is very useful when we are starting

  1. Chatroom

a place for team members can chat without creating a chatgroup

next I added some more features in Matchroom these are the features in Matchroom

  1. ##more game models
    I have added like game model option for other it is a general for all games

  2. Ready or Not Ready

this was the old same feature, but I have integrated the Django channels and web sockets

  1. count down

here if every player clicks the ready button the 12 sec countdowns will be starting and after that they cannot press the no ready button and the match duration will be done then they have to end it and upload the photo by the persons from two teams and then we will cross check it and it is matched then the points will be credited otherwise it will be rejected and the match may reconduct it will be based on the tournament admins like if they want to conduct then they can otherwise the match will be abandoned

these are the things I have done I think next will be the last devlog

0
0
20
Open comments for this post

9h 28m 56s logged

Develog 6

Hi everybody it’s been a while. I was on break for some days due to my exams.

so up to this time I was mainly focused on the design of the website here in many parts I have completely changed the layout in some places, and I came to a final color theme

  • black
  • red
  • white

these are the main color theme

up to this time in dashboard the sidebar was just for a show it doesn’t work but now I made it functional and these are the options

  • dashboard – it just shows a summary like the rank on the leaderboard, total tournaments joined, etc.
  • tournaments
  • matches
  • game mates – it displays all the game mates and options to block, remove
  • chats – display all the chats like to chat with the game mates and group chats
  • logout

in chat there is like i implemented a minimal clean look and it also has a sidebar whith these options

  • display all chats
  • search bar
  • filter button – All, Game mates, Group Chats

in right side I has like normal like chat and when a group invite is sent then in a different style in sender the request will be sent

these are major layout changes in all other I just charge the color theme.

0
0
10
Open comments for this post

8h 34m 51s logged

Develog -5

hi everybody i have now completed the chat feature in my website. in this there are three types like group chat, privet chat and announcement chat.

Group chat

in this group chat it’s like normal chat like here you can make groups with the game mates only I have done making this chat system here the flow is like in the the inter face there is a button called create chatgroup if that we click then it will ask for the name, we should enter the name then the group will be created and after that it will take to the chat interface in that we have button called info were all the group members are listed and who re the admins and the group name there we have button called invite when that clicked then ta popup will be coming and all the game mates will be displayed along with send button when the send button is clicked then a special type message will send I call that as a group invite request and if they press the join then they will be added as a member. the group admin has the access to delete or make a member as admin o remove from admin position and users have option to let the group

Privet Chat

in this privet chat if like to chat with the game mates. the workflow is like there will be like in the chat interface all the game mates are listed if we click on them then the chatting interface will be opened where we can chat as normal and there is a button indicate online or not

Announcement Chat

here it like all the tournament owners can create a chat room to announce the news of their tournaments it will be admin message only chat players cannot send any messages if any doubt is there then a chatroom will also open there, they can ask doubt.

chat interface

the chat interface like I has designed like in dashboard there will be a button called enter the community like all the chat will be listed only one there. and it has button call return to base camp if that press then it will be returned to the dashboard.
while making this like this is the first time I am working with WebSocket’s and Django channels I got many errors so that time I have mainly used the stack overflow and after I got the base of Django channels the first project to try that is this project the uploaded photo is the chat interface and I am not that good Ui design building I find a similar theme in internet I don’t know this is good anyone has suggestion please put in comments

0
0
9
Open comments for this post

11h 6m logged

Develog-4 Up to this time as I said in previous develog that planning to integrate a XP point addition no I have done that. if a player one a game that player now will get a 50XP point. but I am planning like for some team game to split the total xp-points to every team member. After that I moved to make the chatting system here up to this time I have done to create a public chatroom were everyone can join and chat but after the creation of this public chat I will be creating a two-type chatroom one is 1v1 chat and group chat and I am doing this with WebSocket’s and Django channels and I have created a friend request method also were every player dashboard has a notification bar and every players can send a friend request to every other players and instead of this normal name called as friend request I named it as game-mate request and every players can chat with their game mate and they can create groups with their game mate and they can reject the request also and if they try to send request multiple times it won’t work it will directly redirect to dashboard and the player search screen will display with the z index in dashboard and I have temporary added this design tike that chat interface al to make the functionalities

0
0
12
Open comments for this post

10h 28m 47s logged

Develog - 3 This week I have mainly worked on creating Ai for the updating scoreboard with just a screen shot of the game scoreboard and up to this time I have added only for e-football and I am planning to add specific for some games and one for general. in this journey I tried mainly to create the AI myself so I researched how to do then I came to the idea of like it extract text from the image and I have used these three text excretion library called Easyocr, Pyteseract and Paddleocr but this I tried but here the main problem I faced is that they just extract the text but some time that will not able to I identify some small text and from that I cannot set who is the winner then I came to an idea to create an LLM using Pytorch with these neural network but when I started to do I faced a problem that my laptop is a office laptop so I cannot make such kind of LLM by my own because this lap cannot handle it. so I decided to use the google ai vision tool so now know from the beginning but I just want to create my own but due to this problems I use google ai vision it good by using a specific model I got 500 request per day(RPD) and now I have integrated that withe frontend like when they upload the scoreboard it will say analyzing the match after the Gemini response and save data in Json file in a format with some extra details like which match came the result came then only it will redirect to the main page and now I need to add the scoreboard, I am planning to add XP-points and some special extraction of score for some specific game

0
0
7
Open comments for this post

9h 30m 28s logged

Devlog #2

This week, I worked mainly on improving the tournament flow and adding several new features to make the experience smoother for players. The first thing I completed was the User Dashboard and the Tournament Settings Dashboard. I also redesigned their UI to make them cleaner and easier to use. I then updated the tournament listing page so that it only shows tournaments that the user has not joined yet. This keeps the page organized and avoids showing tournaments that are already in the player’s list. On the User Dashboard, players can now see every tournament they have joined. Clicking on any of them opens the Tournament Dashboard, where they can view all the matches scheduled for that tournament. In the Tournament Dashboard, there is a Scheduled Match button that takes users to the Match Creation page. The match list has also been filtered so that only upcoming and currently active matches are displayed. Each match has an Enter button. When players enter the Match Room, they can see all the members of both teams along with their current status. A Ready button is available for every player. Once a player clicks it, their status changes from Waiting to Ready, allowing everyone to know who is prepared for the match.When every player is marked as Ready, a 15-second countdown starts automatically. During the first few seconds, players can still change their status back to Not Ready if needed. However, once the countdown reaches 7 seconds, the Ready status is locked, preventing anyone from switching back. This helps avoid last-second cancellations and keeps matches starting on time. These changes make the tournament system more organized and improve the overall experience before a match begins.

0
0
9
Open comments for this post

11h 40m 18s logged

i am building a website for gamers were they can create or schedule matches and win points and they can conduct tournaments and were they can set the price and sent to the winners it has a leaderboard and the top 3 will be displayed on homepage and they can even talk each other via chat message

up to now i have made tournament registration like ere the users can create a tournament and enter the details such as name ,game, name whether is a teams or solo match tournament and the points and i have also created the team creation were every users can create a team by selecting their team mates ani have most of the time for creating this Ui like searching for a good theme and i have added login and registration were users can Create account and they can upload profile picture

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…