HN user

Agentlien

2,703 karma

Senior Software Engineer at 505 Games.

My main interests and experience are in graphics programming and performance optimization.

https://agentlien.github.io

Posts8
Comments842
View on HN

This, coupled with fear of making mistakes in public, was the thinking which for years kept me from writing about my work. Until a comment here on HN encouraged me to just do it.

I am so happy that I listened because it seems the few people who have checked it out generally enjoy it. Most commenters have positive things to say and some have stated they learned things.

When I saw the title I immediately thought of Xbox Adaptive Controller. It's such a cool initiative.

Microsoft has a lot of really cool accessibility tools and services. For example their extensive usability guidelines, which is a massive set of documentation for how to make games more widely accessible. [0]

They also have a great service where you can submit your games to get a report with feedback how to improve accessibility.[1] I read through one we got at my last job and it was really impressive. Very thoughtful and comprehensive.

There's a hub with links to a lot more accessibility services as well. [2] Microsoft is one of the companies which really does a lot of great things in this space.

[0] https://learn.microsoft.com/en-us/gaming/accessibility/guide...

[1] https://learn.microsoft.com/en-us/gaming/accessibility/mgats

[2] https://learn.microsoft.com/en-us/gaming/accessibility/acces...

On the teams where I've worked which had a proper code review policy not understanding has been explicitly stated as a reason to pause and ask for clarification. You cannot give a pass for code you don't understand.

The Apple II was dying as a platform by the time the game came out [...] it was rereleased on PC in the US and sales picked up. You wouldn’t get that second chance today.

On a much smaller scale, I was actually part of something similar a few years ago. The game Wavetale was originally a Stadia exclusive but launched just before the platform shut down. We were allowed by Google to port it and release it for every other platform, and I ended up being one of four programmers doing that work; I mainly focused on optimizing the switch version.

The Stadia version barely got noticed, but the other versions, especially Switch, did quite well. The game was even featured on AGDQ, which was really cool.

This is a cool project and I really like the author's technical and aesthetic choices of how to limit themselves.

But what really stood out to me is this line.

a linear frame buffer where each pixel was represented by a single byte indexing into a palette of 256 colors.

Of course this is nothing new, but it just really struck me because I've been working on a blog post about texture representation on modern consoles and it is crazy how complex it has gotten: texture tiles, block compression, non-linear texel ordering (e.g. Morton order), ...

This is why, after spending my whole youth learning programming to become a game developer I had a crisis of faith and spent a few years working on something else (surgical training simulations) after graduating. I had done summer jobs at a game studio and all I saw was the leadership treating people like shit, paying almost nothing, and then laughing about how easy it was to got away with - they even did so towards me in one breath then offered me a full time contract in the next.

However, I joined EA in 2015 and have been in game development since. They offered really good pay and now at my current job I even get great pay and no overtime.

When I worked for EA (2015-2019) it was better than some horror stories I've heard, but still way too much overtime and many weekends spent at the office. The worst part that it was unpaid in exchange for an extra vacation week and then they had the gall to ask us to please not take our vacation because "don't you care about the game?".

Since then I've worked at Thunderful and now 505 Games. I haven't done overtime since I quit EA and I've been very efficient because I'm not too tired and I get peace of mind working from home.

I have a lot of friends from other countries so I've ended up doing a lot of tourist stuff together with them when they've been visiting.

It has been great, gave me another layer of appreciation for my hometown Gothenburg, Sweden.

I have had the same result when trying similar things for graphics on modern consoles. I hear so much great stuff about AI coding but in my niche it just seems to fall flat. Even just rubber ducking around graphics and performance they sound like a beginner who has read a lot of good blogs but with no practical experience.

It's working now and I have to say I love this. The whole project is whimsical and gives me a strong SCP vibe but (sometimes) without the creepypasta aspect. I was very pleased to see that articles generated from links retain the context of the page that created the link - and even refer back to the original page.

For example, the article from my original comment: https://halupedia.com/the-alien-wizard-war-of-1425 mentions the conflict arose due to https://halupedia.com/treaty-of-the-silent-orbit . The second page, once generated, mentions the significance this treaty had for the war from the first page.

update: Well, this was quite disappointing. I loaded the original site again to show a friend and it generated a completely new text with a completely different story and no reference to the second article. Would have been nice if these were permanent as I had originally assumed.

Why I Write (1946) 3 months ago

This resonates so strongly with me. Everything he wrote about how he wrote in his youth and the analysis of motivations to write is so spot on. It's also really interesting to know that he was actutely aware of the tendency to let the political propaganda weaken the storytelling, because that was something which surprised me when reading Nineteen Eighty-four. It was great, but there were moments when it felt like he dropped the pretense of telling a story and momentarily slipped into overt lecturing.

I met my wife through Dungeon Siege back in 2003. We were both teenagers and had a long distance relationship throughout our student years - meeting for a few weeks every holiday - before moving in together in our twenties.

After we both got jobs and bought a house, we decided to get Elder Scrolls Online to have an online game to play together while physically sitting next to each other. It was an obvious choice since we're both big elder scrolls fans. It was a wonderful experience and really echoed the way we met in a beautiful way.

Neovim 0.12.0 4 months ago

Regex search and replace is definitely among my most used features and the preview in NeoVim is amazing

That said, I do find myself using recursive macros quite often. They're an easy way to make a set of random little changes which would be hard to put into a solid regex. Especially when filtering and formatting logs to produce a list of error messages on a condensed format for review. It doesn't happen as often, but I also find them incredible when doing more complex substitution across a project.

Neovim 0.12.0 4 months ago

kernel panics are part of life with consumer hardware.

This isn't right. It was certainly true in the nineties, but I haven't seen one in years on Windows and I spend many hours a day in it both for work and play.

Neovim 0.12.0 4 months ago

I've been using Vim daily for 13 years and switched to NeoVim about a year of two ago. For me the main advantages over Vim are just the Lua scripting instead of Vimscript, its support for language servers, and better handling of terminals windows running inside Vim.

However, I do still run visual studio in parallel for debugging. It's basically essential when dealing with console game development.

How does an age recommendation take away liberties?

I have kids and as a parent I use these ratings as a very loose guide combined with my own experience and understanding of the game in question. Other parents ignore them completely.

I agree more could be done to directly affect the companies, and there have been a lot of legal cases surrounding loot boxes aimed at children.

But this is a good complement to that. It makes it easier for parents to get aware of the issue.

I remember this period of my own life. I had taken over my father's old 486 and spent my days and evenings trying to learn the basics of programming in C. I was making silly text based games, dreaming I'd one day be creating the game of my dreams. I also modded games by opening every content file and trying to figure out what they did and how I could modify them. I was still years from realizing game development was a career and not just a hobby.

I had replaced all the Windows sounds and cursors to customize the system so it looked and sounded like a Sci Fi system. I even patched the boot screen to be a humorous screen of "MS Broken Windows". It also was quite broken from messing with system files I didn't understand.

It was a magical period and I learned so much.

That's a really cool anecdote. The overclock makes sense. When we released Need For Speed (2015) I spent some time in our "war room", monitoring incoming crash reports and doing emergency patches for the worst issues.

The vast majority of crashes came from two buckets:

1. PCs running below our minimum specs

2. Bugs in MSI Afterburner.

Six Math Essentials 5 months ago

Six Math Essentials as a title reminds me of Six Easy Pieces. I wonder if that's intentional.