Data volant, backups manent
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
comPLAY
.gitignore
LICENSE.md
README.md
comPLAY.sln

README.md

comPLAY Manager

What?

Official Website ❗

All the info you may need

Where?

Download Link ⤵️

WARNING: high risk of files downloading here

CHAT - Discord server 💬

Official Discord server for chit-chatting, asking infos or if you need to scream at someone.

How ( I use this damned things ) and who?

comPLAY Guide + Licensing 📘

Official guide plus extra useful info

How? ( Technology used )

  • C#

    • Higly unprofessional
    • Large use of System.Collections
    • Little touch of LINQ
    • Comunication to web REST Api
      • WebClient and HTTPWebRequest
      • JSON serialization/deserialization & binds to objects
      • Built-in helper to see guides of the most important objects and functions directly on the right page of the official guide, with a single click on the UI
    • Use of Windows Task Scheduler and Scheduled Tasks
      • Use of external library for creating startup tasks
      • Fights with honour against Windows UAC thanks to tasks
    • I/O Objects and strings to/from Disk
      • Self-built library for .INI write/reading
        • Used for saving profile settings (= easy to edit outside cP )
      • Use of external JSON Library for serialization to/from file
        • Used for Timestamps & object serialization/deserialization to/from disk
      • Use of built-in .NET library for creation, reading and extraction of .zip files
      • Mini-IA for processing the extraction of .zip files to the right dynamic folder on system (based on an human readable string)
      • Self-built filters for file/folders catching
        • Supports 'inclusion' and 'exclusion' of files and folders using expression 'RegExp' alike.
      • Auto-managing of comPLAY storages based on its kind of content (Cloud, HD or Smartphone) and based on available horse-power (Laptop or Gaming PC)
      • Auto-search mechanism for finding launched and launchables executables
        • Cache system to avoid registry scavenging each time
      • Use of Windows Robocopy + custom library for files mirroring on external drives and cloud
    • SQLite database files managing
      • Different SQLite database maintained for each users, each different platforms and each different functions
      • DAO for accessing these databases + error signaling and auto-recovering, without breaking the application flow
    • Libraries for SHA1 and CRC32 included, and used
      • SHA1 used for file integrity (not security)
      • CRC32 because...why not?
    • Steam integration
      • Detection of games installed on external Steam libraries
    • Built-in profiles managing
      • GUEST MODE, for loading profiles and data of guests and friends from an external usb flash drive or something like that
    • "The unannoying installer": TRY the software BEFORE installing it.
      • cP can be installed from within the application, after launched. If you want.
    • Heavily multi-threaded
      • Use of BackgroundWorker
      • Use of async/await statements
      • 'Thread-safe' variables/collections
  • WPF (Windows Presentation Foundation)

    • Use of unethical graphics and objects placement rules (= my own taste)
    • Buttons and words are BIG, and doesn't require 10/10 dioptres to be readen.
      • Why buying more expensive and big monitors if things are getting smaller every day that passes...
    • Use of the MVVM Pattern
    • Use of custom built-in Modals "mini-library"
      • Used for displaying helps, questions or choosing from a list of things, and its relative consumption from methods
    • Tabs and windows (in most cases) are responsive and scale with DPI or high resolutions
    • Use of Custom Templates for total customization of objects appearence and behaviour.
    • Simple use of Storyboards for simple animations
    • Using of XAML Bindings
      • Vectorized graphics are displayed, coloured and scaled with the use of runtime bindings of XAML objects
    • Mono-chromatic colouring of the whole UI using a custom palette and StaticResources
  • comPLAY Website

    • Classic self-hosted LAMP solutions.
    • Done from scratch
    • Extensive (trust me) backend for those who manipolate the database
    • Ugly by choice
    • comPLAY Guide done using Python and MkDocs
    • English mistakes rate: 10% (Understimated)
  • Videos

    • Official trailer done using Adobe Premiere, and a lot of patience and crativity
    • The application for participation in the 2018 cannes festival has been sent
      • No answer so far

Why?

Several years ago I was sharing my PC with my then housemate.

Aside the unpractical mess with the situation ( I didn't forget the games and savegames you deleted me!) one day we were playing and having fun...

...and then the PC simply CAUGHT FIRE.

Putting aside the monetary and psychological loss, I've also lost all my data.

I sayed: << Never again! >>.

And...here we are: comPLAY. Just in time, no?

<< Are there no solutions to this problem that already exist? >>

Not done like I want

While building thigs I built,done and designed a lot more things than I had planned at the beginning... but learning new things is the pure essence of life, or not?