Ken Silverman's Projects Page

EVALDRAW

EVALDRAW.ZIP (1,588,789 bytes, 05/10/2020): A complete programming environment with built-in compiler, text editor, and functions to allow for quick prototyping. With Evaldraw, you can make graphs in any dimension (1D, 2D, 3D), animations, custom musical instruments, voxel models, and general purpose applications. I've included a lot of examples, so even if you're not a programmer, you can look at the demos.(Win32)

Perhaps the best feature of Evaldraw is the instant feedback. It automatically re-compiles the code every time you change it - i.e. on every keystroke. Since it is a custom compiler, no temporary files are ever written to your hard drive.

Most people don't have time to learn a new programming language. For this reason, I've done my best to keep the learning curve to a minimum. Evaldraw's syntax is very similar to C. See the included EVALDRAW.TXT or RScript.chm for a list of differences. If you are new to programming, try the EVALDRAW tutorial.

I started Evaldraw in March 2003, when my friend, Tom, was playing around with texture generation. His work really impressed me. It was missing something very crucial though - a run-time scripting system. Evaldraw was my answer to that. :) My library takes a C string (containing the script code), and converts it into executable code. This executable code can then be called directly by the running program - just like any other C function - all at runtime!

In January 2010, Robert Rodgers wrote a new compiler, which will eventually replace EVAL. It is now integrated into EVALDRAW as the default compiler. Robert's compiler already has more features than EVAL, and it is faster too! Thanks to his involvement, I will be able to concentrate on improving other parts of EVALDRAW (when I find free time).

EVAL compiler in KC_SRC.ZIP (117,530 bytes, 05/15/2010) My old "EVAL" library, now with complete source code. The EVAL compiler consists of 3 files: EVAL.C, EVAL.H, and EVAL.TXT. The other files are only required to compile KC, a project based on the EVAL compiler. To compile the console-based test application, type "nmake eval.c" at a Visual C command prompt. (Requires Microsoft Visual C/C++ 6.0 or above)

02/15/2020: Kris Asick (Gemini) has put together a nice video about Evaldraw - in particular about its built-in 3D graphing mode. Coverage of Evaldraw starts at 3:50 in the video ;-) (Note: I fixed the flicker bug in the latest EVALDRAW.)

POLYDRAW

POLYDRAW.ZIP (332,111 bytes, 02/07/2014): Originally started by Tigrou and posted at pouet, this programming environment allows fast prototyping of GPU shaders. It uses my EVAL compiler for the "c" program and compiles on every keystroke without hard drive access. Having been impressed by Tigrou's work, I took over his project and this is the result of several months of modifications. I learned a lot about shader programming during the process : ) See the included POLYDRAW.TXT for a complete list of modifications. Included are demos from both Tigrou and myself. Most demos require GLSL, although ARB assembly is also supported for those stuck with older video cards. (Win32 - Requires OpenGL+GLSL)

FLYDUCT



Flyduct screen shot

FLYDUCT.ZIP (298,074 bytes, 10/26/2008): Guide the blue bird through the ducts without getting its wings clipped. I wrote this silly game to test 2 reasons: originally for a custom 2D mouse that also sense rotation, but later to test heightmapping on a cylinder. Since few people have a rotating mouse, the game controls are now made to work with a regular mouse. Use the mouse to move the bird, and the left/right arrow keys to tilt the bird. Feel free to shoot down those red birds (left mouse button) if they get in your way. There is no ending - I never bothered to finish the game. The scenery (cylinder and gates) are all procedurally generated the first time you run the game. Special thanks to Tom for suggesting a game where you fly through holes. (Win32 - Requires DirectX)

PINGBALL



This is me pretending to be competitive with the computer AI :)

PINGBALL.ZIP (230,442 bytes, 08/09/2006): I wrote PingBall as a testing platform for a new 3D input device being developed by a group of students at Brown University. It plays well with a standard mouse, but with less freedom of course. Pingball comes with pretty good computer AI and it also supports 1 on 1 network play. Unfortunately, I haven't gotten around to fixing the network protocol to hide latency (as well as other issues).(Win32 - Requires DirectX and Pentium III or Athlon)

SLAB6



Slab6 screen shot (desklamp.kvx)

