Jeg brugte lidt af aftenen i går på at lege med Bevy. Det er en open source spil-motor, der er skrevet i programmeringssproget Rust. Den kan naturligvis bruges til andet end spil, men der er en tilbagevendende tanke i mit hoved, som jeg er nødt til at prøve af på et tidspunkt. Nemlig at lave et spil, hvor protagonisten/protagonisterne er en person/personer med et handicap. "Mass Effect 5 - men vi ruller over fjenderne i vores kørestole"

Nej, handicapområdet *er* underrepræsenteret i spil og for unge mennesker, så er det vigtigt at have noget at spejle sig i. Så sidder der måske nogen derude og tænker "Nej, skal vores spil så plastres til med kørestole?!". En del af mig er rebellen, der vil sige: "Ja, du skal lære hvordan samfundet ser ud i virkeligheden.. Vi gider ikke flere glansbilleder - men nej, det skal selvfølgelig være op til dem, der producerer spillet, hvad de har lyst til at fokusere på. Men i det her tilfælde vil det være mig, så jeg bestemmer. Ha!

Det bliver meget niche, det ved jeg godt - men open source-miljøet, jeg befinder mig i, er netop bygget til at der er plads til at eksperimentere. "Kapitalen" man betaler med, er tid og interesse fremfor penge (sidebemærkning... Man kan vælge at tjene penge på open source: Man giver hovedproduktet væk, men tjener penge på perifære ydelser såsom plugins, support, hosting og konsulentarbejde.)

Det er i øvrigt på indiescenen, alt det sjove sker, der er den der genremæssige vildskab, jeg savner i "de store spil". AAA-spilfirmaer har tabt pusten. Se bare Electronic Arts (EA), der har bundet sig så meget op på økonomiske forpligtelser, at de krampagtigt er nødt til at satse på "sikre" hits.

Nå, jeg bevæger mig ud af en tangent.

Nu så jeg jo f.eks de gæve danske spillere i Elkørestolsfodbold. Hvorfor ikke lave et spil med det? Noget af det, jeg bed mærke i, var farten og spillernes dygtighed i at håndtere bolden. De skal f.eks dreje elkørestolen 180 grader, hver gang bolden skal have et smæk mod mål, det kræver timing ikke engang Ronaldo kunne håndtere ;)

EA formentlig aldrig kommer til at lave et spil som det, jeg foreslår, fordi det økonomiske grundlag i deres øjne er for skrøbeligt og for "kedeligt" for "almindelige mennesker". Det siger man aldrig højt, men de økonomiske prioriteringer og fraværet af den slags nichespil siger alt. Det er i øvrigt det samme med håndbold eller vandpolo - der har været enkelte spil, men ikke noget, der har bidt sig fast. Selvom førstnævnte sportsgren er vældigt populær her i Europa. Hvis du siger, det var fordi de var "crappy", så.. ja, men husk, at der har FIFA-spillene også været engang. Alle forbedringer sker gennem gentagelser på gentagelser, og så på et tidspunkt ender man med noget fedt. 

Handicapområdet er aldrig kedeligt for mig - og det bliver mere og mere tydeligt for mig, at vi som fællesskab selv må stå for de positive forandringer, vi gerne vil se. Jeg bliver 50 om ikke så forfærdentligt mange år, og ja, jeg kan jo se, at samfundet rykker sig forfærdentligt langsomt, selvom alle "normaltfungerende" er i berøring med handicap på et eller andet tidspunkt i deres liv.

Tankespind her til morgen. Jeg går "i kælderen" og prøver at bygge en prototype. Hvis det bliver noget, så kan det spilles i browseren ovre på Handicapguiden på et tidspunkt.

Jeg har leget med Webassembly i browseren i den seneste tid - man kan lave ret funky ting med en x86 til WASM JIT compiler - prøv bare at se her:

https://copy.sh/v86

