3Deke - Fantasy Sports Simulation Engine
I know there are 2 or 3 posts that I've billed as "1 of 2" that are still awaiting their "2 of 2", but I've been a bit busy of late working on a project that combines two of my passions (sports and software development).
I've begun creating a service that I'm describing as a "Fantasy Sports Simulation as a Service".
There are a lot of people out there who participate in fantasy sports "sim leagues." However, the means of actually simulating a league's games can be a clunky, time consuming, and tedious task for league operators. Some are forced to manually sync their league's rosters with a video game while others are left to use ancient csv-driven desktop software.
Is this a fantasy sports league?
No. This is simply a simulation engine to be used by "sim league" operators and developers.
I will be standardizing on a player ability ranking scheme (most likely it will align with the EA Sports player abilities), but 3Deke will not be maintaining any type of player, team, or league database. This will allow users to use the game engine in any way they wish and not be beholden to any arbitrary league constraints.
Your league, your way.
How will 3Deke help "sim league" operators/developers?
With 3Deke I aim to make life better for league operators/developers by creating an API driven simulation engine. This opens the possibility for a league to automate simulation straight from league data already saved in the user's own site.
The game engine API will accept basic league information such as team rosters and player ability rankings to start a simulation. When the simulation is finished, the game details can be sent to a callback URL or retrieved upon request. It will even save a play-by-play so that a league's participants can see exactly how a game unfolded.
What sports will be available?
I'm starting with soccer (futbol). The idea for this whole service was sparked by an iPhone "Footy Manager" game, so I decided to start there.
My two main sports passions are the English Premier League and the NHL, so as soon as the soccer engine reaches a viable state, I'll be expanding to a hockey simulation engine.
If there's demand for a different sport following the completion of these two, I'll work on them then.
How detailed will game output be?
I'm creating this in such a way that almost everything about the game can be tracked and reported. However, detail takes time.
Starting out, there will be very basic game statistics such as score and discipline. Over time, new game information will be added such as injuries and substitutions.
Can I trust the game engine?
Yup. It's my plan to open source the engine portion of the service. This provides transparency as well as opens up the engine for peer review and community contributions.
If you're ambitious, you could even use the open source code to implement your own engine service.
What's the timeline?
This is a side project for me, so it'll inevitably take longer to create than I'd like.
That having been said, its my goal to get a very basic version of the engine completed prior to the World Cup finals in order to "predict" a winner. After that minimally viable product (MVP to those in the biz) is ready, things will start rocking. That's the point in which I'll open source the engine and open up the API to beta testers.
What's with the name?
3Deke is a play on the gamer tag I've had since I started playing Eve Online years and years ago (Triple Deke). A "deke" is the hockey equivalent to a "juke" in American football. Remember The Mighty Ducks?
Due to low interest and homeownership keeping me from having as much free time as expected I have suspended work on this project. I fully intend to pick it back up later in the year. In the mean time, the code is up (as promised) at https://github.com/d-nation/soccer-sim-engine