SLAB6.ZIP (304,809 bytes, 03/22/2011): A 6-degree of freedom viewer and editor for KVX and VOX voxel files. I designed the KVX format for use with Shadow Warrior and Blood. If you have a copy of these games, you can extract their KVX and use them with this program. To extract voxels from Shadow Warrior, use KEXTRACT (it's included on the registered CD). To extract voxels from Blood, use this utility: KBARF.ZIP (4,465 bytes, 11/02/2016). Put it in the Blood directory and type: "kbarf blood.rff *.kvx". If you don't have either of these games, you're not out of luck. I included 16 of my own voxel objects. Includes source. (Win32 - Requires DirectX)

POLY2VOX.ZIP (102,777 bytes, 08/03/2020: A polygon to voxel model converter. Supported polygon formats: ASC,3DS,MD2,MD3,OBJ,STL. Supported voxel formats: VOX, Build Engine KVX, Voxlap's KV6/VXL format. POLY2VOX recognizes the following texture formats: PNG,JPG,GIF,TGA,CEL,BMP,PCX,DDS. Includes source.(Win32)

V3B2VOX.ZIP (9,097 bytes, 05/30/2007): Converter between SLABSPRI/SLAB6's VOX format and EveryGraph Voxel3D's V3A/V3B formats. V3B2VOX converts V3A or V3B to VOX, while VOX2V3B converts VOX to V3A. (Inconsistent names, I know). Source included.

RUBIX



4x4x4 cube in the middle of a rotation.

RUBIX.ZIP (218,066 bytes, 05/05/2012): Rubik's cube simulator. Rotate slice with the left mouse button; rotate view with the right mouse button. Select any size from 1^3 to 256^3, randomize, and try to solve. Features: proper 3D perspective, history bar, backup memory cube, color editor, save games, authentic rotation sounds, and a custom solver written by Ben Jos Walbeehm - supporting any size! Rubix is a great tool for learning how to solve the cube. I learned the 3x3x3 using an early version of this program : ) (Win32 - Requires DirectX)

RUBIX_SRC.ZIP (139,164 bytes, 05/05/2012): MSVC 6.0 source code to RUBIX.EXE.

KCIRC



The white dashes move in the direction of current.

KCIRC.ZIP (105,262 bytes, 07/30/2011): An analog circuit simulator. Build a complete electrical circuit with just a few keypresses and the circuit will start animating automatically! This is the perfect program for anyone who wants to learn about elementary circuits. Includes voltage sources, current sources, 4 types of dependent sources, resistors, capacitors, inductors, and switches. Also can do Bode and Transient Analysis plots. Can create time-dependent sources by typing in virtually any mathematical function. (Win32 - Requires DirectX)

KCIRC_MAC_X86.ZIP (135,406 bytes, 02/09/2011): Mac OSX version for Intel / OSX 10.6. Experimental! Here's what's unfinished: To open the menu, press ESC then use the arrow keys&Enter to select option. In the load/save dialogs, you must manually type the .KSP extension. You must load .KSP files from inside the app - dragging a KSP file onto the app icon doesn't work yet.(Requires OSX 10.6 & Intel based CPU)

GLOBE



Tried to show as much as possible in 1 shot. (With a 90 degree field of view, the Sun (and Moon) really are that small! Planets are enlarged for wide angle views.)

GLOBE.ZIP (219,717 bytes, 04/24/2009): A 3-D planetarium program with super smooth frame rate. Move anywhere! Look anywhere! Fly around the earth or even to other planets! Speed up time and watch the planets orbit really fast. Zoom into a planet to see its phase. Check for solar eclipses or transits of Mercury & Venus. Find rise and set times of any solar system object from anywhere on Earth. Learn geography from the high-res data that can be downloaded separately. All in true perspective with really fast 3-D graphics. The sun, moon, 9 planets and 1,482 stars are all accurate to about 1 arc minute from their actual positions. Now includes source. (Win32 - Requires DirectX)

Here's a screenshot with the high-res GSHHS shoreline and CIA political border data (not included) (a view of New England, USA)

2DRAW



2draw screen shot

2DRAW.ZIP (362,045 bytes, 01/18/2011): 2DRAW! This 2D rotation & zoom engine was going to be used for an Apogee game called "Crystal Carnage" until the project was cancelled. Also, during the development of Build, I used this as my test platform for debugging network/modem code error correction. In fact, if you copy COMMIT.* which comes with the shareware version of many Build games, such as Duke Nukem 3D, you can play multiplayer 2DRAW games! Also features stereo sound and a digital MOD-style song that I composed myself. To see the demo I recorded, press SHIFT-SHIFT-'R' inside the game. Includes a nice board editor. Now includes source. (DOS32)

CUBES5



It's the "HI" room! Would you believe there's also a "LO" room?

CUBES5.ZIP (160,249 bytes, 10/17/2005): A 6 degree of freedom texture-mapped cube engine. I made this during the development of the Build engine (1994-1995) It has an easy-to-use editor built in. Graphics are compatible with the Build .ART format. If you make any interesting maps, please send them to me! ZIP now includes source code (compile with Open Watcom 1.3).(DOS32)

KENTRIS



Looks like I'm beating the computer.

KENTRS43.ZIP (147,661 bytes, 08/14/2005): Kentris version 4.3. This is a 2-player tetris game I made in 1991, featuring full sound & music. Includes source code.(DOS16)

SIBROS



One of the later levels

SIBROS.ZIP (45,118 bytes): Super Silverbrothers! Remember when Super Mario Brothers was popular? This platform game I made in 1991 features smooth scrolling (70fps) even on a 386 if I remember correctly. It has cool music too. (DOS16)

SIBROSRC.ZIP (12,446 bytes): The source code to Super Silverbrothers. Note: you'll need the old 16-bit Microsoft C compiler for DOS in order to compile this!

BREAKOUT



Breakout screen shot

BREAKOUT.ZIP (49,729 bytes, 09/16/2007): My own BreakOut game featuring playback of 4 simultaneous notes through the PC speaker, movement of the paddle up&down, palette animation, and 3 different ending screens depending on how well you do. For best sound, run in DosBox or pure DOS mode. Includes source code.(DOS16)

SCROLLER



Scroller screen shot

SCROLLER.ZIP (51,040 bytes, 10/28/2004): A cute little QuickBasic platform game that predates Sibros. The object is pretty self-explanatory so I didn't include any instructions. However I will say that the only keys are: Left, Right, Space, and ESC. See if you can win with more than 39 coins! Full source code included. (DOS16)

I have literally hundreds of other home-made programs like these, but for now they rot on my hard drive. It takes time to fix up old programs for release. I like to make them playable on modern systems. I also try to look at my old records and see if I can find a little history about the program. Some demos are full of bugs and simply not worth the trouble. I will continue to try to put up more demos whenever I can find the time.