Remove this Banner Ad

Sim Sim update planning

🥰 Love BigFooty? Join now for free.

BTW do you want some crediting back to you as the creator of the original Qooty?
Nah, if you're referencing Qooty as an inspiration, which you clearly are, then that's plenty.
 
So as an example with all this stuff clouds doing, a person could load the AFL, all the teams and their players into it..


And then let the SIM work out who won the premiership? could be a fun little experiment. (although it might not if it takes forever to enter the details)
 
So as an example with all this stuff clouds doing, a person could load the AFL, all the teams and their players into it..


And then let the SIM work out who won the premiership? could be a fun little experiment. (although it might not if it takes forever to enter the details)
Couldn’t you do that with Mobbs’ qooty though. Because it’s totally random.

The CricSim or Football Manager is probably a better sim to do this on, as it’s not completely random, and works on skill level.

Though this is what makes qooty so good. The fact that it’s total random, and we aren’t recruiting on player skill levels Thar players submitted at the start of their career.
 
Last edited:

Log in to remove this Banner Ad

Couldn’t you do that with Mobbs’ would though. Because it’s totally random.

The CricSim or Football Manager is probably a better sim to do this on, as it’s not completely random, and works on skill level.

Though this is what makea qooty so good. The fact that it’s total random, and we aren’t recruiting on player skill levels Thar players submitted at the start of their career.
Cheers, but I never really thought about this or even knew about these SIM's before I found this place, so I hope you can excuse my little bit of ignorance to how all this stuff works, and if things have been done already.

I am finding this thread very interesting though and commend all of you for what you have and are doing for this game.
 
Mobbs Ant Bear Broken

Had a few spare hours today so had a look into the pygame module in python. Whipped up a start menu and got the timer ticking at least. If I get some more free time over the weekend I'll look into getting a scoreboard functionality and post my code in case there's anyone on here better than me at programming.

View attachment 758837
That looks really good.
 
Yep, just like Qooty could. The Sweet FA doesn't use anywhere near all of its features eg playing the entire season automatically based on calendar dates.

But it's also very old, ugly and limiting, and kbj Parker is hoping to fix all that!

On DUB-LX2 using BigFooty.com mobile app
 
The very first iteration of Qooty was a Commodore 64 program I wrote called Real Time Footy. I did indeed start this whole thing using AFL (then VFL as 1988ish) team lists.

Sadly nothing remains save for screenshots of the cassette case and unfinished instructions, and an audio recording of me commentating a part of a game between Fitzroy & Melbourne.

On DUB-LX2 using BigFooty.com mobile app
 
Reckon what we have is great too though. It gives us quite a lot.
 
Was cumbersome to get the user interface (screen) to read from a list in an external file and represent it but eventually got something up.

Firstly, the process of inputting new teams into the sim database is now done - though I'd to change it so that the inputs get written into a csv file instead of a txt file

View attachment PyQooty Record1_Trim.mp4


Then allowing them to be selected from a list and populated with players which is partially done.

View attachment PyQooty Record1_Trim (2).mp4
 
Copy of the code: https://www.dropbox.com/s/poyuqcgevjil104/3_DEC.txt?dl=0

Mainly focused on front end stuff lately but making some inroads.

