K

Ken Silverman

advsys.net · Personal blog · on HN since 2009

Ken Silverman, creator of the Build engine behind Duke Nukem 3D, hosts his voxel engines, tools and projects on his personal site.

What HN saysHN links it for the Voxlap voxel engine demos and for KZIP, a very tight ZIP-compatible compressor; commenters note Carmack's praise of his programming.
44HN people shared it
34linked it in comments
11stories submitted
49story points
4 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Utils
    10 people · first shared 2009
  2. 2
    Ken Silverman's Voxlap Engine
    9 people · 4 points · first shared 2011 · 1 comments on HN
  3. 3
    Ken Silverman's Official Home Page
    4 people · 23 points · first shared 2022 · 3 comments on HN
  4. 4
    BUILD2 Demo and Tools
    4 people · 8 points · first shared 2018 · 1 comments on HN
  5. 5
    Build
    4 people · first shared 2016
  6. 6
    Ken Silverman's PND3D engine
    3 people · 8 points · first shared 2014 · 1 comments on HN
  7. 7
    Ken Silverman's Projects Page
    2 people · 4 points · first shared 2017 · discussion on HN
  8. 8
    Ken Silverman's Official Home Page
    2 people · 2 points · first shared 2010 · discussion on HN
  9. 9
    Pngout
    2 people · first shared 2011
  10. 10
    Carmken
    2 people · first shared 2020
  11. 11
    Add 128
    1 people · first shared 2017
  12. 12
    Cave.zip
    1 people · first shared 2013
  13. 13
    Voxlap03
    1 people · first shared 2013
  14. 14
    Voxlap05
    1 people · first shared 2015
  15. 15
    Mrein
    1 people · first shared 2016

What HN people wrote when they linked it

