English Conference Leagues

A football game/community built on Roblox with over 3000 members.

Tech Used

  • Roblox Studio: Coding, 3D-Modelling and Animations.
  • Lua: Roblox programming language.
  • TypeScript: Used with Next.js and Discord.js
  • Next.js/React: Team/Role Management APIs.
  • PostgreSQL: Relational Database for Team/Role Management.
  • Discord: Communication channels and bot interactions for API communication.
  • React-Lua: Used for the UI/UX of the Roblox game.

An immersive Roblox experience based on non-league football, created by my friend and me.

With zero coding knowledge in 2017, I changed one line of code to update open-source tools to work with the new Roblox R15 avatar.

That one line of code I changed created a ripple effect that led to me learning how to code and inspired my coding journey.

With 3000 Roblox members and 600 Discord members, ECL has been the hub of friendships and memories for many people, and my playground for learning how to be a developer in all aspects.

My Work Involved

About ECL

Gameplay

Roblox Studio is a game engine like Unity or Unreal Engine that allows users to create 3D worlds and games. Developers publish their games to Roblox, where over 100 million monthly active users can play them.

The game engine uses Lua, which is a lightweight programming language similar to Python.

Gameplay development involves handling user input, animations, physics, and client/server networking.

Gameplay Example (Player POV)

Gameplay Example (Media Camera)

Gameplay Example (Fan POV)

Gameplay Example (Goalkeeper POV)

The UI/UX is built using React-Lua, which is a direct translation of React into Lua. All elements of the game are customisable, including gameplay settings, lighting, keybinds, and combos, providing accessibility for all users.

Settings UI

Referee system

The system allows referees to host matches.

Features:

Referee Gameplay

Team Management System

The ECL Web Service automates the management of teams, player transfers, and more by connecting Discord and the Roblox game servers through REST APIs and a PostgreSQL database. This solves the problem of manually recording data with Google Sheets.

The service has successfully run 2 seasons of the league with over 300 registered players, 16 teams, and 200+ player transfers.

Next.js hosts a REST API used by the Discord bot and the Roblox game servers to manage teams, players, and roles.

The Discord bot acts as a front-facing UI for the service:

Signing a Player

Discord Bot Logs

In the Roblox game, a player's team's logo will appear next to their name on the player list UI.

Player List UI with Team Logos