Hacker News new | past | comments | ask | show | jobs | submit login
How DOOM fire was done (fabiensanglard.net)
637 points by ingve 81 days ago | hide | past | web | favorite | 115 comments

GameHut put together a similar effect for the Genesis/Megadrive: https://www.youtube.com/watch?v=rnCPBcSRt7Y

Iguana! omg I still remember their hearthquake demo. It inspired me to become a developer

Question: is the effect in the article exactly the same as Jare’s with some parameter tweaks? The one in the article is pixelated and sharp from top to bottom, while all the pictures in the links you shared have a lot of blur in them that varies from top to bottom. I’m curious what the relationship is between the two effects, is the blur just optional?

No, this effect is not the same, although of course the underlying ideas are the same. The original was a more straightforward spread + cool, with IIRC a rather strange random component added for the cooling. Fabien's post describes a process with very explicitly random factors. My original was also 80x50

I ported this effect to Pascal in Delphi, and won first place on the "Set the World on Fire" contest by Borland. Good Times!


Neat, what prize did you choose? I'm guessing the Delphi Pro?

If I remeber correctly it was Delphi 3 at the time. I loved Delphi, but I only got proficient on it thanks to Marco Cantu's "Mastering Delphi" book. I don't know what I would think of the book today, but it was a huge help at the time.

I love these DooM posts on my holiday break. There is some kind of mindfulness - zen like - ie. anti-stressing - reading about something so directly fun, trivial and specific.

The mobile view of this website is an absolute pleasure to see. I’ve not really had a reaction this powerful before. The site is gorgeous to look at and the content is unhindered by poor design.

I’m impressed!

Thanks! Since I wrote the book I try to take extra-care of the overall typesetting. I have an iPad Pro that I use to benchmarks the overall "appeal" of each article.

For a time I considered writing only one-pager that would entirely fit on an iPad screen without need to scroll (like an actual granite tablet). It is unpractical but keeps coming back to me every times I scroll down.

Yes! it's amazing how ergonomic it can be when one focuses on typography and layout instead of cramming the page with complex and superfluous navigation menus and graphics.

I am kind of surprised, at the attention and fond rememberance Doom is still getting, compared to Descent, which though released around 2 years later, appears to me much more accomplished: levels of tunnels with complex spatial arrangements, the 6dof motion, even had a sterographic 3d mode.

I'm not surprised. Descent was cool, technically superior, and it was a game I really would've loved to love. But people loved Doom and so did I.

Search for "descent speedrun" on YouTube and then do the same for Doom. The dynamics make a completely different game.

Doom's gameplay was better. Regardless of the graphics, Doom was more fun to play. Doom is actually blazing fast: not as for just rendering but for gameplay and player movement. You can zip around the levels at inhuman speeds, and this allows you to handle more enemies, swarms of them, at once. Doom is really a scary shoot'em-up in 2D while Descent was of a completely different nature.

The "real" 3D and the "real" 3D controls in Descent made moving around more difficult. Thus, the levels were created differently for Descent and it was also played differently.

Unlike Doom you wouldn't have large open spaces to contain dozens or hundreds of enemies. Instead, you would encounter a small handful of enemies at a time. Much of Quake and Doom 3 also suffered from the lack of this as the player speed is more realistic, preventing the fun inhuman maneuvres which could create a lot more fun.

Similarly the gameplay, due to moving around in 3D, meant more work at the controls of Descent. Doom is basically a 2D game which allows for faster movement as only having two axis is more easily mastered. Being unrealistically fast enabled a lot more tactics to be used in Doom. Also, most people played Doom keyboard-only back in the 90's which only served to give Doom a lot more edge.

I fully enjoyed both Doom and Descent. Doom had more heart-stopping boss moments for sure and was great for co-op run through the levels. Descent was more freeing and getting lost and found. Trying to remember your way out after hitting the reactor core was the peak of the thrill.

Of the two though, I miss Descent more. We have many 3D fps land fighting games and far fewer 6dof ones. Still waiting for the reboot Descent Underground[0] to get released. Avoiding all the early release stuff to savour the surprise.

