Live data from Hacker News

Black Triangles (2014)

rampantgames.com

11–20 of 79 posts

Re: Black Triangles (2014)

#11
> It wasn’t just that we’d managed to get a triangle onto the screen. That could be done in about a day. It was the journey the triangle had taken to get up on the screen.

If anyone wants to experience something like that today, just follow an introductory tutorial on Vulkan programming. Vulkan is a programming model that gives so much low-level control directly to programmers. As a result, this "Hello Triangle" example became (in)famous for its need to implement a skeleton of a full 3D engine in thousands of lines of code before you can render a triangle on the screen.

https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Base_co...

Re: Black Triangles (2014)

#12
post #6

It helps to know that under the hood almost every serious game is a complete more-or-less real time operating system with its own IO, scheduler, memory management and various sub-processes relating to output generation and so on. It was only after I wrote a couple of games that I realized that extracting this OS component would be worth the effort and after that making new games went substantially quicker.

I don't consider it an OS if it needs an OS to run. Something like a "Ship can carry a boat, boat can't carry a ship" rule.

I'm fine with that. I did eventually 'unplug' that game os to the point that it would run standalone on bare metal by adding a couple of hardware drivers.

The point was: to make a game function you have to perform the bulk of the functions that an operating system performs and the similarities are greater than the differences.

Re: Black Triangles (2014)

#13
post #6

It helps to know that under the hood almost every serious game is a complete more-or-less real time operating system with its own IO, scheduler, memory management and various sub-processes relating to output generation and so on. It was only after I wrote a couple of games that I realized that extracting this OS component would be worth the effort and after that making new games went substantially quicker.

I don't consider it an OS if it needs an OS to run. Something like a "Ship can carry a boat, boat can't carry a ship" rule.

Well, Windows / Mac / Linux needs the Bios (or whatever we call it today) to run.

If you can't call those "OS"s, than what really is an OS?

I guess it's turtles all the way down.

> almost every serious game is a complete more-or-less real time operating system

Games tend to have very different requirements and different demands from the OS; they tend to regulate the OS to being (mostly) a hardware abstraction layer. In the late 1990s and early 2000s, it was a lot harder to run games on Windows NT versus Windows 9x because DOS was a lot better at getting out of the way of games.

Re: Black Triangles (2014)

#14
post #13

Earlier quoted context omitted.

I don't consider it an OS if it needs an OS to run. Something like a "Ship can carry a boat, boat can't carry a ship" rule.

Well, Windows / Mac / Linux needs the Bios (or whatever we call it today) to run. If you can't call those "OS"s, than what really is an OS? I guess it's turtles all the way down. > almost every serious game is a complete more-or-less real time operating system Games tend to have very different requirements and different demands from the OS; they tend to regulate the OS to being (mostly) a hardware abstraction layer.…

And I wrote that stuff in the 80's, when your typical 'OS' on a computer was much closer to what a BIOS is than an actual operating system. Usually the games were far more sophisticated in terms of what their internal services provided than the equivalent OS services. The most the BIOS usually did for you was to boot your game code, change graphics modes, handle the keyboard and read and write raw media. Everything else you had to do for yourself.

Today there are far more levels of abstraction, especially when you use the various 3D engines or other large frameworks. But essentially those have taken over the role of a lot of that OS-like code.

Re: Black Triangles (2014)

#19
post #6

It helps to know that under the hood almost every serious game is a complete more-or-less real time operating system with its own IO, scheduler, memory management and various sub-processes relating to output generation and so on. It was only after I wrote a couple of games that I realized that extracting this OS component would be worth the effort and after that making new games went substantially quicker.

[deleted]
Post reply on HN