Skip to content

johnparker007/Oasis

Repository files navigation

Objectives

  • Enable creation and playing of 3d arcade environments.
  • Support multiplayer rooms as well as single player mode, including offline play.
  • Support for desktop, joypad and VR controls/rendering.
  • Enable creation of interactive 3d arcade machines for use in arcade environments.
  • Importing of 3d models from packages such as Blender (probably as GLTF files), to build machines plus other environment assets.
  • For fruit machines, support for extracting and importing 2d layouts from Mfme.
  • For MAME, export function for text only 'classic' internal layouts for inclusion in MAME source, plus graphical 'dx' layouts.

Architecture

block-beta
    columns 3
    doc>"Oasis Suite Architecture"]:3

    block:row1:3
        Hub["Launcher / Hub"]
        AssetLibrary[("Asset Libary")]
        MachineDatabase[("Machine Database")]
    end

    block:row2:3
        MfmeLayoutExtractor["MFME Layout Extractor"]
        LayoutEditor["Layout Editor"]
        MameLayoutBuilder["MAME Layout Builder"]
    end

    block:row3:3
        ArcadeSimulator["Arcade Simulator"]
        CabinetEditor["Cabinet Editor"]
        MachinePlayer["Machine Player"]
    end
    
Loading

Roadmaps

Overall

gantt
    title Oasis Components
    dateFormat X
    axisFormat %s
    section Project
    Launcher/Hub : 2, 3        
    section Data
    Machine Database : 4, 5    
    Asset Library : 4, 6    
    section Layout
    MFME Layout Extractor : 0, 2    
    Layout Editor : 1, 7    
    MAME Layout Builder : 2, 3     
    section 3d
    Cabinet Editor : 3, 5    
    Machine Player : 4, 6    
    Arcade Simulator : 5, 8    
Loading

Machine Database

gantt
    title TODO Machine Database elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Asset Library

gantt
    title TODO Asset Library elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

MFME Layout Extractor

gantt
    title TODO MFME Layout Extractor elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Layout Editor

gantt
    title TODO Layout Editor elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

MAME Layout Builder

gantt
    title TODO MAME Layout Builder elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Cabinet Editor

gantt
    title TODO Cabinet Editor elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Machine Player

gantt
    title TODO Machine Player elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Arcade Simulator

gantt
    title TODO Arcade Simulator elements
    dateFormat X
    axisFormat %s
    section TODO
    TODO : 2, 3        
    section TODO
    TODO : 3, 5    
    TODO : 4, 6    
    TODO : 5, 8    
Loading

Todo/In Progress/Done tasks/features

All issues are currently being tracked on a private Jira server for developer convenience. A way may be found to share a live public view of this in future.

Unity technical details

Unity version is 2024 Preview.

We are using Built-in Render Pipeline, this is due to lightmap baking being impractical for user-created environments (Arcades, Crazy Golf courses, race tracks etc)... all Unity runtime-lightmap baking solutions seemed lacking (on device, remote lightmap baking server etc), and by the time this is a mature product, RTX cards may be relatively standard and affordable, meaning dynamic light/shadows with no baked maps required.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published