[0] https://descendentstudios.com/

>Doom was more fun to play.

Nailed it. I remember thinking about the movement options in Descent and thinking this was the pinnacle of gaming.

... but Doom was more fun. Descent was hard to play, I remember thinking a joystick would fix all my problems of crashing into a wall and having to turn around, it didn’t.

Descent was great, but it was also much harder to play, and to build levels for, which kind of limited its appeal, IMO. DOOM hit a sweet spot of fast-paced gameplay, really cool ambience (for preteens and teens especially), and lower technical requirements (though I remember Descent's engine being quite well optimized).

DOOM was the first. Well, really Wolfenstein was the first, but it was limited to a grid. DOOM was many people's first networked game too. And the level editors were easy enough to use that they created a community.

Descent's 6dof control system rather counted against it in the days when people had keyboard, mouse and two axis joysticks. I remember struggling with it a lot, even trying two sticks at one point.

DOOM was also more memorable in its black metal aesthetic - the music and gory graphics. The E1M1 theme will stick with me while I can't remember a note of descent.

Ultima Underworld was released before Wolfenstein: https://en.wikipedia.org/wiki/Ultima_Underworld:_The_Stygian...

But Wolfenstein had lower requirements by not supporting the same amount of geometry variation.

Hovertank/Catacomb were released even earlier than the two and done with some of the same tech as Wolfenstein I believe.

Ultima Underworld successor System Shock (1) deserves mention here too. Another big step forward, and a couple of years before Quake.

Descent had a huge community in the day (and still has a community). I definitely played way more Descent (8 player multi) then DOOM (back in the days of Kali).

Any suggestion for a good descent community?

I'd love networked descent with voice chat (if that even exists!)

People still play competitive multiplayer Descent I (D1) matches nearly every day. You can download the data files from GoG[0] for under $4. The binary you want is called DXX-Retro[1] which has the latest and greatest multiplayer tweaks and fixes for competitive Descent.

Check out the Descent Champions Ladder[2] if you're interested in heads up 1v1 play. If multiplayer anarchy (like the glory days of Kali) is more your thing, check out the Descent Rangers[3], who play organized multiplayer games nearly every day. The best way to meet up with folks committed to playing multiplayer Descent is to hop on to the Rangers' mumble[4] server and start chatting.

Descent Overload[5] is a modern, fun, updated version of Descent by some of the same creators, but the focus is not on multiplayer, and as a result the experience suffers somewhat.

[0] https://www.gog.com/game/descent

[1] https://github.com/CDarrow/DXX-Retro

[2] http://descentchampions.org

[3] http://descentrangers.com

[4] mumble.descentrangers.com:6370

[5] https://playoverload.com

Thanks for this....I did not realize that Descent was still around today!

Not only that, it's getting a modernised remake:


dxx-rebirth is awesome. But we need a discord channel or something to get organized.

How do you feel about Overload?

(For those who haven't heard of it https://playoverload.com/ , it's a well-regarded spiritual successor to Descent from the original Descent creators.)

I haven't played the single player campaign, but I played maybe 50 hours of multiplayer. Overall it's fun, but one can only play the stock levels that come with the game for so long. The developers are currently focused on trying to get the game ported to consoles, and multiplayer has languished.

I may go back to it the developers ever allow for community created multiplayer levels, allow folks to join multiplayer games in progress, or begin to execute of their backlog of other multiplayer feature requests and fixes from the community.

As per initial announcement they will be shipping a level editor as a post release update, so that should improve the map situation.

I never had an issue w/ Descent's controls (IIRC, I had yaw and pitch on the joystick, left/right strafe on A/D, forward/reverse on W/S, roll on Q/E, and strafe up and down (rarely used) on tab and caps).

Once joysticks with a twist axis were a thing the twist became roll and up/down moved to Q/E).

Multiplayer Descent was _way_ more fun that DOOM, in my opinion (specifically because of the 6dof... you could sneak up on people from any direction).

