Open to work · Salem, India

Player one: Dinesh Kumar S

Game Developer and Front-End Developer

I build iGaming games with PixiJS, GSAP and Spine — and the game UIs and responsive web front-ends around them. 2.5+ years at OliveMultimedia, now looking for my next role.

Mini crash round Round –
1.00× Get ready…
Best — Cash-outs 0

    GameCode

    drag the line — same game, as game and as code

    Game Dev + Front-End Portrait of Dinesh Kumar S

    Dinesh Kumar S

    Base
    Salem, Tamil Nadu
    XP
    2.5+ years in iGaming
    Guild
    OliveMultimedia · 2024–26
    Training
    Diploma, Computer Eng. · 84%
    Languages
    Tamil · English
    Status
    Open to work

    01 Player profile

    Hey there — I'm Dinesh.

    I'm a Game Developer and Front-End Developer from Salem, Tamil Nadu. At OliveMultimedia I worked on iGaming products — slots, roulette, card games, scratch cards, Plinko, video poker and crash games — with PixiJS, GSAP, Spine and TypeScript.

    My front-end work covers both sides of the screen: the game UI players touch (HUDs, bet panels, popups, settings, win screens) and the responsive websites and internal tools teams use every day.

    To prove it outside work, I built two complete games in 5 days each. They're playable below.

    How I play

    Math first, magic second.

    Lucky Keno's ~96% RTP was checked over 1,000,000 simulated rounds per pick count.

    Animation is feedback.

    Spine and GSAP timelines synced to game state, so every spin, win and bonus reads clearly.

    Every screen, every way.

    Portrait and landscape, phone to desktop — tested, not assumed.

    02 Quest log · Experience

    Where I've levelled up

    Save file 01 · –

    Game Developer / Front-End Developer

    OliveMultimedia · Chennai, Tamil Nadu

    AGame development (iGaming)

    • Contributed to multiple casino games (slots, roulette, card games, scratch cards, Plinko, video poker, crash games) with PixiJS and JavaScript, in portrait and landscape.
    • Developed bonus features: free-spin sequences, bonus rounds and win celebration screens.
    • Built background animations and visual effects (particles, glows, transitions).
    • Integrated sound for spins, wins, bonus triggers and music, synced to gameplay states.
    • Integrated Spine animations for win, bonus and idle states, synced with GSAP timelines.
    • Worked on crash game features, including multiplier curve visuals and animation updates.

    BGame UI, tools & front-end

    • Collaborated on UI components such as popups, settings menus and game controls across multiple titles.
    • Created the Spine Animation Preview Tool and 3+ more internal web tools with dynamic, real-time UI.
    • Delivered responsive, cross-device front-ends with HTML5, CSS3, Bootstrap, JavaScript and TypeScript.
    • Supported asset optimisation with texture atlases and sprite sheets for faster loading.

    CAI-assisted development

    • Use Claude, ChatGPT and OpenAI Codex daily to debug game state machines and UI components, optimise code and speed up feature work.

    Achievements unlocked · game types I've worked on

    • Slots
    • Roulette
    • Card games
    • Scratch cards
    • Plinko
    • Video poker
    • Crash games

    Save file 00 · 2020 – 2023

    Diploma in Computer Engineering — Ramakrishna Mission Polytechnic College, Chennai · 84%

    03 World 1 · Games

    Playable demo games

    Two complete games — designed, coded and tuned end-to-end, built in 5 days each. Both run in the browser on desktop and mobile, with virtual credits only.

    Paper Plane Crash mid-flight: the multiplier reads 4.93×, the plane weaves through a sketched city at sunset collecting stars, with a Collect button showing the live payout.
    js/multiplier.jsreal code from the game
    const A = 0.075, B = 0.0008;
    
    static valueAt(tau) {1
      return Math.exp(A * tau + B * tau * tau);
    }
    static timeFor(m) {2
      return (-A + Math.sqrt(A * A + 4 * B * Math.log(m)))
             / (2 * B);
    }
    1. 1the multiplier curve m(t)
    2. 2its exact inverse, so the game knows when to warn before a crash

    Level 1 Crash / multiplier game

    Paper Plane Crash

    How far will you fly?

    A crash-style multiplier game: steer a paper plane through obstacles and cash out before a hidden crash point. Everything is drawn in a hand-sketched notebook style — and every graphic is generated as SVG code, with no image files.

    • PixiJS
    • GSAP
    • JavaScript
    • SVG
    • Web Audio
    Image files
    0
    Locations × weather
    5×4
    Lines of JS
    4.3k
    • Multiplier curve m(t) = eAt + Bt² (A = 0.075, B = 0.0008): a gentle start that accelerates to 10× in about 25 s.
    • Closed-form inverse t(m) = (−A + √(A² + 4B·ln m)) / 2B schedules a pre-crash warning 1.35 s ahead.
    • Crash point from a two-tier exponential distribution; live payout = bet × multiplier.
    • The crash is judged on the base curve, so near-miss bonuses can never push a round past its crash point.
    Lucky Keno: Sketchbook Edition title screen — hand-drawn hills, a windmill, numbered balloons, a teddy-bear mascot and a Play button on graph paper.
    src/math/Cashout.tsreal code, trimmed
    /** Cashout offer = 0.96 x EV, rounded DOWN */
    export function cashoutOffer(picks, hits, drawn, bet) {
      const ev = expectedMultiplier(picks, hits, drawn);1
      const v = CFG.rtp * ev * bet;
      return Math.floor(v * 100 + 1e-9) / 100;2
    }
    1. 1exact expected value of the draws still to come
    2. 2always round down, so the offer never overpays

    Level 2 Keno game

    Lucky Keno: Sketchbook Edition

    80 numbers, one sketchbook.

    Classic 80-number Keno — pick up to 10, 20 balls are drawn — set inside an animated sketchbook with a pen hand that draws the board, page-curl transitions and tiered win celebrations. The math is calibrated and verified, not guessed.

    • TypeScript
    • GSAP
    • SVG
    • Web Audio
    Return to player
    ~96%
    Lines of TypeScript
    5.7k
    GSAP plugins
    6
    • Paytable calibrated to ~96% RTP and verified with a simulation script (1,000,000 rounds per pick count).
    • Exact hypergeometric probabilities for every pick count / hit combination.
    • Mid-round cash-out offers priced at 96% of the exact expected value of the remaining draws.
    • Buy Feature with a guaranteed minimum of 6 hits, priced from its exact EV.

    04 World 2 · Game UI

    Game UI lab

    A playable mini slot, built live on this page to show how I put a game's front-end together: HUD counters, a bet panel, reel anticipation, tiered win celebrations and a free-spin feature, all driven by a state machine you can watch on the right.

    Virtual credits only

    Balance
    1,000
    Bet
    10
    Win
    0
    Bet

    • Wild 60×
    • Seven 30×
    • Diamond 14×
    • Balloon 8×
    • Cloud 4×
    • 3 stars 5 free

    Counters that roll

    Balance and win tween to their new value with an ease-out curve, so players feel the win instead of reading a jump.

    Anticipation

    Two stars on the first reels make the last one spin longer and glow: the classic "almost there" beat from real slots.

    Win tiers

    Small wins stay in the HUD. 5× and 15× wins get a Big/Mega banner that any tap skips, because players hate waiting.

    One layout, two shapes

    Container queries move the controls beside the reels in landscape and under them in portrait. Try the toggle.

    Built for this page in plain JavaScript, SVG and CSS; the math is in js/slotMath.js. At work I build the same patterns with PixiJS, Spine and GSAP.

    05 World 3 · Web & front-end

    Websites & tools

    The same care, outside the game: responsive websites and internal tools with clean structure, reusable components and layouts that hold up on every device.

    Level 6 Website

    This portfolio

    Designed and hand-coded without a framework or build step. The hero's mini game, the seam slider, the level-select menu and this live preview are plain HTML, CSS and JavaScript.

    Frameworks
    0
    Screen sizes tested
    16
    Build steps
    0
    • Responsive from 320 px phones to 1920 px desktops, portrait and landscape.
    • Accessible tabs, dialog and slider with keyboard support; respects reduced motion.
    • Self-hosted fonts, lazy-loaded images, canvas game that pauses off-screen.
    • The device on the right is the real site in an iframe, touring itself section by section.

    Loading the live site…

    390 px

    that's this site, running inside itself

    Level 5 Internal web tool · OliveMultimedia

    Spine Animation Preview Tool

    Animators used to wait for a developer to wire up an animation just to see it. I built a standalone tool that removes that step: drop an export in, and it plays.

    • Auto-detects Spine exports dropped into a watch folder and plays them instantly.
    • Shows animation track, loop count and metadata.
    • Playback controls and track selection for developers and animators.
    • Sped up QA and animation review across the team.

    Internal tool, so no public demo. The panel is an illustration of the workflow.

    1. Drop an export into the watch folder
    2. Detect skeleton + atlas automatically
    3. Play instantly, loop and scrub
    4. Inspect track, loops and metadata

    Work Internal tools & responsive front-ends

    3+ more internal web tools

    Dynamic, real-time interfaces for production workflows, plus responsive multi-page front-ends built with HTML5, CSS3, Bootstrap, JavaScript and TypeScript — modular components, clean navigation and cross-browser support.

    • HTML5
    • CSS3
    • Bootstrap
    • JavaScript
    • TypeScript
    • Git

    06 Inventory · Skills

    Where games meet the web

    Most of my toolkit sits in the overlap — that's why I can move between a game and a website without switching brains.

    Game

    • PixiJS
    • Spine
    • Game state machines
    • Reward & bonus systems
    • Crash & Keno mechanics
    • Paytable & RTP math
    • Seeded RNG
    • Texture atlases

    Both

    • JavaScript ES6+
    • TypeScript
    • GSAP
    • SVG
    • Web Audio
    • Animation systems
    • Performance
    • Modular architecture

    Web

    • HTML5
    • CSS3
    • Responsive design
    • Bootstrap
    • Component-based UI
    • Cross-browser
    • Accessibility basics

    Tools

    • VS Code
    • Chrome DevTools
    • GitHub
    • npm

    AI-assisted

    • Claude
    • ChatGPT
    • OpenAI Codex

    Languages

    • Tamil
    • English

    07 Contact

    Continue?

    I'm actively looking for my next role. If you're hiring, press start — email is the fastest way to reach me.

    Roles I'm looking for

    • Game Developer
    • Front-End Developer
    • Game UI / HUD Developer

    say hi!