@jk@mastodon.social cover

i made that mastodon boop sound

This profile is from a federated server and may be incomplete. View on remote instance

@jk@mastodon.social avatar jk , to random

whenever someone says "im writing my own game engine" im like wow that sounds really cool, i wonder what new ideas they're going to implement in their game engine, new ways of making games, new ways of playing games. etc. and then i look at the screenshots and what they've made looks like this

@Ronflaix@mastodon.gamedev.place avatar Ronflaix , to random

Ah crap, looks like my camera frustum culling broke some time in the past and I don't know why.

jk ,
@jk@mastodon.social avatar

@Ronflaix in 1480 AD it was da vinci who said "all that we paint has pyramids to the eye", ergo, that which does not have pyramids to the eye, we do not paint

@jk@mastodon.social avatar jk , to random

over the last few years ive been puzzled at a lot of the stuff i've seen come out of mozilla. there's just like, very little explanation for all the unforced errors and cringe messaging and like, weirdly just doing exactly the wrong thing in bizarre and novel ways and not even profiting from it. something about that "join the rebel alliance of better AI" thing has finally brought me clarity. perhaps they're just really stupid

@jk@mastodon.social avatar jk , to random

doom (1993) has a game mechanic called "very tall bullets"

@jk@mastodon.social avatar jk , to random

for decades, actual real people have been producing slop. garbage art and entertainment, lazy journalism. we hope the heart of humanity is full of light and joy, we fear it may be dark and full of hate, but the suggestion that it is actually a dull grey is unimaginable. that an actual real person came up with, and continues to say, things like "synergize" is unbelievable. it can't be true. craving a better explanation, a more palatable excuse, we invented something we're now calling "AI"

@jk@mastodon.social avatar jk , to random

this is my friend Rocky. he seems to enjoy doing this. he will keep jumping back on my hand and make his little abrupt ‘coo’ sound until we do this. i think he is a gamer. i think this is a sort of gamer challenge to him

video/mp4

@jk@mastodon.social avatar jk , to random

often when you see messaging like "we all need to do our part" it's a kind of cynical justification for cutting some essential, centralized, mostly-efficient public service in favor of an ad-hoc, individualist approach that externalizes the issue and disclaims responsibility for neglect and poor outcomes. if you protest such a change, or suggest that perhaps some problems are better dealt with collectively by pooling resources, then it must be you who are lacking the collective spirit!

jk OP ,
@jk@mastodon.social avatar

you will see things like "plans for recycling center abandoned" and "sanitation workers vote to strike over low pay and poor conditions" and "campaign launched to encourage recycling" and "water company admits wastage due to underinvestment" and "here's how you can save water and Save Our Planet"

jk OP ,
@jk@mastodon.social avatar

this specific form of greenwashing is so successful and has basically normalized the idea that we should be satisfied with a gradually-worsening quality of life. people will genuinely get angry with you if you bring it up, and point to leaflets with stock photos of immaculate, smiling actors who are overjoyed to have remembered to switch off the water while brushing their teeth, rather than perhaps the idea that somebody needs to be paid a living wage to fix the pipes, or dig a new reservoir

jk OP ,
@jk@mastodon.social avatar

every 5 years the spokesman of the You Can Recycle! trade organization says "no seriously we can actually recycle plastic now, so remember to recycle plastic" and you recycle plastic and then 5 years later there's a video of your empty coca cola bottles and your aunt's labubus and a couple of hundred thousand blu ray boxes all on fire on a riverbank. and the new spokesman of the You Can Recycle! trade organization is like "we promise this won't happen again" and the old spokesman is now at Exxon

@jk@mastodon.social avatar jk , to random

when i was about 15 they called us into the school assembly. “theres this new thing, called cyberbullying. its bad. so if youre thinking about being cyberbullied — don’t!” and then a guy from the National Campaign Against Cyberbullying gave us leaflets titled “don’t be bullied - it’s a crime”. the week after that, someone from the National Campaign Against Poverty gave us these little bracelet things. if we all wore them, it would make poverty history. i think maybe only some of us wore them

@jk@mastodon.social avatar jk , to random

