# Julia Game Dev: Anyone interested in collaborating on some animations/practice mode for a soccer manager game?

**URL:** <https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969>\
**Category:** Community\
**Tags:** animations, games\
**Created:** [November 22, 2024, 4:55pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969 "2024-11-22T16:55:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tetrakai](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@Tetrakai](https://discourse.julialang.org/u/Tetrakai)\
**Post date:** [November 22, 2024, 4:55pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/1 "2024-11-22T16:55:02Z")

</div>

I ported a game engine to Julia that has formations, etc and can generate minute-by-minute plays like below (with fake players):

```julia
*************KICK OFF*****************
Min. 2 :(klm) D_Donyuzi cuts the ball back to Z_Enodrewbt
          ... Z_Enodrewbt is one of one with the keeper, he shoots !
          ... But it whistles just past the post
Min. 3 :(ape) B_Ohachusy finds his way through
          ... B_Ohachusy with the shot !
          ... GOAL !!
          ... ape 1-0 klm ...
Min. 3 :(klm) R_Ukanyi with the dribble
          ... But C_Chinhooryo reads the situation well and wins the ball
Min. 4 :(klm) Z_Enodrewbt takes possesion
          ... Z_Enodrewbt with the strike !
          ... But O_Voishtato with the difficult save
Min. 5 :(klm) B_Omo passes the ball to D_Donyuzi
          ... A vicious shot by D_Donyuzi !
          ... It goes wide for a goal kick
Min. 6 :(klm) Z_Enodrewbt cuts the ball back to C_Umnablobt
          ... Cleared by T_Eryur
Min. 9 :(klm) Z_Enodrewbt cuts the ball back to D_Donyuzi
          ... D_Donyuzi with the strike !
          ... O_Voishtato makes a difficult save
Min. 12 :(klm) X_Una with a smart pass to M_Avraeshtab
          ... M_Avraeshtab goes for goal !
          ... But O_Voishtato with the difficult save
Min. 13 :(klm) D_Donyuzi with a real burst of pace
          ... D_Donyuzi with the strike !
          ... Saved by O_Voishtato
Min. 15 :(ape) A_Urte finds B_Ohachusy in the box
          ... B_Ohachusy shoots towards goal !
          ... GOAL !!
          ... ape 2-0 klm ...
Min. 16 :(klm) S_Brarto slides the ball across to Z_Enodrewbt
          ... A vicious shot by Z_Enodrewbt !
          ... O_Voishtato makes a comfortable save
Min. 19 :(ape) N_Noivo finds B_Ohachusy in the box
          ... B_Ohachusy goes for goal !
          ... But L_Ryili punches it away
Min. 22 :(klm) V_Chisi with the heel pass to X_Una
          ... X_Una shoots towards goal !
          ... O_Voishtato makes a difficult save
Min. 23 :(klm) V_Chisi with a flashy move
          ... T_Eryur wins the ball with a clear tackle
Min. 24 :(klm) Z_Enodrewbt with a glorious long pass to M_Avraeshtab
          ... Intercepted by T_Eryur
Min. 25 :(klm) Z_Enodrewbt with a smart pass to R_Ukanyi
          ... But C_Eja reads the situation well and wins the ball
Min. 28 :(ape) T_Eryur with an ugly foul
          ... Shown a yellow card
Min. 29 :(klm) F_Ibto plays a long ball to D_Donyuzi
          ... D_Donyuzi tries to chip the ball over the keeper !
          ... But it whistles just past the post
Min. 31 :(klm) M_Avraeshtab passes the ball to X_Una
          ... X_Una shoots towards goal !
          ... But it goes just over
Min. 34 :(klm) F_Ibto with a smart pass to D_Donyuzi
          ... A powerful shot by D_Donyuzi !
          ... O_Voishtato makes a difficult save
Min. 35 :(klm) F_Ibto with a precise pass to S_Brarto
          ... S_Brarto with the strike !
          ... But it goes wide
Min. 37 :(klm) R_Ukanyi takes advantage of a defensive mistake
          ... R_Ukanyi tries to beat the keeper !
          ... O_Voishtato parries it
Min. 43 :(klm) V_Chisi slides the ball across to M_Avraeshtab
          ... M_Avraeshtab tries to chip the ball over the keeper !
          ... But O_Voishtato with the difficult save
Min. 44 :(klm) Z_Enodrewbt cuts the ball back to R_Ukanyi
          ... R_Ukanyi with the shot !
          ... O_Voishtato makes a difficult save

The ref adds 1 min. of injury time

Min. 46 :(klm) D_Donyuzi with a precise pass to X_Una
          ... X_Una is one of one with the keeper, he shoots !
          ... But it clips the post and goes wide

*************HALF TIME****************

Min. 46 :(klm) Z_Enodrewbt finds D_Donyuzi in the box
          ... D_Donyuzi with the shot !
          ... But it clips the post and goes wide
Min. 48 :(klm) S_Brarto with the heel pass to X_Una
          ... C_Chinhooryo gets in the way and wins the ball
Min. 54 :(klm) M_Avraeshtab heads the ball down to D_Donyuzi
          ... D_Donyuzi shoots towards goal !
          ... But it goes wide
Min. 60 :(ape) N_Noivo fouls badly
          ... He gets a yellow card
Min. 62 :(klm) D_Donyuzi with the dribble
          ... D_Donyuzi goes for goal !
          ... But O_Voishtato reaches the ball. Good save
Min. 63 :(klm) Z_Enodrewbt heads the ball down to D_Donyuzi
          ... D_Donyuzi shoots towards goal !
          ... O_Voishtato gathers it comfortably
Min. 67 :(klm) D_Donyuzi cuts through the defense
          ... But D_Yiceny reads the situation well and wins the ball
Min. 68 :(klm) S_Brarto with the dribble
          ... Cleared by D_Yiceny
Min. 71 :(ape) A_Urte cuts the ball back to B_Ohachusy
          ... But D_Donyuzi wins the tackle
Min. 73 :(ape) T_Eryur with a glorious long pass to K_Jaezew
          ... K_Jaezew with the strike !
          ... L_Ryili makes a difficult save
Min. 75 :(ape) B_Ohachusy cuts the ball back to Z_Zoest
          ... Z_Zoest tries to chip the ball over the keeper !
          ... Wide of goal
Min. 76 :(klm) D_Donyuzi finds a hole in the defense
          ... A powerful shot by D_Donyuzi !
          ... But it clips the post and goes wide
Min. 78 :(klm) D_Donyuzi plays a long ball to S_Brarto
          ... S_Brarto is one of one with the keeper, he shoots !
          ... O_Voishtato gathers it comfortably
Min. 79 :(klm) R_Ukanyi with the heel pass to X_Una
          ... X_Una with the strike !
          ... But O_Voishtato with the difficult save
Min. 82 :(ape) A_Urte with the dribble
          ... M_Avraeshtab wins the ball with a clear tackle
Min. 84 :(ape) A_Urte cuts the ball back to B_Ohachusy
          ... Blocked by R_Ukanyi
Min. 86 :(ape) C_Chinhooryo passes the ball to B_Ohachusy
          ... B_Ohachusy chases it through, he must score !
          ... L_Ryili gathers it comfortably
Min. 86 :(klm) V_Chisi slides the ball across to Z_Enodrewbt
          ... A vicious shot by Z_Enodrewbt !
          ... O_Voishtato makes a good save
Min. 88 :(klm) D_Donyuzi finds himself in a good position
          ... A powerful shot by D_Donyuzi !
          ... Wide of goal

The ref adds 1 min. of injury time

*************FULL TIME****************

```

My main purpose is to use this for machine learning (ie, choose ratings that can fit real-life stats), but it is also fully playable. That aspect can be improved if I spend time on a few other features.

I am wondering if there is any interest. It would be nice to have the option to “watch” the game, or even maybe a simple (2-D) practice mode where the user can interact with their squad.

I saw a couple game-dev packages but haven’t tried them out. Maybe someone could use it to showcase their package?

@Sabe  
@Kyjor

---

<div class="post-metadata">

**Author:** ![Tarny\_GG\_Channie](https://avatars.discourse-cdn.com/v4/letter/t/3bc359/32.png) [@Tarny\_GG\_Channie](https://discourse.julialang.org/u/Tarny_GG_Channie)\
**Post date:** [November 23, 2024, 9:43am UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/2 "2024-11-23T09:43:37Z")

</div>

Interesting…

Want to do a reinforcement learning on it?

> [@(RL) Introducing the Julia community to PufferLib](https://discourse.julialang.org/t/rl-introducing-the-julia-community-to-pufferlib/122481):
>
> This is not Julia-specific, but I’d like to post this anyway since I think Julia could be really good for it. Julia is a fast and easy language, which could be quite suitable for a reinforcement learning environment. Pufferlib is written in Python, which Julia interoperates with really well. Moreover, the library was written in a way that allows interaction with any environment, be it C, Rust, Go, etc, and obviously Julia. To be effective, it only requires that the environment be fast enough. …

---

<div class="post-metadata">

**Author:** ![Tetrakai](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@Tetrakai](https://discourse.julialang.org/u/Tetrakai)\
**Post date:** [November 23, 2024, 1:00pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/3 "2024-11-23T13:00:08Z")

</div>

> [@Tarny\_GG\_Channie](#):
>
> Interesting…
> 
> Want to do a reinforcement learning on it?
> 
> [(RL) Introducing the Julia community to PufferLib](https://discourse.julialang.org/t/rl-introducing-the-julia-community-to-pufferlib/122481)

To be clear, there are two aspects here.

I was imagining this as a package for benchmarking optimization algorithms, but it is only missing a few bells and whistles to be fully featured as a game.

To finally answer your question: RL could possibly be used to fit the ratings, _and_ to improve the AI for auto-teamsheet/tactics selection before each match.

So that would be very interesting.

---

<div class="post-metadata">

**Author:** ![Kyjor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kyjor/32/48132_2.png) [@Kyjor](https://discourse.julialang.org/u/Kyjor)\
**Post date:** [November 24, 2024, 3:25pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/4 "2024-11-24T15:25:25Z")

</div>

That’s pretty cool! At the moment, to implement something like this seems like it would be pretty complex, and I don’t have the bandwidth for it. If you’d like to implement it yourself, I can definitely offer support though!

---

<div class="post-metadata">

**Author:** ![Tetrakai](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@Tetrakai](https://discourse.julialang.org/u/Tetrakai)\
**Post date:** [November 24, 2024, 5:50pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/5 "2024-11-24T17:50:43Z")

</div>

Thanks, do you think even a highlight reel (that looks like a playable 2D game) would be a lot of effort?

---

<div class="post-metadata">

**Author:** ![Kyjor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kyjor/32/48132_2.png) [@Kyjor](https://discourse.julialang.org/u/Kyjor)\
**Post date:** [November 25, 2024, 3:15pm UTC](https://discourse.julialang.org/t/julia-game-dev-anyone-interested-in-collaborating-on-some-animations-practice-mode-for-a-soccer-manager-game/122969/6 "2024-11-25T15:15:31Z")

</div>

Yeah, sadly I think so 😕 . But like I said, I would definitely support you if you end up trying to pursue it using JulGame. There’s still a lot of work I need to do on the engine and games I want to make with it. This is something I would be interested in down the line, and hopefully doing some reinforcement learning with live simulations will be easy in the engine eventually 🙂
