Domain: advsys.net
Stories and comments across the archive that link to advsys.net.
Comments · 41
-
Re:Not true
If you get enough people wound up about something, you can get the backing and momentum to really have an effect.
I don't get it. If you hate EA, why do you give a shit? You're getting upset because a company isn't doing something you wish they would do? Who gives a fuck? You're not buying their shit anyway.
It's like you've gone all obsessive about a beautiful but super-cunty woman and you hate her SOOO bad because she won't give you a blow job, so you rant and rave about it. That's mental illness, bub.
That's a pretty good analogy with the woman, because as we all know, there are plenty of fish in the sea.
However, due to excessively long copyright and trademark terms, when it comes to games, there are no other fish in the sea. The only people making SimCity games are EA. If you want to play another SimCity game, you're going to have to go to EA.
Are there city simulation competitors? Sure, but if they ever get any financial traction at all expect EA to go after them with lawyers akimbo. Even if they could get away with it, people will just always regard them as a SimCity clone. Even John Carmack admits that "you're just never as big when you're second in line." [cite]
-
a.c
I noticed in the article that he was working with a decompiled version of the a.c file.
a.c: A C reverse-engineered implementation of what used to be highly optimized x86 assembly. It works but is a monstruous pain in the ass to read
:( !A version of it reimplemented in C was released as detailed here.
08/20/2003: BUILDC.ZIP: Unobfuscated A.C. (that's a
.C source file, not an air conditioner : )MUCH easier to read.
That should help with his project updating the engine as well as anyone else wanting to study the code in depth.
-
Re:Sounds like they have a GUI REPL
Continuing your post:
The fourth example is a dynamic circuit diagram that displays voltage and amperage over time. I'm not an electrical engineer so I don't know much about it, but it seems to me that this has already been done at least once. (I'm sure there are more mainstream examples than KCIRC, but it's one I've run into.)
The fifth example is exactly like the iPad version of Garage Band, except with animation tweens instead of musical instruments: you play back the tracks that have already been performed while creating the next one. This is a pretty exciting idea, but he's a couple of years too late for it to be truly remarkable.
-
Ken Silverman and Levelord
The part of the story that needs to be talked about a bit more is the under-recognized talent that worked on Duke 3D and made it so much fun. 3D Realms got lucky once because of a brilliant young programmer named Ken Silverman http://www.advsys.net/ken/ who wrote the engine while he was still in high school, and the talents of their design team, people like Levelord http://en.wikipedia.org/wiki/Richard_Gray_(game_designer) and others. The management of the company took credit for the success of Duke 3D. But once the talent left, management lived for years off the residual income from the various Duke ports and publisher advances while showing their utter lack of competence by being unable to ship a single product. While we mourn Duke and scorn Broussard and Miller let's remember the fine work of the team. Good work, guys!
-
Re:And the result...
Yes. His site is here.
-
Re:There is a great disturbance in the source...
The other thing carmack was rambling on about was a Voxel based system. If you havnt seen this already its worth a quick peak Voxlap Cave Demo I havn't RTA but from the summary it sounds like he is making a system similar to this but using an octree to allow for LoD.
-
Re:B Games - You Decide
Scorched Earth wasn't a B game. Microsoft's QBasic Gorrilas! was a B game. Scorched Earth was awesome. It inspired such greats as Charred Dirt, Scorched 3D, etc.
Now, BZ Flag is probably a B game.
ShadowGames Shooter is definitely a B game, and it is fun and hilarious at the same time. Ken's Labyrinth was (and still is, since it's now ported to modern OSes) a B game that's fun to play. -
Evidence?
Evidence? Except for 1x1 images and the like, you're wrong. And you shouldnt' be using 1x1 images anyhow so...
Before sending any examples, make sure you're comparing same-depth images and have used pngout.
I once, as a demonstration, took a review off HardOCP and converted/recompressed all their GIFs into PNG, and saved several hundreds of kilobytes.
Still webmasters continue to use GIF because of ignorance.
-
Re:You might also be interested in...
You really have to keep software up to date, otherwise it'll just end up unreadable like http://advsys.net/ken/klab/labflsrc.zip (yes, you'll want to check the source).
This is especially important for a crossplatform application that will have to support the newest architectures that weren't even conceived when the application ceased development.
Of course, it's a pain in the ass, so why bother ;) -
jpeg and png can be betterBoth JPEG and PNG use Huffman coding for the back end. So does bzip2. Don't know about jpeg2000, but I think it also uses Huffman. All of these could get perhaps 3% to 5% better compression by switching to arithmetic coding. Basic arithmetic coding is not patented, but there are hundreds of variations that are. Both jpeg and png specifications have an arithmetic coding option, in case the day ever comes when we can use arithmetic coding without risking lawsuits. If you've ever wondered about bzip, yes it existed, but it didn't catch on because its back end is an arithmetic coder. A new image format is going to be stuck with this same problem: still can't use arithmetic coding. The number one motivation behind the creation of PNG was the desire to avoid patent problems. Therefore PNG uses the LZ77 algorithm and Huffman coding, and not the patented by Unisys LZW algorithm in GIF. We might never have bothered creating PNG if Unisys hadn't gotten ugly about GIF. There's only one reason GIF is still used, and that's for cute little animated images. MNG was intended to solve that, but suffered a blow when the Mozilla browser people decided Mozilla was becoming too bloated and started throwing things out. MNG was one of the things tossed out of Mozilla.
More immediately useful, there are optimizers for jpeg and png that can make the image take less space, with no loss of quality. There's jpegtran -opt for jpeg images. Most digital cameras create jpegs that are around 3% larger than what jpegtran's optimizing can achieve. For png, there's PNGOUT, OptiPNG, and pngrewrite and PNGcrush. Most web sites do not use optimized images.
There's also compression programs such as StuffIt that claim they can losslessly compress jpeg images up to 30%. So there's plenty of room to wring more out of the existing formats.
-
Re:Too little, too late?
Fully destructible environments would be frickin awesome. I'm reminded of the work Ken Silverman (of BUILD engine fame) did with voxels in his somewhat recent Voxlap engine demo. I'd love to see a game made based on this technology. Who knows, maybe someone will take a stab at it? Mr. Silverman has been kind enough to release his source code to the public.
-
for the best compression for .zip, use
-
Ultra high bandwidth PNG?It's important to understand that most default PNG exporters are not very good. You should use a PNG optimizer, such as Ken Silverman's PNGOUT or Cosmin Truta's OptiPNG. Let us focus on the matrix3-3ivx-6364.png image:
- Default: 129,002 bytes
- OptiPNG: 121,967 bytes
- PNGOUT: 113,759 bytes
-
Re:File size
That PNG map is two thirds larger than it needs to be. Less than a minute with pngout reduces it from 14,632 to 8,839. Also, it doesn't look like the page is being served gzipped. This can be done by creating a
.gz copy and having the web server software hand out whatever the browser can handle, little or no cost to the CPU. All up, the site is probably serving 50% more traffic than it need serve. -
More importantly
When will we get APNGOUT to compress the inefficient Photoshop created APNGs?
-
Re:Did anyone really stop using gifs?
Photoshop makes large PNGs, but I've only come across a handful of times when PNGOUT couldn't produce a smaller PNG than the GIF, and they were all in cases of VERY small GIFs (under a couple hundred bytes generally). On anything bigger than that, PNG was almost always smaller.
-
Re:Ah... I can't... oh no...
For the sake of adding a bit more info to your explanation...
In later games using Duke's BUILD engine (written by then-teen-programmer Ken Silverman) the developers make the "room-over-room" illusion even better by simply doing two render passes. If you are in the upper part, then the first render pass will be the lower room, which since you are outside it doesn't include the ceiling, and then the second render pass renders the upper room using a null texture for the floor making it transparent. You had to line it all up quite carefully, but you could then get a room-above-room illusion that you can actually see, which was pretty neat.
Ken also later added support for voxel (volume pixel) objects, allowing true 3D objects to take the place of selected in-world sprites, although that implementation used low-res voxels so they looked a little blocky.
-
Re:Ah... I can't... oh no...
1996: Duke Nukem 3D 1.0 came out using modified Doom II engine
Bzzt. Wrong. It was the BUILD engine, written by Ken Silverman. -
Re:Ah... I can't... oh no...
Bit of a correction... Duke3D used the Build Engine, created by a guy named Ken Silverman, who was also responsible for an _old_ shareware game by the name of Ken's Labyrinth. Info on the history of the engine is available from Ken himself here. He's also got several other useful utilities, such as an excellent PNG optimizer.
-
VDMSound + VESA TSR = Success
VMDSound has worked great for me too. In fact on my game PC (AMD 2200+) it allows me to get most of my DOS games including a few tricky ones, to work.
The problem I've ran into was VESA mode at 640x480 and above in Windows XP. It seems there's some kind of block preventing DOS Mode in windows to run in this mode, but there is a patch! Go here and scroll down to VESA 2.0, download NOLFB.ZIP and read the instructions. This has enabled Duke Nukem 3D and alot of games to work, with VDMSound quite nicely. It's not going to fix everything but it has bumped up compatibility of DOS Games in WinXP to 80-90%. Now if VDMSound was properly tuned so the audio wouldn't stutter a bit... -
Re:How do you PROPERLY compress PNG better than GI
For good optimization without much effort, use pngcrush with the -brute option. It'll go through a series of possible option combinations, and generally produces good results. For the best results (generally) with more effort, use PNGOUT. Maybe if I'm motived sometime, I'll write a script for pngout to try out all options.
-
Re:Tell CmdrTaco you want PNG!
A previous article covered some GIF/PNG thing. Comments also mentioned PNGCrush and PNGOut as PNG compressors. So I converted the "slashdot.org" pic to PNG and compressed it. PNGout won out, reducing slashdot.gif (3473 bytes) to slashdot.png (2453 bytes) - ~30% smaller filesize. And this is just for one small image, I'm sure the rest of the images on slashdot would do just as well.
-
But...
...it's QBASIC!! Lemmie know when "C=128 BASIC 7.0 for Dummies" comes out. (I'd actually like to thumb through that, sarcasm aside.)
Seriously though, the one person who comes to mind that I've seen use QBasic with any amount of success is good ol' BUILD Boy, AwesoKen. There's a bit of source on the site, some dealing with voxels and such. It's interesting in the same way as seeing a woman with no arms make a nice painting with a brush between the toes of her feet. You go, girl! :D -
some PNG related tools
- Bright (download) is the best non-dithering quantiser in the whole world, and reasonably fast, too; based on dlquant
- pngrewrite sorts the palette
- pngcrush removes junk chunks, fixes Photoshop's gamma bug and tries many filters to find a smaller filesize
- OptiPNG is similar to pngcrush, but executes much faster
- pngout uses an alternative deflate, yields sometimes even smaller filesizes
- tweakpng manipulates chunks comfortably with a GUI
- pngquant quantises PNG24 with alpha transparency to PNG8 with transparent palettes, the result is alas mostly ugly
sleightplus demonstrates how to overcome IE's rendering bugs without polluting your markup or styles; no silly style inlining required, either. Use PNG images or backgrounds all the way they were intended.
Predecessors with only support for foreground images: Youngpup sleight, WebFX PNG behavior, mongus pngInfo, Bob Osola. PNGHack, a server side solution, is doomed to fail because of dysfunctional browser sniffing.
If that was useful for you, and you are a C hacker, I have a plea. Take the dlquant sourcecode (see above) and massage it so it works with PNG instead of the archaic PPM. I want a functional Bright clone for Linux that takes a true colour PNG and outputs a paletted PNG. Can you do that?
<daxim@gmx.de> -
Re:problems with PNG
large file size- much larger than gif or jpg
Not really. Some encoders are pretty poor, but an 8 bit PNG can easily rival, if not beat it's gif counterpart.
Let's pick a quick example:-rw-r--r-- 1 freaky None 27382 Jun 9 10:12 states_imgmap.gif
The
-rw-r--r-- 1 freaky None 23176 Jun 9 13:28 states_imgmap.png
-rw-r--r-- 1 freaky None 22619 Jun 9 13:29 states_imgmap_pngcrush.png
-rw-r--r-- 1 freaky None 21404 Jun 9 13:31 states_imgmap_pngout.png .png is saved from Paint Shop Pro 7, _pngcrush.png using bog-standard pngcrush (which was, btw, identical to pngcrush -brute), , and _pngout.png using pngout.
If you think this is too simple an image, let's try a screengrab of my desktop, reduced to 256 colours. Feeling lucky?-rw-r--r-- 1 freaky None 342508 May 31 02:22 grab_orig.png
Same deal as above. The original is a 24bit pngcrushed file. None were saved as interlaced/progressive, nor with any transparency.
-rw-r--r-- 1 freaky None 136461 Jun 9 13:41 grab.gif
-rw-r--r-- 1 freaky None 97538 Jun 9 13:40 grab.png
-rw-r--r-- 1 freaky None 95336 Jun 9 13:42 grab_pngcrush.png
-rw-r--r-- 1 freaky None 87168 Jun 9 13:44 grab_pngout.png
I dunno about you, but PNG looks pretty good to me.
Remember that most PNG's are likely to be 24 bits, as opposed to GIF's maximum of 8, and can even include an extra 8 bits of alpha transparency.
poor standardization
What? There's at least one free high quality reference implementation anyone's welcome to use (even Microsoft), the full specification's there for anyone to read, there's a W3C recommendation that's actively maintained. What more standardization do you need?
Yes, IE doesn't support alpha transparency (something GIF doesn't even have the potential to do; PNG's 8 bit alpha channel is as big as GIF's entire range!), but for general use PNG's a perfect replacement for GIF.
JPEG can beat both, but only if you don't mind it dropping image quality to do so; not something you want to do generally.
little exposure
So what? Most users can just double click on the image file (who's file extension Windows helpfully hides by default) and won't notice the difference. And if some so called "web developer" hasn't heard of it, well, sucks to be him and his clients. -
Re:problems with PNG
large file size- much larger than gif or jpg
Obviously because both GIF and JPG are lossy whereas PNG retains every color it can find. Try palettized PNG instead if size is important, it beats GIF at the same quality level in 90% of cases.
Also make sure you use a decent compression utility, such as PNGOUT. -
The best PNG compressor for Windows
-
Re:Jon Carmack: dooming society?
Ken Silverman wrote Build. Here is his own history of his engine writing experience. You'll notice that Ken mentions speaking to John Carmack about its design, although I'm not implying anything by that.
-
Re:engine coders will never obsolete
I still haven't forgiven him for Ken's Labyrinth.
-
Re:engine coders will never obsoleteTrue. Voxel engines solve lots of problems and can introduce interesting features that are highly difficult to implemement in polygon engines.
Ken Silverman (creator of the Duke Nukem 3D engine named Build) has been working on such an engine, which he calls Voxlap. Interestingly, he is a bare metal programmer, using Pentium III assembly to create tight inner loops in the rendering functions.
It doesn't look very pretty (it must run at a low resolution as it does not use polygons, and therefore hardware acceleration) but it is a very interesting idea, worth keeping an eye on. Incidently, Ken Silverman is highly respected by Mr Carmack!
-
Re:engine coders will never obsoleteTrue. Voxel engines solve lots of problems and can introduce interesting features that are highly difficult to implemement in polygon engines.
Ken Silverman (creator of the Duke Nukem 3D engine named Build) has been working on such an engine, which he calls Voxlap. Interestingly, he is a bare metal programmer, using Pentium III assembly to create tight inner loops in the rendering functions.
It doesn't look very pretty (it must run at a low resolution as it does not use polygons, and therefore hardware acceleration) but it is a very interesting idea, worth keeping an eye on. Incidently, Ken Silverman is highly respected by Mr Carmack!
-
Re:engine coders will never obsoleteTrue. Voxel engines solve lots of problems and can introduce interesting features that are highly difficult to implemement in polygon engines.
Ken Silverman (creator of the Duke Nukem 3D engine named Build) has been working on such an engine, which he calls Voxlap. Interestingly, he is a bare metal programmer, using Pentium III assembly to create tight inner loops in the rendering functions.
It doesn't look very pretty (it must run at a low resolution as it does not use polygons, and therefore hardware acceleration) but it is a very interesting idea, worth keeping an eye on. Incidently, Ken Silverman is highly respected by Mr Carmack!
-
Ken Silverman
Here's some background info on the original creator of the BUILD engine.
-
Re:Build Engine was Awesome
if you mean ken silverman (as opposed to someone working on prey), he hasn't
he has an occasionally-updated web page at http://www.advsys.net/ken/ with various utilities and half-finished engines
voxlap looks damned cool -
Playing Duke3D in VESA on XP
Ken Silverman's NOLFB patch lets you play Duke3D in VESA graphics modes (hey, 800x600 is way better than 320x240, right?) on WinNT/2k/XP.
It's a TSR, so you have to run it before you start duke. I wrote a batch file with the following lines:
nolfb.com
duke3d.exe
and run it in order to start duke. With a batch file, you can also permanently add all the commond line parameters that tickle your fancy.:) -
All about build.
Lots of info about the Build engine as built by Ken Silverman and the man himself is up at www.advsys.net/ken
Makes for an interesting read. -
More on Build Engine...
Since you are looking at the engine source, you may want to take a look at Ken Silverman's site. He created the build engine, and has some comments and code there too.
Ken Silverman's Build page -
A similar program
Ken Silverman has a program that will render a globe, albiet a little more primitive than Keyhole's. In fact, its use is more for stargazing than earthgazing, but there you go.
-
A similar program
Ken Silverman has a program that will render a globe, albiet a little more primitive than Keyhole's. In fact, its use is more for stargazing than earthgazing, but there you go.
-
Even better than pngcrush
Is PNGOUT by Ken Silverman. Best kept PNG secret out there. It only works on Windows (console), but it almost always lets me squeeze a few more bytes out than PNGCrush.
-
Re:looks nice, but...
Indeed, it sounds like a slightly more complex build engine. Even Quake I could do room-above-room, it's got features like an enhanced DN3D. (except real 3d models)
and you can tell from the screen shots. Nice colors, but no holes anywhere. Look for a railing with open space above and below it, or a bridge. (which I believe they had on the first level of Quake 1)