Technically yes, Descent was very impressive for its time, but 1) Doom accomplished more technical feats first and 2) Doom had much wider appeal because Descent was too difficult to play. Remember this was the early days and the proper way of controlling an FPS hasn't really been figured out yet. Most players didn't even player Doom on the now standard WASD+MouseAim scheme. Descent's starting control scheme was utterly unintuitive, especially given how you had to contort your left hand around pressing A to accelerate and Z to reverse.

I remember running the Doom demo for the first time and being absolutely blown away by it. And then we discovered multi-player mode.

I’d haul my 486 box on a train to the next city just to play it, for hours into the night.

Descent never did that to me.

It was technically fantastic, but didn’t have the atmosphere, or the multi-player. And after playing for a while, it also made me nauseous. ;-)

Two years was an eternity back then. Heck, Quake was released two years after DOOM.

It is quite remarkable how fast Carmack moved their engines forward, especially given the pioneering nature of the progress in question.

Wolfenstein 3D, May 1992 -> Doom, December 1993 -> Quake 1, June 1996 -> Quake 2, December 1997

In the span of five years, they went from:

Wolf: https://i.imgur.com/1gGewDp.png

Doom: https://i.imgur.com/6CqvrLg.png

Q1: https://i.imgur.com/6wZg8NG.png

Q2: https://i.imgur.com/4Lxtg4f.jpg

The leap forward between the release dates of Doom and Quake 2 in just four years is particularly impressive.

Not to detract from your point but I seem to recall Doom being playable on PCs of the day. *

I remember some years after quake 2 was out (99ish ?) a friend showing off his new computer by actually playing quake 1 with all the bells and whistles turned on.

So yes the engines did develop quickly. Much quicker than the PCs of the day in fact.

*being school kids, these weren't gaming PCs, these were for 'homework' and 'research'.

I think the hardware was moving forward equally quickly, but there was a more dramatic spread between the low and high end of the installed base. People waited years between upgrades because computers were so expensive. At the same time, Moore's law really was doubling speeds every 18 months.

When Wolf3D came out in May 1992, its minimum spec targeted the installed base of 286s, and a 50Mhz 486 was bleeding edge. When Doom was released in Dec 1993, you could buy a Pentium. (And if you kept it till '96, that Pentium could manage Quake at 320x200).

I agree there was a bifurcation in the late 90s when 3D hardware acceleration arrived (see the colored lighting and texture filtering in the Q2 screenshot). Quake 1 was getting patched with hardware rendering up until Quake 2's release, likely the bells and whistles your friend showed off :)

PCs would keep up fine, but only so long as you had a 3D graphics accelerator (3dfx or similar). Since it was something that was only of use in games at the time, many builders omitted it, resulting in a large gap.

Still, Q2 was perfectly playable even on below-average PCs at the time of release, if you were willing to stick to the same resolution as Doom (i.e. 320x200).

Because I was curious, recommended specs (quick searching):

Wolf, 1992: 386, 4 MB memory, 8 MB disk

Doom, 1993: 486, 8 MB memory, 40 MB disk, Sound Blaster Pro/compatible

Q1, 1996: 75 MHz+, 32 MB memory, 128 MB disk, SBP/c, GeForce 6200 LE / Radeon Express 1200

Q2, 1997: 90 MHz+, 32 MB memory, 32 MB disk, SBP/c, 4x CD-ROM, GeForce 6200 LE / Rage 128 Ultra 16 MB

Which isn't to knock the awesome folks at id at all! Just, it was a heady time on both the hardware and software sides.

Geforce 6200 LE is a card from 2004, are you looking at modern specs for the versions of the games on Steam? Quake was originally released with only a software renderer and later GLQuake was released with OpenGL support, that only really ran well initially on 3DFX Voodoo cards, although technically I think S3 Verge and some other 3D accelerators were supported. Quake 2 supported 3D accelerators at launch but also had a software renderer, like many notable PC games of the late 90s (Half-Life, Unreal tournament, Deus Ex, etc). Quake 3 was controversial in 1999 for being one of the first major PC games that required a 3D accelerator, among other things, the term GPU didn't really get used for PC graphics cards until Nvidia released the Geforce 256.

I was looking at whatever pulled up.

Most of those are on the other side of the pre-internet chasm though, so not much accurate info.

Thanks for correcting!

Q1 didn't need 32 megs. We had it running on 8. I remember working all summer to but another 8 when I was building a monster rig to goto 16 in 1998

Quake was completely playable on high end gear dx4100 and p60 was fine. Quakegl came about later.

"completely playable" usually doesnt mean 8 to 12 frames per second in 320x200

Doom was groundbreaking. It’s less about its technical achievements in the absolute — it’s about how radically different it was than what came before. It’s interesting to read about how the developers broke through previous constraints to create something that seemed impossible at the time.

Along with Descent I should have mentioned Ultima Underworld, released in 1992 itself, its 3d world is rich, full of things, varied, fully realized and large. It also allowed the player to look up and down. In fact, to my eye 3D dungeon crawling hasn't radically changed after that.

Underworld is definitely a classic. But just comparing the two, Doom still feels like a major leap forward: it’s so fluid and frenetic in comparison.

Quake absolutely blows my mind: real 3D graphics, moddability with a custom compiler (QuakeC), amazing online play (even on a modem) with Quakeworld. All of this in one game which they developed fairly quickly.

Also had Trent Reznor (Nine Inch Nails) doing the soundtrack/sound effects, which added a new dimension as well. The soundtrack just screams "this game kicks ass." I still dig it. https://www.youtube.com/watch?v=5n8iU7abqkQ

The nail gun in Quake fires “nine inch nails”, which I always thought was a nice touch.

The nailgun ammo crates had "NIͶ" on them as well ;)