This class when the functions are invoked in the main loop was what brought us to the screen that allows the user to input the teams and it stores them in a .txt file just like the 'player input screen' (although I've changed the player input process so that the players are stored in a csv file instead of a txt now).
Python:
class TeamCreationScreen(object):
    active = False
    TeamNameText = ""
    ABRV_input = False
    ABRV_Text = ""
    TS_recentAct = False
    latestTeam = ""
    TeamMasterListQueue = []
    InQueue = 0
    newlyAdded = 0
    ChangesSavedNotice = False
    
    def openTCScreen():
        win.blit(general_bg, (0,0))
        mouse
        pygame.draw.rect(win, (0,0,0), (45,100,260,40),0)
        pygame.draw.rect(win, (100, 100, 100), (45, 180, 500, 150), 0)
        
        TS_titleText = myfont_selectTitle.render('Add A Team', 1, Green)
        TS_EntryLabel = myfont_main.render('Enter Team Name Here: ', 1, Green)
        TS_NoticeLabel = myfont_main.render('Latest Activity: ', 1, Green)
        win.blit(TS_titleText, (20, 20))
        win.blit(TS_EntryLabel, (50,105))
        win.blit(TS_NoticeLabel, (50, 185))
        
        if TeamCreationScreen.TS_recentAct:
            TS_Notice1 = myfont_main.render(TeamCreationScreen.latestTeam + ' is in the New Team Queue', 1, White)
            TS_Notice2 = myfont_main.render(str(TeamCreationScreen.InQueue) + ' new team(s) have been entered', 1, White)
            TS_Notice3 = myfont_main.render('Click the SAVE button to confirm the additions', 1, White)
            win.blit(TS_Notice1, (50, 210))
            win.blit(TS_Notice2, (50, 250))
            win.blit(TS_Notice3, (50, 290))
        
        if TeamCreationScreen.ChangesSavedNotice:
            TS_Notice1 = myfont_main.render('Addition(s) saved to Teams.txt', 1, White)
            TS_Notice2 = myfont_main.render(str(TeamCreationScreen.newlyAdded) + ' new team(s) were added', 1, White)
            TS_Notice3 = myfont_main.render('New Team Queue Reset', 1, White)
            win.blit(TS_Notice1, (50, 210))
            win.blit(TS_Notice2, (50, 250))
            win.blit(TS_Notice3, (50, 290))

        if TeamCreationScreen.active:
            colour = White
        else:
            colour = Light_Grey
        team_inputBox = pygame.draw.rect(win, colour, (305, 100, 240, 40), 0)
        
        #save changes button
        if 50 + 80 > mouse[0] > 50 and 350 + 40 > mouse[1] > 350:
            TS_SaveButton = pygame.draw.rect(win, Soft_Red, (50, 350, 80, 40), 0)
            if click[0] == 1:
                OpenMasterList = open('Teams.txt', 'a')
                for i in TeamCreationScreen.TeamMasterListQueue:
                    new_team = str(i) + '\n'
                    OpenMasterList.write(new_team)
                    pygame.time.delay(120)
                OpenMasterList.close()
                TeamCreationScreen.ChangesSavedNotice = True
                TeamCreationScreen.TS_recentAct = False
                
                TeamCreationScreen.newlyAdded = TeamCreationScreen.InQueue
                TeamCreationScreen.InQueue = 0
                TeamCreationScreen.TeamMasterListQueue = []
        else:
            TS_SaveButton = pygame.draw.rect(win, Red, (50, 350, 80, 40), 0)
        TS_SaveLabel = myfont_main.render('SAVE', 1, White)
        win.blit(TS_SaveLabel, (58, 358))
        
        global main
        global AddingTeams
        #main menu button
        if 320 + 210 > mouse[0] > 320 and 350 + 40 > mouse[1] > 350:
            TS_MainMenuButton = pygame.draw.rect(win, Soft_Red, (320, 350, 210, 40), 0)
            if click[0] == 1:
                main = True
                AddingTeams = False
                
                TeamCreationScreen.active = False
                TeamCreationScreen.TeamNameText = ""
                TeamCreationScreen.TS_recentAct = False
                TeamCreationScreen.latestTeam = ""
                TeamCreationScreen.TeamMasterListQueue = []
                TeamCreationScreen.InQueue = 0
                newlyAdded = 0
                TeamCreationScreen.ChangesSavedNotice = False
                
                pygame.time.delay(200)
        else:
            TS_MainMenuButton = pygame.draw.rect(win, Red, (320, 350, 210, 40), 0)
        TS_MainMenuLabel = myfont_main.render('Back To Main Menu', 1, White)
        win.blit(TS_MainMenuLabel, (328, 358))
        
        teamEntered = False
        if not teamEntered:
            for event in pygame.event.get():
                if event.type == pygame.MOUSEBUTTONDOWN:
                    #user clicks on input box
                    if team_inputBox.collidepoint(event.pos):
                        #toggle the active variable
                        TeamCreationScreen.active = True
                    else:
                        TeamCreationScreen.active = False
                    if not TeamCreationScreen.active:
                        team_inputBox = pygame.draw.rect(win, Light_Grey, (305, 100, 240, 40), 0)
                    else:
                        team_inputBox = pygame.draw.rect(win, White, (305, 100, 240, 40), 0)
                if event.type == pygame.KEYDOWN:
                    #process typing
                    if TeamCreationScreen.active:
                        if event.key == pygame.K_RETURN:
                            TeamCreationScreen.TeamMasterListQueue.append(TeamCreationScreen.TeamNameText)
                            TeamCreationScreen.InQueue += 1
                            TeamCreationScreen.TS_recentAct = True
                            TeamCreationScreen.ChangesSavedNotice = False
                            TeamCreationScreen.latestTeam = str(TeamCreationScreen.TeamNameText)
                            TeamCreationScreen.TeamNameText = ""
                        elif event.key == pygame.K_BACKSPACE:
                            TeamCreationScreen.TeamNameText = TeamCreationScreen.TeamNameText[:-1]
                        else:
                            TeamCreationScreen.TeamNameText += event.unicode
                txt_surface = myfont_main.render(TeamCreationScreen.TeamNameText, True, Blue)
                win.blit(txt_surface, (310, 105))
                            
                pygame.display.update()
                if event.type == pygame.QUIT:
                    pygame.quit()

Another class defined as SelectionMenu(object) is the screen that shows up when you click on 'Team Selection' from the main menu. That reads the previous inputs that were stored in a txt file into a list, then from that list it displays it onto the screen. A shit load of code just to do that so won't post it in here.

The very last screen displayed in this clip will be the place where I want to integrate the player/team selection process and allow the user to actually populate teams with players and create an individual csv file once a team has been filled.
View attachment PyQooty 2019-12-03 02-27-54_Trim.mp4
 
Reckon what we have is great too though. It gives us quite a lot.

Some parts are good, but using it can be a pain.
The very first iteration of Qooty was a Commodore 64 program I wrote called Real Time Footy. I did indeed start this whole thing using AFL (then VFL as 1988ish) team lists.

Sadly nothing remains save for screenshots of the cassette case and unfinished instructions, and an audio recording of me commentating a part of a game between Fitzroy & Melbourne.

On DUB-LX2 using BigFooty.com mobile app

Will we get to hear said recording?
 

Remove this Banner Ad

Will we get to hear said recording?
I did a search around my drives recently and can't find it. I do think it still exists somewhere, but just currently unable to locate.
 
This menu took a shit tonne of code, but able to make selections to teams now more or less

Choosing a team from the database.
View attachment PyQooty 2019-12-09 21-18-03_Trim.mp4

Enter in the abbreviation if its the team has never been populated with players before, any attempts to submit the team with empty cells or duplicate players will result in an error message, once the team has been filled with all unique players and submit button hit...


View attachment PyQooty 2019-12-09 21-19-31_Trim.mp4


The result is an exported team sheet like this that can be read and extracted from when a game is played.

1575887057567.png
 

🥰 Love BigFooty? Join now for free.

So as an example with all this stuff clouds doing, a person could load the AFL, all the teams and their players into it..


And then let the SIM work out who won the premiership? could be a fun little experiment. (although it might not if it takes forever to enter the details)
Footy Fanatic FX is worth a look if you haven’t come across it before. An AFL career sim game that I wasted many an hour with. The old version was superior to the current version but I can’t find a copy of it now...
 
This menu took a shit tonne of code, but able to make selections to teams now more or less

Choosing a team from the database.
View attachment 791389

Enter in the abbreviation if its the team has never been populated with players before, any attempts to submit the team with empty cells or duplicate players will result in an error message, once the team has been filled with all unique players and submit button hit...


View attachment 791390


The result is an exported team sheet like this that can be read and extracted from when a game is played.

View attachment 791388
What an average looking team
 
Footy Fanatic FX is worth a look if you haven’t come across it before. An AFL career sim game that I wasted many an hour with. The old version was superior to the current version but I can’t find a copy of it now...
I remember playing it in high school. Played as Carlton, and had probably the same amount of luck as Carlton.

I think I still have a copy of the original version.
 
I remember playing it in high school. Played as Carlton, and had probably the same amount of luck as Carlton.

I think I still have a copy of the original version.
2002 or 2007? If you have the 2002 version I’m very interested in if you could flick me a copy
 

Remove this Banner Ad

Remove this Banner Ad

🥰 Love BigFooty? Join now for free.

Back
Top Bottom