just noticed at some point between 4.4 and 5.0 Blender changed the "tab" shape to be "button"-shaped rather than "tab"-shaped, like firefox and google and everyone do now. oh no!!! this is the first fundamental UI design regression i've ever seen in Blender. genuinely the UI has consistently got better with every version, but now maybe the "nothing means anything anymore" UI approach is lapping at their shores too. it's tiny, maybe like 5 pixels. but thats how it starts. very worrying

jk OP ,
@jk@mastodon.social avatar

boxes with text in them, with bevels/rounded corners on all sides implies a button which performs a single one-shot action. boxes with text in them, with bevels/rounded corners on one side only (e.g. the top) with the other side visually connected to a larger pane implies a tab, which persistently changes the mode of the larger pane, selecting which information to display in it. if you just make both widgets look the same, you've created ambiguity and made the software harder to reason about

jk OP ,
@jk@mastodon.social avatar

at some point between the xerox alto and the xerox star, this stuff got figured out. by the lisa it was like 80% done, by the mac it was 90% done, and by windows 95 it was 100% done. i feel like the shit i'm seeing on a daily basis is going back to circa 1977 GUI standards at best

@jk@mastodon.social avatar jk , to random

ideas never truly die, they just go moldy

@jk@mastodon.social avatar jk , to random

each day i sit in front of the computer and open this thing and i can meet all these various animals and creatures and critters on here. all through the internet. orwell didnt predict that. did he. huxley didnt predict that. as far as im concerned, the only decent, accurate prediction of our daily reality is Digimon

@jk@mastodon.social avatar jk , to random

many tech products were finished and then they kept 'innovating' until they were ruined. imo when a piece of software is over 15 years old, it should be legally removed from the custody of the rapacious american startup-turned-corporation whose uncompromising unsentimentality originally birthed it, and instead given to a medium-size, 120-year-old german company with modest annual revenue growth and 80 employees who produce a type of tube that goes inside air conditioning units of freight trains

@jk@mastodon.social avatar jk , to random

2050 predictions:

  • "number liquid"
  • gourd pets
  • new drug promises 2, 1, or 0 of your ears may get longer
  • laundry kink successfully created by major brand
  • roads move while cars stay still
  • ear lengthening drug has massive abuse potential
  • billy joel is 101 years old
  • Dr Epsilon (major political figure) wants to "send your poo to space"
  • more houses being built but architecture much more squiggly/snakey
  • music getting horrible. nobody likes it
  • more lamps, but thankfully not too many
@jk@mastodon.social avatar jk , to random

an old paradigm: "the user will specify their problem to the computer, and how to compute the solution"

software did get more user-friendly: "the computer will ask the user what their problem is, and then compute the solution"

but then came Big Data and The Algorithm: "the computer will guess what the user's problem is, and then compute the solution"

this implies a final stage, which we have recently arrived at: "the computer will guess what the user's problem is, and then guess the solution"

@jk@mastodon.social avatar jk , to random

game: now you need to kill this man

gamer: kills the man

game: look what you’ve done. his children are now orphans

game journalist: an emotionally resonant work that explores the power of our own decisions and their consequences. this wouldnt be possible in any other medium

@jk@mastodon.social avatar jk , to random

getta loada this guy

video/mp4

@jk@mastodon.social avatar jk , to random

you can prompt The Model to produce a particular kind of image, and it will search the latent space of the motifs and structure of dozens or millions of artists. what it does with those connections is interesting. it could identify the themes, the artists, and their works, to help you learn about them, or even hire them. it could build bridges between people. but the version that was built? it wasn't that. it was a wall, an intermediary, to enclose and extract. like most recent social technology

@jk@mastodon.social avatar jk , to random

if you:

  • have brown or dark-brown hair
  • are empathetic
  • demonstrate a robust response to social rewards
  • are sensitive to noise and odors
  • are more likely to bite
  • drink alcoholic beverages voluntarily

you might be:
laboratory mouse strain C57BL/6

@jk@mastodon.social avatar jk , to random

the tech company is certain. "cats want to know what time it is!". they design a wristwatch for cats. a watch, to tell cats what time it is. but adoption is poor. cats aren't using the product. "actually, cats just want to know whether it is time for dinner". a new streamlined version, to tell the cat whether it is dinner time. still no success. billions wasted. more research. "it seems cats just want to eat dinner". theres no tech solution to this. whole department is laid off. cats still unfed