I wonder how many people got into programming because of QuakeC.

For me, it came after I was already hooked, but it certainly added a whole new dimension, in a sense that you could now achieve impressive things in one-two evenings of coding that could be shown to others. I remember making the nails bounce off the walls, for example.

Doom was pure, distilled, adrenaline fueled fun. Fast and stripped down.

If Descent was an SUV loaded with feature and cup holders, Doom was a sports car focused on raw performance and driving pleasure.

Both impressive but Doom is just a visceral blast in ways that few games can match.

I’m mostly shocked that Ultima Underworld isn’t getting more attention. Not as fast paced, but if memory serves me they shipped before Doom, and did some really in depth things for the time considering the hardware and prior titles.

It was great but nowhere close to Doom in terms of frame rate and tempo which I think made all the difference.

Yes Ultima Underworld was like the modern 3d RPG appeared in one stroke, fully formed. Also it's world was full of things and NPCs one could interact with, where the Doom maps were largely empty.

You could argue that Akalabeth was the original FPS!

Indeed. I remember getting Akalabeth and it’s floppy disk in a ziplock plastic bag. Rushed home to play it on my apple //c. I was hooked. Played all the ultimas, including other origin games. In those days, I also played the original wolfenstein on the apple. It had synthesized sound for speech. That same sense of wonder and fun I experienced with these games hit me again when I played wolfenstein 3D, doom, and quake. Some of today’s games like assassin’s creed, Witcher, Zelda on switch give that same mix of emotion and fun.

>wolfenstein on the apple. It had synthesized sound for speech

"Hoo ta ta" "Ay eeeeeeeee!"

I may not remember what I had for breakfast this morning, I can remember sound effects for a computer game I havent played in 20 years :)

Edit: Thought you meant Wolfenstein 3d when you mentioned original Wolfenstein. I cant remember the sound effects for original Wolfenstein.

Guards would scream movie Nazi German snippets at you. "Achtung!" etc. Seems a bit simple now, but almost nothing else like it on the Apple II and C64 when it came out.

No, Maze War was the original FPS. Maze War came out in 1973; Akalabeth didn't come out until 1979.

Descent had that very early 3D where everything is made out of like 8 gourmand shaded polygons and a lot is left up to the imagination. Doom's pixel art just plain looked better even though it was less technically accomplished. Quake 1 suffered from the same problem, it just didn't look as good as the previous generation. Worse, drawing those polygons was a lot to ask of the computers of that era so they generally limited themselves to a small number of enemies at once, you never got swarmed the way you did in Doom sometimes.

