Ken Silverman's Official Home Page
I live in Rhode Island and my hobby is computer programming.
- Build Engine: (1993-1996): Used in Duke Nukem 3D, Shadow Warrior, Blood, etc.. Also visit: Build source code and test game.
- Build2: (2006-2011): A fairly complete successor to Build with some interesting new features.
- Voxlap Page: (1999-2003): Fast CPU-based voxel engine, featuring dynamic terrain in a world made of little cubes.
- Ken's Labyrinth: (1993) (The first Wolf3D clone)
- Projects Page: Other projects, both new and old, big and small.
- Utility Page: Various tools I've written over the years, including PNGOUT and KZIP.
- Kube Page: Cubic panorama viewer.
- QuickBasic Page: QuickBasic programs, ranging from silly games to hardcore test programs.
Story of my life
I am the younger of 2 brothers. I was born at midnight on the night of Halloween, 1975. My parents had a choice of birthday - they chose November 1st. I was raised in Yorktown, NY until 1980, when my dad got a job as a professor at Brown University. So our family of 4 moved to East Greenwich, RI. That was about 1 week before I started Kindergarten. My first computer was a TI-99/4A which my parents bought for $50 in December 1983 during the "after Christmas" sale. Ever since then, I was hooked! (If you're really interested in how I got started, check out this long lost newspaper article from our local newspaper in 1984)
My family got me started in programming, but several years later I was beyond their help. In school, I used to love study halls because I would spend the time thinking about code. When my brother went off to college in 1990, my hobby got a bit more serious. I made games such as Kentris, Sibros, and Ken's Labyrinth (my first game on the market) during high school. In 1993, just a month before my first semester at college, I signed a contract with Apogee software to create a new 3D engine called the "Build engine".
My programming wasn't supposed to get in the way of my classes, but I didn't do very well that first semester - I only passed 2 of my 4 classes. So I took a leave of absence to work full time for Apogee. For 3 years I worked on the Build engine. When things quieted down, I returned to college and finished in May 2000.
Since then, I've worked on many projects, such as Voxlap, Evaldraw, and PNGOUT. For a few years, I advised a computer club at my old high school. I am an advisor to a course at Brown called Embedded Systems, where the students design their own gadget and (given time) program it. In 2005, I co-founded Ardfry, which sells PNGOUTwin and a few image codecs. In 2013, I joined Voxon as a founder, where I've been working on the Voxiebox SDK and demos.
Everyone in my family works in a technical field. My dad is a professor of electrical engineering at Brown. My mom works at GTech, programming mark and character recognition for lottery tickets. My brother started his own small company, called Advanced Systems (That's what "advsys" stands for) and now he's a technical director at Atrion Networking.
- Computer programming. Favorite optimization: "sub eax, 128" -> "add eax, -128" Think about it. Or not.
- Collecting maps: I can draw the borders of all U.S. states from memory. I used to draw maps for fun in elementary school.
- Solar energy: Bought a 1kW photovoltaic system from Solar Works. See how much power they're producing: SILVMETR.ZIP (105,581 bytes, 03/24/2005) Also check out the panoramic graph on this page.
- Astronomy: I look(ed) forward to waking up early on June 8, 2004. Play with my GLOBE simulator to find out why. Ok, it's the transit of Venus! Using a pair of binoculars and a card to project the image on, I managed to get this lovely photo. Venus is the small notch on the right - probably already on its way out. I realize the camera was at an angle.. I would have gotten it right if I had 3 hands :) Anyway, if you feel like calculating AU with this, I can say the photo was taken at 7:09am EDT (Sorry, I don't have seconds) and at 41.6611°N, 71.4845°W. So there's my lousy contribution to science! :) P.S. good luck!
- Geometric puzzles: Rubik's cube, mazes, you name it - they all make great programming projects.
- TV! You just can't escape it in our family.
- Piano: I can play just about any song I've heard. People say I have a good ear.
- Music: Besides my own, I like to collect TV theme songs and anything by Weird Al Yankovic.
- Sports: volleyball, bicycling, ping pong, softball, juggling, cubing, cubing while bicycling.. :)
Ken's primary computers:
All computers have been sold, discarded, permanently lent, or returned except for the TI-99/4A and the last 3 or so on the list. The dates listed are the day I copied the hard drives and transferred email settings. This did not always occur on the day I received the system, due to hardware issues.
- 12/??/1983: TI-99/4A
- ????? 1984: Kaypro II (CP/M 2.2)
- Late? 1985: HP 9836C Series 200 (98611A Opt.655 BASIC System + 98612A Opt.650 Extended BASIC 2.1)
- 11/23/1988: 386DX-20 (Proteus)
- 10/26/1990: 386DX-33 (Touche)
- 07/??/1992: 486DX-50
- 11/04/1993: 486DX2-66
- 08/11/1994: Pentium 90
- 03/??/1995: Pentium 100
- 07/27/1995: Pentium 75 (TI Travelmate 5000 laptop)
- 12/06/1995: Pentium 133
- 05/27/1997: Pentium II 266 (Gateway)
- 01/07/1999: Pentium II 450 (Comtrade)
- 07/12/2000: Pentium III 933 (Dell 4100 series)
- 09/11/2002: Pentium 4 2.8 (Dell 8200 series)
- 01/05/2005: Pentium 4 3.6 HT (Dell 8400 series)
- 09/21/2007: Core 2 Quad 2.66 (Newegg / custom built)
- 11/13/2010: Core i7-950 3.07 (Newegg / custom built)
- 11/25/2014: Core i7-5820K 3.30 (Newegg / custom built)
- 09/01/2021: Ryzen 9 5950X 3.4 (Newegg & Amazon / custom built)
Major: Applied Math (ScB)
|Semester 1||Fall 1993||EN3, MA18, |CS15, CH21
|3-year leave of absence||1994-1996||
|Semester 2||Spring 1997||EN4, MA42, MA52, PH24, PL54
|Semester 3||Fall 1997||EN41, AM33, MU11, |EN51
|Semester 4||Spring 1998||EN52, AM34, AM27, EC11, |MA126
|Semester 5||Fall 1998||AM165, EN157, EN163, GE5
|Semester 6||Spring 1999||AM166, EN158, EN164, AM120, EN196
|Semester 7||Fall 1999||AM117, AM121, EN253, MU40
|Semester 8||Spring 2000||AM194, EN160, GE1, EL4
|Stikeout: no credit / dropped
Other cool STuf...
(03/06/2000) I plugged my name into Yahoo's search engine and I found some really neat stuff! Apparently, somebody spent the time to write a colorful review about my site. Sounds to me like this fan has a serious case of jealousy!
Continuing with my tradition of shameless self-promotion, I found something else which blows everything away: This quote from John Carmack. I am truly honored that he would pick me out of a crowd like that!
(07/11/2000) I found another quote from Carmack.
Web Site Update History:
03/07/2018: Released BUILD2 demo and editor - a rather complete successor to Build; written 2006-2011.
03/07/2018: Released PND3D source code.
03/07/2018: Released KENVEX - a failed successor to Build which I wrote in 1998.
06/24/2014: Released FLACOUT, a lossless FLAC file recompressor.
06/24/2014: Released PND3D demo: a successor to Voxlap that I started in 2008 and abandoned in 2012.
06/20/2014: Join Facebook
05/05/2011: Add POLYDRAW to projects page: a shader prototyping environment started by Tigrou here, and heavily updated by myself.
01/28/2010: Big EVALDRAW update: Fast new compiler written by Robert Rodgers; structure support; errors now highlighted.
10/26/2008: FLYDUCT added: a silly game featuring heightmapped rendering on the inside of a cylinder.
03/01/2007: RUBIX updated. It now features menus, a history slider, and a custom 3x3x3 solver written by Ben Jos Walbeehm.
12/27/2006: Added QuickBasic page.. happy holidays!
12/26/2006: Changed email address in contact info.
07/23/2006: Big update to EVALDRAW, including support for sub-functions and many new library functions for graphics & sound.
07/06/2006: Added opening dialog box to PINGBALL, giving command line newbies the opportunity to appreciate all its silly features.
05/18/2006: Released source codes to my voxel modelling tools (SLAB6, POLY2VOX, KBARF). Also: big PNGOUT/KZIP update.
02/27/2006: PNGOUTWin beta released by Ardfry.
12/24/2005: Released GROUDRAW.ZIP (more voxel demos) and POLYTEX.ZIP (Build successor that never made it).
11/??/2005: Founded Ardfry Imaging, LLC with partner David Blake.
11/12/2005: PNGOUT for MacOSX released; hosted at JonoF's site.
10/17/2005: Released Cubes5 source code.
09/14/2005: Released complete Voxlap engine source code.
03/24/2005: Irfanview 3.97 supports saving with a PNGOUT plugin. Get the latest PNGOUT plugin here.
11/05/2004: Voxlap library released.
10/14/2004: Released EVAL library, KWINCHEAT source, 8 old Ken-Build maps, and POLYMOST.BAS
10/07/2004: I asked Jonathon Fowler if he would add a forum to his site about my stuff... and this is where it used to be: http://www.jonof.id.au/forum/. Messages can still be found on an internet archive.
08/09/2004: Tom Dobrowolski released MoonEdit (formerly Multi-Editoro), a multi-user text editor. It uses code from EVALDRAW and my Windows layer.
07/30/2004: Big update to EVALDRAW, including nice GUI, new compiler features, and many more example programs.
04/11/2004: Jonathon Fowler ported my PNGOUT utility to Linux.
03/28/2004: Wrote another VESA patch fixing hi-res modes on Nvidia GeForce 4 chipsets. I call it AXVGA
03/17/2004: Released Ken's Labyrinth Developer's Toolkit
03/06/2004: Reorganized Utility page slightly and added KWINCHEAT: AI that plays Minesweeper, Solitaire, and Internet Checkers for you!
02/29/2004: 2 new applications added to projects page: PINGBALL and EVALDRAW.
12/25/2003: SLAB6 update: added key repeating, a save option for Build-compatible KVX files, and 3 new sample KVX's.
12/23/2003: "Polymost" (Build in OpenGL) released! Build Page
09/08/2003: New Voxlap screenshots and Voxlap Cave demo! :)
02/14/2003: Ported KCIRC to windows for better speed, resolution, and compatibility.
10/09/2002: Added KC and KPIC (Win32 text editor and picture viewer) to Utility page. Added an old CAVE demo from 1994 to Voxlap page.
09/21/2002: Ken's Labyrinth page updated with link to LAB-SDL, a brand new port of the game to modern OS's by Jan Lönnberg.
03/15/2002: SLAB6 updated. I added 3D box selection, dragging, flipping, rotation.
01/15/2002: Added some new info & screenshots to my Voxlap page. Added 2 utils: PNGOUT & HEARTEST to my Utility Page
01/10/2002: SLAB6 updated. I added a 2D slice editor, a windows version, 2 new objects, and some other small stuff.
07/01/2001: Released Ken's Labyrinth source code. You won't learn much from it, but you might be able to fix some bugs :)
06/16/2001: It's been a while... so I threw some new screenshots on my VOXLAP page... enjoy! :)
05/06/2001: Put a little sample program on the bottom of my VOXLAP page
04/20/2001: Wrote Winamp plug-in IN_KEN.ZIP that plays all of my music file formats (.SND, .SM, .KSM, .KDM).
12/15/2000: Kube Page updated.
11/20/2000: Made Voxlap Page less hidden and added some items to it. Also, check out the new Kube Page.
10/08/2000: Put up a rare version of Ken's Labyrinth.
09/21/2000: Added 2 programs to Utility Page: KZIP & ZIPMIX. Used these utilites to reduce the sizes of all .ZIP files on my site.
08/30/2000: Added a new link at the bottom of the Build Source Code Page.
08/12/2000: Converted all .GIF's on my site to .PNG's. .PNG is far superior to .GIF for many reasons. Go here if you want to see why.
07/15/2000: Added some more Q&A to both Build & Buildsrc FAQ's. Also added a little util in the description of SLAB6 (in the projects page).
03/19/1999: My web site is born.
(In order of first contact)
- Jonathon Fowler On 09/12/1999, he simply wanted to greet himself. A year later, when I released the Build engine source code, he jumped all over it. It was his destiny to do a port to modern OS's. When 3DR followed suit with the Duke3D code, I worked with him to add bells & whistles. Jonathon also used to host the forums for my site.
- Tom Dobrowolski On 11/11/2000, he just wanted to say 'hi'. A year later, I impressed him with some Voxlap screenshots and we've been in regular contact ever since. Tom and I have collaborated on many projects, most notably the Voxlap Cave Demo. Today, his interests include automatic world/model generation and creative user interfaces.
- Dennis Radon On 06/02/2001, he asked if I liked fan mail. Dennis has been very supportive over the years.
- Jan Lonnberg On 08/29/2002, he wanted my approval for his port of Ken's Labyrinth. He did a great job with it.
- Ben Jos Walbeehm On 11/05/2002, Ben Jos was wondering how KZIP worked. We started out as competitors. More recently, we collaborated on Rubix. He always told it like it was, and never ran out of things to say. Sadly, he passed away in 2013 and his website is now gone. :-/
- David Blake On 04/14/2005, he was already thinking about commercializing my projects. Less than a year later, we released PNGOUTWin. David has a knack for the software business, and I look forward to producing more with him.
- Peter Houska On 11/07/2005, he called himself yet another fan. Look through his projects page, and you'll see that he's a lot more than that. While similar in look, Peter comes up with his own tech.
- Robert Rodgers On 04/04/2006, he introduced himself as my 'humble servant'. Humble is right. Robert has accomplished a lot so far. He reminds me of myself when I was in high school. I have my eye on him ; )
I love to read what fans have to say about my work - whether it be praise or criticism. You can contact me at this address:
* No unsolicited attachments over 64KBy (P.S.: I wrote this in 1999 when I had a 56K modem. I leave it here as a joke ;-P )
* When giving out my contact info, please use "http://advsys.net/ken" and not my E-mail address.
Facebook: Please friend me before writing, as I often don't notice messages from those not on my friends list. Or better yet - use email!
Google hangouts: I can use it upon request. Unless I already know you, please introduce yourself through email first!
//Skype: I used to use it - not really anymore.
"http://advsys.net/ken" and subdirectories maintained by Ken Silverman.
This text is here to ensure this site stays high on a web searcher's list, (even though it seems to have no effect): Ken Kenneth Silverman Kenneth J. Silverman Build engine Duke 3D Duke Nukem 3D Shadow Warrior Apogee 3drealms 3d realms Blood Redneck Rampage Ken's Labyrinth lab3d kentris klab lab3d $ken.zip Ken S. -Ken S. build engine / network / tools Build editor editart editart.exe wad2map wad2art kgroup kextract wad2map.exe wad2art.exe kgroup.exe kextract.exe transpal transpal.exe convmap build.exe buildhlp buildhlp.txt computer nickname: Awesoken awesoken KenRI KenRII KRIen Ken238 Ken1111975 (13771009)