@jk@mastodon.social avatar jk , to random

if you want to learn how to make something really successful, you can read up on the success of others. how did the software company come to dominate? founder's dad was a specialist in corporate and technology law. how did the band get so many hits? frontman had been a music journalist. how did the acclaimed game secure funding? writer worked at a private equity firm. simply be these people and you will be successful

@jk@mastodon.social avatar jk , to random

as i'm hoping to move to linux fulltime in the next couple years, i'd like a flowchart of how to fix things on linux. i've never really figured it out. on windows it's like. go into control panel. go into device manager. go into program files and delete something. but on linux it's hard to even work out what software is running on your computer, let alone which thing is causing the issue, let alone how to fix it, let alone whether the fix will break again the next time you update some package

@jk@mastodon.social avatar jk , to random

a high-profile software project proudly announcing that it's going to start "using AI" is basically the same thing to me as seeing a big "this repo is archived" banner. perhaps even worse in some respects? intentionally or not, the message it sends is "we don't really enjoy programming and we don't want to work on this anymore, but rather than retire the project we're going to do a really lackluster job from now on". like if your favorite coffee brand proudly announced "now 20% more sawdust"

@TomF@mastodon.gamedev.place avatar TomF , to random

I'm teaching myself how to do pixel art, and I got Aseprite, which is fantastic. So I have the game already - and it's fun - but it's using art I "borrowed". But that gives the right idea on size - I can go a few pixels over or under.

Anyway, I was sketching away in Aseprite and I got a reasonable looking outline (no shading yet), and I thought "how far off am I on size?"

My sketch: 96x40 pixels.
Game needs: 24x12

Derp. You have no pixels. None. It's all in the shading. Make every one count.

jk ,
@jk@mastodon.social avatar

@TomF when I was too tired to write code, I used to go through mindlessly indenting and tidying the existing code. but ever since the IDE has got good at doing that for me, when it hits 1 AM now I feel lost and confused, and might even do something crazy, like go to bed

jk ,
@jk@mastodon.social avatar

@TomF I suppose it's like managing a team of people who are me at different times of the day. for example, me-who-has-finally-had-lunch has quite a different skillset and overall outlook to the unknowable and perplexing me-who-hasn't-had-lunch-yet

@jk@mastodon.social avatar jk , to random

The process has terminated.

And that's right!! It's that time again!
Get ready for your
PID 47182 WRAPPED!!!

Starting off strong with a banger from KERNELBASE
Your No. 3 most-called function... GetExitCodeThread

You know a classic when you see it.
Back on the grind, and sweating it out,
with a well-earned second-place...
MatrixMultiply!

But it's clear, blocking means a lot to you.
The function where you spent 31.46% of your time...
Your No. 1, is the one and only
... WaitForSingleObjectEx!!

@jonikorpi@mastodon.gamedev.place avatar jonikorpi , to random

This is actually a great point. Diegetic (yellow paint) vs. non-diegetic UI elements doing the same job, but eliciting very different reactions. Diegetic elements try to maintain immersion/presence by not feeling like UI, but maybe they actually hurt it more by “intruding” into the world like this.