Also, I personally found myself getting lost and turned around way more often in Descent than I did in Doom. That last part of the mission where you had to fly back to the exit before the reactor exploded was always the hardest part.

So many rehearsals pre-reactor blast... certainly the claim the Doom's play was faster paced is true, but I enjoyed challenge of navigating the 3D space of Descent. Right from the first time I played it I felt committed to mastering 6dof.

Descent, compared to Doom, was ugly but way more cerebral.

While descent was a technical marvel, it didn't have the atmosphere of doom and I think the 6DOF movement scheme deterred many from playing it as the levels got confusing.

Confusion and getting lost in a 3d maze was part of the game.

In some ways it reminds me of Slime World - mapping the world in your head becomes an important feature.

This does not seem to be the case with newer games, as if most players didn't like "finding their way back" to a place they have visited before, and prefer a linear progression instead.

Yes and no.

    This does not seem to be the case with newer games, as if most players didn't like "finding their way back" to a place they have visited before, and prefer a linear progression instead. 
People don't mind the backtracking so much -- the "Metroidvania" genre has never been so popular! Exploration is, generally speaking, fun.

It's the tedium of making one's own maps (either mentally, or on paper) that gamers generally don't have a lot of time for these days.

> appears to me much more accomplished

Was it more fun?

The achievement that made Doom timeless probably has less to do with graphics than it does with an innovative distribution and marketing model. The Doom demo was a blockbuster. It spread in a manner that we would probably call viral today.

No, it’s definitely the graphics and gameplay. The distribution helped, but that wasn’t new - id and Apogee and others had been distributing demo “episodes” of their games going back to Commander Keen at least. Doom was a monumental technical achievement when it came out, and if you want some real perspective on that, check out the game that came out just a few weeks earlier and was considered “cutting edge” at the time: “Blake Stone: Aliens of Gold.”

As a point of interest, Blake Stone used the Wolfenstein engine with a bunch of modifications.

Descent was technically impressive.

Doom scared the hell out of me. It changed my life.

Doom was the first game that made me phisically lower my head when a rocket flew at me. Wolfenstein never had that effect. I also heard stories of people getting nauseated or even epileptical from Doom. Never from wolfenstein.

I think between these two, some barrier in believability was crossed. Part of it was technical, but the art and the darkness of Doom also made a big difference.

I tryed Descent a couple of times, but the game never catched me.

Doom was and still is unique. Very simple to play, fast and dark.

Later I loved to play Terminator Future Shock. The first game with such large and open levels for me. It was 3D and great to play. But it was slower and so the gameplay was very different.

To be technical better is just "technical better" and not "all better".

Haha - I did an mmx version of this in assembler about twenty years ago for Konstantin Boldyshev's asmutils package. Doing things 8 bytes at a time made it ridiculously fast.

Nice! I did a size optimised version in assembler for MS-DOS a long time ago myself in 173 bytes: http://www.humbug.net/projects/download/demos/js-fire7.zip It's not the smallest fire I've seen but I thought it was the smallest that still looked nice.

Very cool. Works like a charm in DOSBox.

Funnily enough - I was just watching this mini-documentary on DOOM cheats this morning before getting out of bed:


I read the Doom Black Book over the holidays and it was a real treat.


This is only for the PSX port of DOOM, not for the original DOOM.

I was very confused at first. Fire effect in doom?

>Notice that by adjusting how the fire propagates up, wind can also be simulated. I will leave that as an exercise for the readers who had the courage to read up to here.

This is what I cared to see.

The rest was not a mystery and seems like a pretty simple math/logic problem.

Although, now that I type this out, I am thinking the wind would be simple too...

Can anyone explain why the interest? I imagine there are college kids who do this type of logic.

yes, i am surprised that Fabien is doing the "leaving it as an exercise for the reader" on us. all authors have to do this at some point heh?