Det virker ved at konvertere x86-instruktioner til WASM "on the fly". Da det er virtualiseret kører det ikke ligefrem native speed, men det fede her er, at man kan. Det er sjovt at starte forskellige operativsystemer. Mit første PC-styresystem var MS-DOS 5.0 og Windows 3.1. Og så er der jo 86-DOS, CP/M x86-reimplementeringen af Gary Kildalls CP/M, som Microsoft købte af Seattle Computer Products, og blev til hhv. Microsoft MS-DOS og IBM PC-DOS.

Det er der nogle kontroverser omkring, som du kan se i Als Retro Geek Labs trilogi:

Gary Kildall - The Man That Should Have Been Bill Gates - Part I
Gary Kildall - The Man That Should Have Been Bill Gates - Part II
Gary Kildall - The Man That Should Have Been Bill Gates - Part III

Coldfusion har lavet en kortere udgave:

The Man Who COULD Have Been Bill Gates [Gary Kildall]

Hvis du vil se mere til Gary Kildall, så var han medvært i Computer Chronicles sammen med Stuart Cheifet. Et program, der kørte på amerikanske PBS fra 1980'erne og frem til 00'erne.

Nu skrev jeg lige få øjeblikke siden om spilfirmaet Bioware, som Electonic Arts opkøbte, og det får mig til at tænke på en ting, jeg ser igen og igen på Facebook. Folk klapper helt automatisk, når et firma bliver opkøbt. Som om, det er helt automatisk bliver godt for lokalsamfundet. Det er lidt som at pisse i bukserne i frostvejr. Det varmer i starten, men...

Skulle vi ikke i det mindste vente, til vi ser, hvad resultatet bliver? 

I bedste fald udvidelser og jobsikkerhed for personalet. I værste fald er virksomheden tabt for byen, fordi den efter en årrække rykker væk. Det er som regel "chefen for det hele", der vinder uanset. Men efter at have læst utallige bøger om IT-industrien, kan jeg nævne, at mange af de tidligere ejere ofte siver lige så stille ud, fordi de ikke kan komme sig overens med kulturen i det selskab, de fusionerede med.

Et eksempel fra gode, gamle Danmark: Jeg elsker pizza bigtime, og var stamkunde hos pizzariaerne på Just-Eat i årevis. Nem bestilling. Gigantisk success herhjemme i årevis. Flere tusinde ordrer om dagen. Opkøbte konkurrenten Hungry, så Just-Eat igen for en tid var den eneste store leveringsvirksomhed på sit felt. 

Nu - ingenting. På et tidspunkt fusionerede Just-Eat med Takeaway.com. Det gik fint et stykke tid, men så fandt det nye fusionerede selskab ud af, at Danmark ikke var et rentabelt marked. Måske skyldtes det konkurrencen fra andre leveringsudbydere, eller også at fagbevægelsen fik gennemført ordnede forhold for budene, der ikke passede ind i Just-Eats forretningsmodel. Det er vist Uber Eats, der skal overtage. Går man til justmen her mange måneder efter kan jeg kun se 2 butikker her i Randers.

Man kan sådan meget forfladigende sige "at sådan er udviklingen", at alt går mod, at alt skal være større og vildere - jeg synes bare alt for tit, danske virksomheder bliver taberne i det store fusionsspil. Og det er møghamrende ærgerligt, for det går ud over lokalsamfundet.

EA (Electronic Arts) har - til min store ærgelse - valgt at lukke BioWare, som skabte Mass Effect og en masse andre gode computerspil, såsom Baldurs Gate og Dragon Age. De vil hellere satse på EA Sports Soccer FC og lignende spil, som de kan malke til ukendelighed. 

Jeg er ikke den store gamer længere, men en af de spilserier, der kan få mig til at støve den gamle PS4'er af, er scifi-klassikere, såsom Mass Effect-serien, som jeg har gennemført mere end en gang. 

Jeg synes spilbranchen er blevet umådelig kedelig med alle disse opkøb, som der er sket i den seneste tid. De nye giganter satser på alt det sikre, fordi udvikling af spil er blevet umådelig dyrt. Det er de store økonomiske udfordringer, AAA-virksomhederne forsvarer sig med, når de bliver spurgt ind til, hvorfor vi får alle de "sikre" titler, og meget lidt eksperimenteren. Men det er samtidig dem, der skal bryde den onde cirkel, hvis spil skal være mangfoldige og interessante igen.

Men det kan være, vi står overfor et reboot af hele branchen? Jeg spår en gylden fremtid for mindre indie-udviklere, der tør skabe noget nyt. De har allerede været i gang i noget tid. Der er allerede en bunke indie-spil, som jeg har haft gevaldigt mange timer med, og det fede ved dem er, at de kan køre på aldrende hardware: Super Meat Boy, Firewatch, Hollow Knight og Celeste.

Et spilfirma, der har en høj stjerne hos mig er Hello Games, der laver "No Mans Sky". De har lidt af den gamle aura omkring sig, som var kendetegnende for spilfirmaer, da jeg voksede op. EA var allerede store dengang, men spredt ud over mange flere genrer. Hello Games er en håndfuld mennesker, som har fede idéer. De har vendt en negativ start til noget positivt, og No Mans Sky har fået ikke mindre end 40(!) gratis udvidelser. Det er jo uhørt i dag, hvor andre mener, der skal kapitaliseres på alt. Hello Games tjener penge på simpelthen at sælge meget og så være på enhver platform, der eksisterer. 

Nå, tilbage til Mass Effect. Jeg håber, at spilserien finder en ny ejer, for der er lige så meget dybde i det spilunivers, som der i Star Wars. Amazon skulle efter sigende stadig være i gang med en TV-serie, så det kan være. at det bidrager med noget positivt. Og så må man jo ikke glemme at BioWare/ME-fans i stor grad er i gang med at lade EA vide, at de har taget en forkert beslutning.

Der er blevet lækket en intern video af ME: Universe, og nøj, hvor ser det godt ud. Du kan se traileren her hos IGN

Vi må se hvad fremtiden bringer (kig evt. på Exodus eller The: Expanse: Osiris Reborn). I en lyserød verden skulle ubrugte rettigheder overgå til public domain, kode open sources osv. men sådan fungerer verden desværre ikke. 

Jeg husker med stor glæde, da jeg boede hjemme, og når jeg kom hjem fra skole, smed toasts i toasteren og kørte ind på mit værelse for at nørde computeren (C64 og Amiga.. woo!) med MTV eller TV2 Puls (musikprogram) i baggrunden (jeg har faktisk stadig en toaster - så street er jeg :-D)

TV2 Puls stoppede, MTV blev til reality-tv (tjekket pr. oktober 2026). 80'erne og 90'ernes kreative vildskab blev afløst af kedsomhed og konformitet. Der må helst ikke være farver, vi må ha' orden, lader designsproget os vide. Ja, Jeg kan godt se det superironiske i, at min blog har de samme kedsommelige farver - haha - men jeg skulle bare lige have en blog op. Den får en grafisk overhaling på et senere tidspunkt.

Den digitaliserede tidsalder gav os bl.a. Youtube. Yay! Så jeg har på en playliste samlet en ordentlig røvfuld af de musikvideoer, jeg kan huske navnene på - og andre har Youtubes algoritmer hjulpet mig med. Kvaliteten på nogle af numrene af dem bærer desværre præg af, at musikerne og deres udgivere har uploadet dem for længe siden, men det fungerer. Jeg synes musikvideoerne i kraft af billederne, giver en ekstra dimension til musikken, som alm. musikstreamingtjenester ikke kan hamle op med.

Du finder min kanal lige her:

https://youtube.com/@simonjustesen

Har jeg drømt om at starte noget selv? Always. 

Den tekniske side har jeg fod på, jeg har med stor succes leget med IceCast (Open Source <3) for noget tid siden. Det kunne være fedt at starte en streamingtjeneste med alle de gode gamle numre, for at de ikke går i glemmebogen. Men en kæmpe showstopper: Jeg har ikke rigtig lyst til bøvle med den administrative del - og jeg tror, det er dyrt i trafik og licenser at have en streamingserver kørende 24/7. Man kunne også starte lidt simplere - med indies? En af de første streamingtjenester, jeg nogensinde fandt - Digitally Imported - di.fm - er stadig i drift. Tjek den ud :)

MTVs første video var "Dire Straits - Money for Nothing (I want my MTV)" - den indkapsler æraen meget godt :)

Den gråskæggede mand her er lidt træt af Javascript-frameworks såsom React, som jeg synes "vil for meget", så jeg er gået tilbage til W3Cs WebComponents. API'en er lidt bøvlet, men så kan man føle sig som en l33t haX0r, når ens plugin virker ;) Webstandardiseringsorganet W3C er desværre ikke så kendt for at lave simple API'er, så det er på mange måder mere usexet end React. Kan du ikke undvære React, så er der også Vue og Preact, der er en slags "Light-udgave" af React.

Men altså, Web Components fjerner eksterne afhængigheder helt. Jo færre eksterne moduler, dit script er afhængig af, jo større er sandsynligheden for, at det også virker om 5 år. 

Nedenfor er et starter-eksempel på, hvordan man kan have et eksternt stylesheet ved siden af sin WebComponent. Du kan sagtens definere mere af nedenstående direkte i dit HTML-dokument, men jeg kan godt lide at have mest muligt samlet, for det gør det nemmere at genbruge og distribuere komponenten

Prop dette i en .js-fil - kald den imgcard.js (beklager formateringen - eller mangel på samme, Bludits theme overskriver Rich text editor'ens stylesheet)

import stylesheet from "./imgcard.css" with { type: "css" }

class SJImageCard extends HTMLElement {

constructor() { super(); }

connectedCallback() { const shadow = this.attachShadow({ mode: "open" }); shadow.adoptedStyleSheets = [stylesheet];

const wrapper = document.createElement("div");
wrapper.setAttribute("class", "card shadow");
wrapper.textContent = this.textContent;
shadow.appendChild(wrapper);

}

disconnectedCallback() { console.log("Elementet blev fjernet"); } } customElements.define("sj-imagecard", SJImageCard);

Lidt om koden:

Det er ren boilerplatekode. Jeg starter lige i bunden på sidste linje, og hopper så tilbage: customElements.define-linjen registrerer dit element med browserens CustomElementRegistry. Den første parameter afgør, hvordan man kalder sit custom element i ens HTML-dokument. Så placer tagget <sj-imagecard></sj-imagecard> i dit HTML-dokument, næste parameter er navnet på klassen, hvor din komponentlogik lever.

Tilbage på linje 1 importerer jeg stylesheetet, bemærk den nye syntaks. Tidligere kunne du skrive assert istedet for with, men den notation er deprecated.

Så opretter jeg en klasse SJImageCard, der danner grundlag for min komponent. Klassen skal nedarve fra HTMLElement for at få de rigtige egenskaber. I constructor'en skal du huske at kalde super()-metoden, for ellers bliver constructor'en i HTMLElement ikke kaldt på rette tidspunkt.

ConnectedCallback-metoden kaldes så snart ens komponent indlæses af browseren, så det er der, du placerer hoveddelen af din kode. attachShadow-metoden laver en ShadowDOM for din komponent, der er separat fra browserens "hoved"-DOM, og det er her, du så laver din komponents indre logik. Jeg tror umiddelbart resten af koden er selvforklarende. Ellers imødeser jeg en sur besked på Mastodon ;)