shultays · 2021-09-25
Wow, very impressive. Made me remember this, which is one of favorites: http://www.advsys.net/ken/voxlap.htm It has destructible scenes, physics and even some gameplay. Much smaller & simpler scenes and not as good looking though. But pretty good for a 15 years old project!
westoncb · 2020-12-30
Apparently John Carmack thought highly of Ken's programming, too: "Carmack: Well there's a big difference between who I consider the most talented and who I would necessarily hire, because you have to hire people that fit right. If I had to pick who I think is just the most talented, it would probably be Ken Silverman, the guy that did the BUILD engine. He does engines and tools. He's great as an editor. He writes all the code for everything, and he's just extremely talented. I think it was 3D Realms' worst decisions not to coddle him, or whatever it took, to keep him on board. I think if he was still working directly for 3D Realms, they would have a Quake-type game shipped by now, just because he's extraordinarily good." http://advsys.net/ken/carmken.htm —and he's now working on the voxel display project that was on HN yesterday: https://news.ycombinator.com/item?id=25549717
jaclaz · 2020-03-07
As a side note, one of the "tightest" ZIP compatible programs around AFAIK, Ken Silverman's KZIP: http://advsys.net/ken/utils.htm Worth of note is also ZIPMIX that in a few cases is very useful.
gavanwoolery · 2017-03-10
I also highly recommend this piece by the same author: http://fabiensanglard.net/duke3d/build_engine_internals.php (skipping to page 2 which I think is more interesting) The software renders of yore actually got me thinking about them in a modern context, how they could be extended, and in what ways they could compete with GPU-based algorithms on a per-cycle basis. I think there is still much area to be explored here, given we mostly stopped researching realtime software rendering as GPUs became dominant - I think there is a lot of unexplored area left. Also one piece of software I think is severely underrated is Ken Silverman's Voxlap: http://advsys.net/ken/voxlap.htm Released in 2002, it was way ahead of its time.
BatFastard · 2015-07-31
Looks great. What does concern me is the VERY limited view distance. I assume this is a micro-voxel engine. So that in that small space there are millions of voxels. Scaling that up to give a reasonable draw distance is a challenge I have not seen anyone live up to yet. If you like this style of engine check out http://www.atomontage.com/ and Ken Silvermans http://advsys.net/ken/voxlap/pnd3d.htm Keep up the good work.
highCs · 2013-12-09
This demo drew attention a lot in the game industry. Also, there is no mention to it in the nvidia paper but another noteworthy voxel terrain demo was the cave demo (voxlap engine) from Ken Silverman (3D realms / Duke Nukem 3D 'Build' editor) [1]. [1] http://advsys.net/ken/voxlap/voxlap03.htm
JonnieCache · 2011-03-17
I get best results with pngout http://www.advsys.net/ken/util/pngout.htm
chaosmachine · 2010-04-26
You're right, these guys just don't know how to create indexed PNGs properly. I ran their originals through Photoshop, with 100% dither at 96 colors, then used pngout (the best* png compressor), and came out with better looking, smaller files. * http://advsys.net/ken/utils.htm
miles · 2009-06-27
After running PNGSquash on a directory containing 10 PNGs totaling 456KB (which had already been optimized with pngcrush from the command line), it shrunk them to 432KB using the smallest squash level. The processing time was around 4m20s on a MacBook Pro with 3GB RAM. A similar tool is ImageOptim http://pornel.net/imageoptim/en , an open souce GUI for the following PNG / JPG optimizers: AdvPNG, OptiPNG, PngCrush, JpegOptim, jpegtran, and optionally PNGOUT. Just curious about PNGOUT - did you get permission to bundle it with your app? Their license http://www.advsys.net/ken/utils.htm#pngoutkziplicense seems pretty restrictive: "Redistributing, repackaging, or reusing the PNGOUT or KZIP executable is prohibited without the express consent of Ardfry Imaging, LLC, and a formal business agreement."
TeMPOraL · 2020-12-29
This reminds me of my favourite Windows application ever: EvalDraw. It's like this, except that beyond drawing single-argument f(x) -> y functions, it also draws f(x, y) -> z heatmaps, f(x, y) -> (R, G, B) colored heatmaps, f(x, y, z) -> (R, G, B) volumetric 3D graphics, and all these have also a f(..., t) -> ... variant for animations. And then you dig in and discover it somehow also has keyboard & mouse input handling, can play sounds (and can be used for live procedural music), simulate a piano keyboard, and probably a bunch of other stuff I'm forgetting. It was my go-to tool for visualizing any kind of math back during the university years. In fact, I just took a look at it again (after not using it for years) and I discovered it has networking capability, IDE features, and - I kid you not - it seems to compile the scripts down to native code, offering a helpful x86 ASM output in the built-in debugger. It can dump executables, has bindings to OpenGL and support for old-school VR (colored stereoscopic, NVidia 3DVision). All in an executable that weighs 746 KB. It's hands-down one of the most impressive pieces of software I have ever seen. http://advsys.net/ken/download.htm#evaldraw EDIT: And if you give it a try, be sure to check some of the ridiculous amount of examples it comes bundled with, which include games, explorable explanations, infinite calendars, optical systems simulations, and a whole host of other stuff.
MrDOS · 2026-05-19
Ken Silverman (of Build Engine fame) has written a few deflate-centric compression utilities[0]. The PNGOUT recompressor is the most famous of these (and is very good – it practically always beats OptiPNG), but the suite also includes a .zip archive recompressor called KZIP. I'd be curious to see how ZIP Shrinker compares to this tool. [0]: https://advsys.net/ken/utils.htm
WithinReason · 2025-02-25
check out kpic from Ken Silverman: https://www.advsys.net/ken/utils.htm
KronisLV · 2024-05-19
What a cool person, also it was interesting to see the list of various computers used throughout the years! I also think the VOXLAP engine was used in this one indie game called Ace of Spades, at least before it changed hands: https://web.archive.org/web/20161031124717/https://www.rockpapershotgu… and http://advsys.net/ken/voxlap.htm I'm mentioning this because that game had a lot of charm (like Sub Rosa also did), but also because it was immensely cool to see large voxel worlds rendered on the crappy laptop I had at the time without it breaking a sweat.
Ericson2314 · 2024-01-08
Before I really knew how to program, I tried to port http://advsys.net/ken/voxlap.htm to Linux: https://github.com/Ericson2314/voxlap It was written in the same C / inline assembly style. Unfortunately seemed to me like the final ASM didn't quite do the same thing as the original C.
Minor49er · 2024-01-02
Ken Silverman, creator of the BUILD Engine, made MP3PC.exe that's still hosted on his Utilities page. I'm pretty sure I used this on a 486 years ago and was surprised at how well it worked, though it apparently is picky about MP3 encodings. From the description: > MP3PC.EXE (73,483 bytes): Got no sound card? MP3PC plays MP3 files through your PC speaker! For some reason I like to make programs work through the PC speaker. Some people still don't know that it's possible to play real sounds through it. Unfortunately, you must run this in pure DOS mode for it to work. His Utilities page can be found at: http://advsys.net/ken/utils.htm
rzzzt · 2023-12-30
I'm also thinking Novalogic games and Voxlap: http://advsys.net/ken/voxlap.htm
willvarfar · 2023-06-15
Duke Nukem 3D was built on the 'build' engine, which was built by a super cool 18yo called Ken Silverman http://advsys.net/ken/ . Back in the 90s John Carmack was asked "If you could just hire anybody from the 3D world, who would you hire?", and he named Ken http://advsys.net/ken/carmken.htm
bluedino · 2021-03-19
Ken Silverman started working on the Build engine in 1993...seems like forever ago. http://advsys.net/ken/build.htm
pjmlp · 2018-07-31
Ah sorry, I had my head on Unreal. It was a mixture of C and QuickBasic. http://advsys.net/ken/build.htm
psuter · 2016-06-23
From [1]: > 08/24/1993: Ken signs employment agreement with Apogee Software Productions. A special provision on the contract says that Apogee cannot interfere with Ken's education. Inferring from the first entry in the timeline, he must have been 17 or 18 then. [1] http://advsys.net/ken/build.htm
frik · 2015-07-04
A huge problem are the game engines. Traditional state of the art game engines have mainly static worlds for performance reasons (Unreal, ID Tech, RAGE, Valve Source, etc). Voxel game engines like Ken Silverman's Voxlap (http://advsys.net/ken/voxlap/voxlap05.htm ), Infiniminer, Minecraft and Lego Worlds have a dynamic game world where everything can be changed. It's resource intensive and choosing the optimial world data structure is very important (avoid rendering invisible parts, infinite worlds, LOD). And integrating realistic infinite physics is too resource intensive. That's why you see little and only local physics. From the graphical point of view the new Lego Worlds engine is really fascination! It seems it uses advanced geometric shaders to render all the tiny Lego parts on the fly. Does anyone know how it really works and which data structure it uses?
kanzure · 2013-02-15
Voxlap is how I got my sister interested in programming. She really liked the cave blasting demo. http://advsys.net/ken/voxlap.htm http://advsys.net/ken/voxlap/cave.zip
kevinconroy · 2012-09-09
Great write up and +1 kudos to author for diving into the details. For the mere mortals out there looking to make their GIF, JPEG, and PNG images smaller (and websites faster), I highly recommend ImageOptim (http://imageoptim.com/). This Mac-only tool combines all of the libraries below to compress your images down to the (nearly if not the) smallest, cross-system compatible size. If you're Mac based, try this: * ImageOptim http://imageoptim.com/ If you're Linux based, try these: * PNGOut - http://www.advsys.net/ken/util/pngout.htm * advpng - http://advancemame.sourceforge.net/doc-advpng.html * pngcrush - http://pmt.sourceforge.net/pngcrush/ * optipng - http://optipng.sourceforge.net/ * jpegoptim - http://www.kokkonen.net/tjko/projects.html * gifsicle - http://www.lcdf.org/gifsicle/
kpeel · 2011-04-14
According to the readme, it's based on an open source engine called Voxlap, created by Ken Silverman (the guy that wrote the Duke3d engine). Here's a link: http://www.advsys.net/ken/voxlap.htm
gaustin · 2010-09-04
There is a lot of technical detail about the engine from it's creator here: http://www.advsys.net/ken/default.htm I have to note that Ken's story is one of the things got me into programming as a kid, back when DN3D was still fresh.
meese_ · 2009-06-27
The processing time was around 4m20s on a MacBook Pro with 3GB RAM. Is this good or bad? One possible speedup I could use is to compress more than one image at a time, although the progress indicator would probably have to become asynchronous. Just curious about PNGOUT - did you get permission to bundle it with your app? Their license http://www.advsys.net/ken/utils.htm#pngoutkziplicense seems pretty restrictive: "Redistributing, repackaging, or reusing the PNGOUT or KZIP executable is prohibited without the express consent of Ardfry Imaging, LLC, and a formal business agreement. No I didn't, thanks for pointing this out. I'll remove it for now; didn't realize their license had that restriction. That's pretty lame :\.
akirk · 2009-06-16
PNGOUT (http://advsys.net/ken/utils.htm#pngout) and PNGCRUSH (http://pmt.sourceforge.net/pngcrush/) are similar utilities that can compress PNG files even further. The idea is that you do all your invasive stuff (like reduce colors etc.) in Save for Web in Photoshop (or similar) and then let one of the two programs do its job, which will visually not alter the image.
programmarchy · 2026-07-10
Might have been Ken Silverman. https://advsys.net/ken
cr0sh · 2019-03-07
But technically this is a "voxel editor" - because originally "back in the day" - voxel engines (those few that existed) rendered everything with pixels. With a bit of googling, you can find some of these engines - here's a start - Ken Silverman's VoxLap (if you don't know who he is - then I haz a sad): http://advsys.net/ken/voxlap.htm Note that these are not "small 3D cubes" - they are literally just pixels. It was a technique that was explored in the 1990s during the whole DOOM era, but machines weren't able to render fast enough, and 3D cards just kept getting better - and here we are today. Again - you can find more than a few of these examples from the time, but the tech of the day just wasn't fast enough. Editors for voxel objects didn't exist - but they didn't really need to, because regular 3D editors could create the objects. Which makes me wonder how well those old engines would work today, if this "sprite stacking" thing works well. As I recall back then, the demos I recall seeing weren't terrible, they just weren't up to the performance levels needed for a game engine... EDIT: Some more detail and history: https://killscreen.com/articles/meet-the-voxel-pixel-cousin-betamax/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close