anyways, you see that "dst = src - randIdx + 1" line? that's what the "reader" needs to play with. right now "randIdx" is 0, 1 or 2. when it's 0, "dst" is one pixel to the right of "src", when it's 1 "dst" is at "src", and 2 is to the left. also remember we are placing it "below" because we are moving up, so we do "firePixels[dst - FIRE_WIDTH] = ...". hope that helps.

this article has renewed my interest in demo scene effects. canvas2d seems very friendly now. last time, i had a hard time with the animation boiler plate, manipulation of the canvas element and colors. colors manipulation seems to still be awful. i see Fabien had to write 15 lines of code for palette conversion. but that createjs library makes many things easier. hope Fabien can go through other popular effects... or maybe i should lol : )

Seems similar to Hugo Elias's fire effect also (https://web.archive.org/web/20160418004150/http://freespace....).

Heads up everyone, the DOOM Blackbook is 50% off on Amazon right now, which puts it down to a very reasonable $25. I just purchased it along with the WOLFENSTEIN 3D Blackbook which is also 50% off.

This effect was used on the original Unreal engine to generate realtime fire effects that looked awesome. I don't know if the actual Unreal engine supports this anymore.

Memories. Is this a lost art or do people still do this starting out? I mean now that everyone has unity to play with do people no longer have to know about the actual hardware?

These days you can implement many oldskool effects as pixel shaders, only with about a zillion abstraction layers added. Another nice and very exploration-friendly way to learn graphics programming from the ground up is the HTML5 Canvas/ImageData API which lets you put pixels into a framebuffer like it’s 1995.

Yes, this is my favourite aspect of being a web developer today, it is possible to refrain from using all the heavy weight libraries and just play with canvas and raw code... you have a lot more fun, have (almost) complete control, get to learn a lot more and the result is way leaner.

Also https://www.dwitter.net/ uses canvas + JS as the basis for it's code golfing. It's surprising what you can fit into 140 characters, and forces you to think more mathematically when creating effects.

In general, people will code to the API they have. For graphics that mostly means GPU hardware and shaders. The old raster tricks still come out from time to time, and there are reasons to software render certain effects, but there are many new GPU-centric effects that are equally diverse and clever. Experienced devs will often use third-party engines as cross-platform deployment tools and then work around whatever the engine provides. But indies are relatively more likely to engage with the higher-level systems which can lead to a certain defining aesthetic(e.g. in the era of Flash games, the built-in filters, masks, etc. got a thorough workout, even though by the end, everyone making optimized games was caching their results to bitmaps).

With audio, on the other hand, everyone will just look for fmod or an equivalent. There's rarely much time budgeted for audio and there's much less shared experience in doing it ground-up.

I have the feeling many game devs do their own engine, but yes, the new people start with a existing engine.

I think you are correct, however I also think many people at least try to roll their own, it's such great learning experience to try - touching the rendering the physics all for yourself, even if it is only primitive.

However I believe this will change in the future and we will go full circle back to people rolling their own for real world use... why? because modern real-time rendering engines are an amalgamation of hacks on how to get beleivability out of triangles and shaders, they are necessarily complex - to the extreme - and you cannot compete as an individual. However the future is clearly path-tracing or some form of ray based rendering (it's sustainable, the hardware has a future there - it's parallel), path tracing being a simpler unified model for rendering makes it's completely within the grasp of individual developers, this would open up a whole world of creativity.

Most game developers do not code their own engines. In fact unless you're doing something special (e.g. claybook, Miegakure, anything with true videos, or an unusual development pipeline/platform), it is immeasurably more economical to use an engine like unity/unreal with their large communities, asset stores, support and decent tooling. Even many 'AAA' games are now starting to use these commoditised engines (possibly with their own extensions/forks)

Uhmmm....I work for one of the top 3 largest game publishers in the world and all of our games are made using our own engines that were done in-house. Unity and Unreal Engine are only used for prototyping(with maybe one exception in Unity, but that was a small project done by a very few people).

There are a lot of "AAA" publishers that are not at the Ubisoft or EA level. Bandai Namco, for example, uses Unreal. So does Square-Enix.

I guess I've only been exposed to the independent scene (which I would assert accounts probably for the majority of releases, if not the sales volume)