(Reposted from https://bsky.app/profile/adamtots.bsky.social/post/3m5uymo6h5c2a because it wouldn't embed properly)

Comic showing a modern game and an old game, both 3rd person shooters in sewer levels. The modern game has highlighted interactable things with yellow paint. The old one uses sparkles and throbbing arrows. Upset modern gamer depicted between them, saying “Aww man! They added yellow paint to this remake…” and “The original didn’t hold mu hand like this int he ‘90s!”

jk ,
@jk@mastodon.social avatar

@lritter @jonikorpi yeah, making that kind of communication with the player diagetic has so much potential for enriching the game world’s aesthetics or meaning, but unless you’re making splatoon or jet set radio or whatever, ‘paint’ is going to feel thematically inexplicable, a cop-out

@pisscotheque@godforsaken.website avatar pisscotheque , to random

my parents have brought forward with them many old fashioned ideas and peccadillos that i find charming and worthy of some kind of preservation, but not among these is their belief that if a chair or mattress is comfortable it is somehow dangerous

jk ,
@jk@mastodon.social avatar

@pisscotheque my nan has a belief that one must not eat eggs two days in a row. if you had any number of eggs yesterday, im afraid you can't have any today. even my mum seems to feel that there might be some truth to it. nan was, after all, a nurse in her younger years. yknow in the early 50s. in britain. where eggs were literally still rationed until 1954

@jk@mastodon.social avatar jk , to random

wait thats not steam

ALT
@jk@mastodon.social avatar jk , to random

when you uninstall the graphics driver the gpu should pop out of its slot like a toaster

@jk@mastodon.social avatar jk , to random

i was trying to remember what 'Inside Out' was, and some part of my psyche offered the following: "isnt that the pixar movie, like that one that's disco elysium for kids"

@jk@mastodon.social avatar jk , to random

this is how i program at the moment

ALT
@jk@mastodon.social avatar jk , to random

you: ive made game running on windows using C++

me: cool

you: ive made game running on website using javascript

me: cool yeah that normal

you: ive made game running on windows using javascript

me: im sorry thats not proper

you: ive made game on website using C++

me: i dont understand your bullshit any more im sorry. good bye

jk OP ,
@jk@mastodon.social avatar

you: ive got it to run using emscripten. ive got it to run using webgpu. ive got it to run using webgl. ive got my game running on WebAssembly. ive got my threading on my game running on WebAssembly Workers. ive got my game render on a canvas

me: ohhh is that so you can run the game on a McDonalds Self Service Kiosk????

jk OP ,
@jk@mastodon.social avatar

@aeva youve inspired me and now im thinking of replacing all the python environments on my pc with micropython

@lritter@mastodon.gamedev.place avatar lritter , (edited ) to random

think i'm going to try procedural music in datalog today. no better way to figure out what i need. soufflé is very low on functional stuff so i might have to write bindings. also, support for writing wavefiles.

jk ,
@jk@mastodon.social avatar

@lritter i think the way id do it is a bit terser & more ergonomic & less error prone

@jk@mastodon.social avatar jk , to random

making your own game engine? dont forget you need the following features:

  • dear imgui interface
  • extremely physically correct rendering
  • complex build system. ninja build system. ninja inside cmake
  • elegant clean code ONLY
  • recreate unity exactly but worse
  • all test assets are boxes in primary colors
  • create your own Vec3 structs
  • recreate unreal engine exactly but worse
  • templates. metacode
  • support only obj models
  • write your own .obj parser
  • recreate godot exactly but worse
jk OP ,
@jk@mastodon.social avatar

@lritter i think the reason those features, in aggregate, conjure a sense of Doomed Project is that there’s no net direction or intent or objective they seem to be pointing towards, other than “spread the codebase out in every direction equally”

jk OP ,
@jk@mastodon.social avatar

i think the main reason to make your own tools from scratch (e.g., a game engine) is that you can make the tools very closely satisfy the specific creative methods and impulses you have. it seems for most people who are 'making their own game engine', the creative impulse is 'to make a game engine' rather than 'to make a game', so naturally the tool becomes focused on that purpose only: making itself

jk OP ,
@jk@mastodon.social avatar

i believe a lot of open source software projects actually end up like this, to some extent. the people who are motivated to develop software often care most about Develop Software than Use That Software. it's why linux is a perfect operating system for people who want to make linux

jk OP ,
@jk@mastodon.social avatar

@lritter @wilbr i think its part of the desire to contribute to the world, but within the constraints of a Format. hence you go on google images and type in "<name> the hedgehog". or making a doom wad. or writing a sonnet. when "game engine" means "3d view and a properties panel on the left and 'prefabs'" then "you can make a game engine" becomes "you can make exactly one of those, but it's all yours, it's your one of those"

@jk@mastodon.social avatar jk , to random

if you were sent back in time to any year in history, and you had to make the most 'advanced' video game, targeting an unmodified hardware platform that was on sale during that year, which year had the most technical low-hanging fruit? where "quantity of low-hanging fruit" = "how many years forward in time from that year would be required for those technical advances to be mainstream" multiplied by "the size of the install base of people who currently own that hardware platform in that year"

jk OP ,
@jk@mastodon.social avatar

@Ronflaix has he found a use for the 9th bit yet

jk OP ,
@jk@mastodon.social avatar

@Ronflaix excited for the N64 port of RAGE