[BACK]Return to outline.txt CVS log [TXT][DIR] Up to [local] / mytalks / 2021-03-03-Gaming-on-OpenBSD

File: [local] / mytalks / 2021-03-03-Gaming-on-OpenBSD / outline.txt (download)

Revision 1.1, Sat Feb 27 22:40:48 2021 UTC (6 months, 3 weeks ago) by thfr
Branch point for: MAIN

Initial revision

Title:	Hacking our Way Towards Gaming on OpenBSD
=================================================

Bullet Points:
--------------

* my story
** growing up: SNES/Super Famicom, DOS
** motivation: reduce need for other platforms
** OpenXCOM
** Milestones: Rogue Legacy, Slay the Spire, Dead Cells, Godot
** FNA/fnaify
** emulators? (snes9x, mupen64plus, dolphin)

* hardware
** my rig, and why
** upcoming Intel Xe HPG
** controllers
** VR

* graphics
** vulkan
** OpenGL support (versions)
** amdgpu and problems

* sound
** sndio
** FMOD

* input
** gamecontrollers
** VR
** mouse and keyboard
** hidapi, uvdev, other non-portable or security-problematic input methods

* specific issues at play with commercial games
** monetization (sell at least assets)
** distribution platforms (Steam lock-in)
** Big bang releases
** breakage on updates
** Proton leading to decline in interest in paying for porting
** legacy technologies hanging around forever: 32bit, others?
** intellectual property vs. opensourcing - case study fs2open
** reverse engineering - devilutionx, ...
** platform lock-in (my experience with PS4; Steamworks)

* creating games (and frameworks)
** Godot: the good, the bad, and the ugly
** SDL2
** FNA
** Unity

* hierarchy of desirability of solutions
** 1. Completely opensource
** 2. Opensource engine + proprietary assets (non-computational) -> allows monetization
** 3. Opensource framework + proprietary scripting/bytecode: FNA, hashlink, libgdx, HTML5/JavaScript
*** -> this is the sweet spot for a security-focused operating system, where defense-in-depth comes at play
** 4. Opensource emulator + proprietary game: mgba, dolphin -> allows mitigations (pledge, unveil)
** 5. Binary distribution for opensource OS: games with Linux support -> more control over operating system; theoretical portability
** 6. Binary distribution for closed-source OS: DOS/Windows games -> need reverse engineering work to port (dosbox, wine...)
** 7. Binary distribution (for closed-source OS?) with DRM (e.g. Street Fighter V fiasco - installation of a boot hack)
*** -> this may include vendor/platform lock-in

* showcase
** Northgard?
** Dead Cells
** Stardew Valley
** Stadia/GeForce Now
** Minecraft
** Zachtronics games
** Vulkan

* engines/solutions
** FNA
** hashlink
** renpy
** scummvm/residualvm
** mono (-> dropped support for cross-platform path adjustments!)

* combining security and gaming - why?
** RETGUARD
** chromium + Stadia/Geforce Now
** mgba + pledge/unveil

* the proprietary state of mainstream gaming and workarounds
** steamworks-nosteam
** managed languages: .NET, hashlink, java
** wine(?)

* GOAL: reducing barriers
** fnaify
** library: minigalaxy? lutris?
** downloaders: depotdownloader, gogrepo, legendary
** ujoy(4)

* GOAL: promote better computing - reduce need for bad platforms:
** Windows: spyware (?), mandatory updates, proprietary
** Linux: uhm...
** consoles: lock-in, cost, dying model in the face of superior PC performance, as well as cloud gaming?

* Problems/Barriers
** License: fs2open, xash3d, eduke32 (Ion Fury)
** proprietary bits: FMOD, Unity
** 32bit legacy (wine?)
** hacks:
*** steamworks-nosteam
*** mono local patches
** gamecontroller support missing:
*** browsers, including chromium
** hardware: controllers needing custom kernel quirks
*** XBox 360, XBox One
*** VR/OpenHMD
** hardware: amdgpu
** upstream lack of interest: lwjgl3, chromium

* Outlook
** Near future:
*** lwjgl3
*** openfmod?
*** AGS
*** mkxp
** Longer-term aspirations:
*** Unity
*** wine?

* Shoutouts to other OpenBSD devs
** solene@ (blog, StS, ...)
** brynet@
** bcallah@
** jsg@ (graphics, id Software, scummvm)
** robert@ (lets me plug all kinds of workarounds into our mono port)
** Ethan Lee (@flibitijibibo) - not OpenBSD, but great resource, passionate about opensource and "hackporting"
** more... (tdm4, namn@, reivyr)

* Other *BSD
** Free, Net, Dragon
** Justin Sheryll's blog
** oshogbo

* Community
** reddit (growth 100 -> 1,100) -> see https://subredditstats.com/r/openbsd_gaming
** IRC
** #PlayOnBSD (youtube, twitter, mastodon)
** playonbsd.com -> shopping guide

* How to contribute
** port more opensource engines
** discuss your work in the community
** play games and report what works and what doesn't
** transfer work between *BSDs

Outline:
--------

I.	Intro/Background

1.	OpenBSD: for routers and servers?
2.	Is that all?				# Show video or screenshots of what's possible
3.	My Story

II.	Main

1.	Motivation: Why game on OpenBSD?	# Best OS, security, reduce need for other platforms/consoles
2.	Considerations				# Security, opensource, the 'hierarchy of desirability'
3.	Tools I Encountered			# Answer to: "How?"
3.	Realities encountered
	a. hackporting
	b. lock-in
	c. proprietary libs
	d. indie trends: towards Unity and Proton, away from native ports and opensource frameworks
	e. big bang releases
	f. breaking updates
	g. hardware support limitations
	h. small community, little knowledge sharing (unknown how much runs on OpenBSD)
4.	The Work
5.	Solutions
	a. hardware
	b. software				# Cloud Gaming
	c. publicity/community			# playonbsd.com, #PlayOnBSD, YouTube channel, IRC, Reddit

III.	Conclusion/Going Forward

1.	Successes/Showcase
2.	Problems/Barriers
	a. AAA games
	b. Sidenote: Creating games on OpenBSD
3.	Outlook
4.	Summary of the Why and how much has been accomplished
5.	Get Involved!