That you're using a handrolled engine is fine, I'm sure your company knows what they're doing. But in the context of this post, and for people who'd like to start game development/design, saying that most devs write their own engine is in my opinion damaging, as I really don't think that most smaller studios do. It increases the barrier to entry, and perpetuates a certain amount of elitism, which really considering the make up of the industry is no help at all.

>as I really don't think that smaller studios do

A great amount of indies do. Super Meat Boy was built with a hand rolled engine. Same for Cave Story, Binding of Isaac, Terraria, Stardew Valley, Dwarf Fortress, Celeste and many other memorable titles.

It's more intense on the Japanese side though. Loads of -doujin- game developers, like the many Touhou spinoffs games handroll their own stuff.

I'd say, using a prebuilt engine ecosystem has become more common with the appearance and growth of Unity but it hasn't stopped people doing their own thing and it certainly hasn't been a solely positive contribution, you criticize elitism in the days when the Steam store pages are flooded by trashy asset flips and barely working early access games that sometimes never truly get finished. A little bit elitism would in fact not hurt if we don't want to hit another video game industry crash.

Stardew Valley and Celeste aren’t entirely custom. They both use XNA.

I would fire you for your lack of knowledge. The top 100 mobile gaming apps are mostly unity based. Top 100 on steam heavily populated with unreal and unity based games.

You'd fire somebody for not knowing what people outside of a closed-loop corporate environment happen to use?

I mean, I posted 'cause he was wrong, but this is Bad Boss garbage.

And which part of what I said disagrees with what you said? I just said how it's like at one of the top publishers in the world. I haven't said anything about anyone else or even about the industry as a whole. I guess I'm lucky you don't work in our HR department then!

> In fact unless you're doing something special (e.g. claybook, [...]), it is immeasurably more economical to use an engine like unity/unreal

Even Claybook is based on Unreal, just with heavily customized rendering and physics systems.

Lead developer: https://twitter.com/SebAaltonen/status/977195448132775936

Aren't game engines like Unity and Unreal only appropriate for first person shooters or third person adventure games? What about 2d platform games? Real time and turn based strategy games? Flight sims? Sports games? Board game remakes? You wouldn't choose a generic "game engine" for any of these, would you? Honest question, I'm not a game programmer, but as a programmer it sounds unlikely that a single package could be appropriate for so many different genres of games.

Hearthstone is done in Unity. Unity has a bunch of 2d platformer features these days.

What you're missing is that these big engines are also game development environments with extensive tools and integrated market places to purchase assets and features.

Learning Unity is learning an entire platform. It's a marketable skill.

Generally smaller developers don't have the development resources to roll custom everything. But modern platforms have enough spare hardware resources that the inefficiencies of Unity are worthwhile.

There actually has been a lot of work done to make it suitable for use cases such as 2d, racing, etc.

An engine like unity basically provides utilities such as physically based rendering, camera systems, visual editors, scripting environments, a scenegraph editor, preview windows, io, asset import and conversion, audio, etc. Some games are of course easier to make than others in such engines, but they aren't that prescriptive.

Lots of game developers roll their own game engines. Some even make game engines as their new programming language training exercise. Unreal and Unity are making inroads into AAA.

You can do the same thing using an HTML canvas element:


(not mine)

There are similar demos out there using particle effects.

Make emulators. Program for them the old school way. Win

This effect doesn't require knowing anything about hardware...

I remember coding this effect in C a long time ago. Back in the day we used to use the frame buffer as the data store too, not really feasible today!

The effect looks a little like the moon fire effect in the genesis presentation from Star Trek II

Interesting articles, infortunatly it has many typos: framebuffer is initiated full yellow, not black; pixel in code should be firePixel[src]; randomness should be applied symmetrically with rand+1 in [-1;1].

I love these kinds of articles but I also think there is a slight mistake. In my opinion it should say "upper-left is at array index zero" instead of "lower-left is at array index zero".

I don't think it matters if the randomness is not applied symmetrically and the fire moves slightly to the left. I also can't comprehend the part about the framebuffer being initiated yellow and not black.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact