Finger info for icculus@icculus.org...



 (Seen my glasses? I'm a dork.)

 If you want a specific section of my plan, you can use the web interface
  like this:

  http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&section=intro
  http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&section=proj
  http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&section=general
  http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&section=ssam
  http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&section=todo

 Or directly through port 79, if your finger client will let you get away with:
  finger icculus?section=ssam@icculus.org

This is part of the new, improved IcculusFinger. Yay.

Thanks,
  --The McManagement.



Currently Active Projects:
 (This is in no particular order)


  - The icculus.org open source incubator.
  - SDL_sound.
  - PhysicsFS.
  - The Build Engine.
  - Toby.
  - Serious Sam.
  - IcculusFinger.
  - Unrealty.
  - IcculusNews.
  - Other stuff.

 I have projects on icculus.org (some are even mine) that are already
  abandoned. I will have to figure out what to do with them. If you want to
  peek around, look at The CVS Tree.



General stuff:


 Can someone please enlighten me:

 In Raimi's new Spider-Man flick, there's a scene with the Green Goblin on top
  of a bridge, and he's holding a cable car full of kids in one hand and Mary
  Jane in the other. and he presents Spidey with the concept that, "hey, you
  can't save them both, so which is more important to you?" Gobbey drops them
  both, and Spidey goes to work, and, of course, saves them both anyhow.

 Here's my question: didn't this actually occur in one of the comics a few
  decades ago? My recollection is that this was the scenario, except it was
  Gwen Stacy (Spidey's girl before MJ), and, in a most un-Hollywood turn,
  Spidey makes his choice, and the girl dies.

 Obviously, you can't ice Mary Jane for several reasons:
  1) She's actually married to him in the comics, so you have to work
  around that in the sequel (I'm already wondering what this means in
  relation to this movie's ending). Movie adaption is really just a
  professionally artistic form of lying, and we all know that keeping a
  lie as simple as possible is always good policy.
  2) Sex appeal and love interest drive reality television and movie sequels.
  3) It's a summer blockbuster. The girl doesn't die. Ever.

 I'm glad that Uncle Ben gets iced. Part of what makes Spider-Man more
  interesting than Superman and such is that some times he does things he
  regrets later, and sometimes, no matter how hard he tries and despite the
  super powers, he just straight up loses, which deeply enriches the
  character. Superman has the weight of the world on his shoulders, too, but
  DC had to _kill_ him to demostrate he can be flawed. Even that was
  cheapened by having all those Super Clones running around and eventually
  resurrecting him again. This is a recurring sales booster, and I hate it.
  They shot Buffy tonight (who was already dead once this season)...at least
  Sir Arthur Conan Doyle had the guts to drop a building on Sherlock Holmes
  and stop beating the horse's corpse.

 All of this junk comes out of the idea that a super hero is defined by his
  merits and not his flaws. I have a younger cousin who always asks me which
  super heroes and villians are the strongest. He doesn't care that Venom and
  Spider-Man are attempts to show the duality of man, he just cares that Venom
  can whoop some ass in a fight.

 The starving artist in me, the bohemian writer, wants to believe the whole
  cage match sequence with "Bone Saw" was an attempt to mock this attitude in
  both comic writers and fans. It's one-dimensional. Web-slinging is just a
  vehicle to keep the plot moving; who cares who wins the grudge match between
  Magneto and The Human Anus?

 What Spider-Man can do is worth five minutes of exposition. What he can't
  could fill novels. Everything from Oedipus Rex to The Catcher in the Rye to
  Death of a Salesman highlights the human condition: we are
  defined--chiseled--by our failures and regrets. It's not as morbid as I'm
  making it sound, but it's the most important point. Which do you buy more:
  Batman, who becomes a crimefighter because his parents got wasted in a
  senseless mugging while he was a little squirt, or Spider-Man, who becomes a
  crimefighter because he had every chance in the world to prevent his uncle's
  death, but decided to be smug. One is a cheap revenge story, the other is a
  need for redemption. The insanity of it is that the chain of events leading
  to Ben's death is beyond Peter's control, Spidey-Sense or not. Is it his
  fault? Not really. Will it change him forever? You bet your ass. This is
  Hamlet stabbing Polonius, this is Oedipus blinding himself. Hell, this is
  Peter denying Christ. This is the very heart of drama: you can either kill
  yourself, or pick yourself up off the ground and try to glue the pieces back
  together. One makes a good story, the other is bullshit. Hey, Peter did
  roughly the same thing Judas did, and he got to be the first pope. Judas
  swang from a tree branch...I don't see any trinkets in the Christian stores
  with his name on them.

 I just wanted to throw that out there for the next time someone tells me
  Spider-Man was a "summer popcorn flick". Yeah, okay, it isn't Kissing
  Jessica Stein
or Amalie or whatever, but it's a lot of deeper than most
  comic book flicks you'll ever see.


Serious Sam:

 Yes, I'm porting it. No, there's no timeframe right now. Email me with
 questions, and I'll start a FAQ or something.

Current Status:

 I occasionally get an email saying, "hey, where the hell is Serious Sam
  for Linux? It's been months, and your .plan has been collecting dust!"

 My current favourite response:

  Unless hours were cups of sack, and minutes capons, and clocks the
  tongues of bawds, and dials the signs of leaping houses, and the
  blessed sun himself a fair, hot wench in flame-colored taffeta, I see
  no reason why thou shouldst be so superfluous to demand the time of
  the day. I wasted time and now doth time waste me.

  -- William Shakespeare

 That being said, it's still being worked on. I'm so far behind schedule,
  it's not even funny, but this is the danger of free work. I need to eat,
  so when paying contracts come along, they will always take priority
  over charity ports. In the past few months, a lot of Linux and MacOS
  game porting work has come my way. Candy Cruncher was one such beast
  (which, if you haven't tried it, then you are missing out on an
  addictive little game). Other games, plus open source contributions to
  SDL and friends, maintaining and improving icculus.org, etc...I'm a
  mover and a shaker, apparently...but I'm still plugging away at the code
  when I've got time. I can't thank you Linux gamers enough for your patience,
  and hope it pays off for you shortly.

 In related news, I squashed that motherfucker of a rendering issue. I moved
  over to the Intel C++ compiler, since their 6.0 release doesn't suck ass
  like version 5.0 did. I might stick with GCC for the final builds, but Intel
  C++ has one thing going for it that makes it a great porting tool: it can
  grok both GNU and Visual C style inline assembly
. This was a godsend,
  and fixed at least three major rendering problems. For example, there's
  code that looks something like this in the original source base:

  __asm
  {
  fld dword ptr [f]
  fist dword ptr [slTmp]
  fisubr dword ptr [slTmp]
  fstp dword ptr [fDiff]
  // ...some other stuff ...
  }


  I had this for the Linux build:

  __asm__ __volatile__
  (
  flds dword ptr [f]
  fists dword ptr [slTmp]
  fisubrs dword ptr [slTmp]
  fstps dword ptr [fDiff]
  // ...some other stuff ...
  );

  (okay, the operands aren't right in the GNU one, but follow me here...)

  Apparently, this is wrong, and created a very subtle rounding error in
  the Linux version. I didn't discover this until I got the Intel compiler
  to generate an ELF binary with the MSVC inline, and the bug mysteriously
  vanished. At that point it was just a matter of compiling each source file
  with inline assembly (there's about 10 to 15 of them) with Intel C++,
  trying both the GNU and MSVC inline until I found the file that had the
  buggy code. When I narrowed it down to that code fragment, I used gdb to
  disassemble the MSVC inline version...this spits out assembly in AT&T (GNU
  inline) format, and I could compare.

  Here's the difference:

  What I had: What I should have had:
  flds (%%eax) flds (%%eax)
  fists (%%ebx) fistl (%%ebx)
  fisubrs (%%ebx) fisubrl (%%ebx)
  fstps (%%ecx) fstps (%%ecx)

  Why I was supposed to know that I needed to specify a different precision
  to two of the opcodes and not the other two is beyond me. This is why
  everyone thinks inline floating point assembly is broken in gcc. It's not.
  Inline assembly in general is broken in gcc. Or rather, it's
  braindead. I'm sure there will be people that disagree, but they don't
  port games to Linux for a living. I think I'll send Michael Abrash a
  love letter and send the Free Software Foundation a photocopy of my ass.

  Anyhow, next hurdle is networking, then some polishing, and then (dear
  lord), The First Encounter might be ready. Thankfully, the Second
  Encounter should be a much smoother ride, since I just need to get the
  entities (many of them cut-and-pasted from The First Encounter) compiling.

  Again, thank you for sticking around. I'll keep this .plan more updated
  in the future.

 Those old Screenies.
 Keep me and icculus.org going.

--ryan.

  (FAQ snipped. Check the archives.)




My never ending TODO list:


Somewhat immediate TODOs:
 - Unicode support in UT2k3.
 - Fix Unrealty netcode.
 - Case insensitive file access in UT2k3.
 - Look at SDL audio conversion code.
 - Check for zlib 1.1.3 remnants on icculus.org.
 - Yuri's Revenge support in csmhax0r.
 - Have csmhax0r flip read-only flag.
 - Reburn damaged music disc.
 - Read Bernd's Gamasutra article.
 - Send zakk his stuff.
 - Sort out icculus.org hardware donations.
 - Get more RAM in the iMac.
 - Nag Kent about MindRover again.
 - Nag Vince about dedicated server stuff.
 - Report compiler issues to Intel.

Ongoing TODOs:
 - Port Serious Sam. ( 8%)
 - Rewrite IcculusNews. ( 50%)
 - Release SDL_sound v1.0. ( 90%)
 - Release PhysicsFS v1.0. ( 90%)
 - SDL_mixer rewrite, using non-existant SDL_sound library. ( 0%)
 - Toby rewrite #4. Way overdue. ( 20%)
 - Documentation for Toby. YEARS overdue. ( 0%)
 - Major SMPEG updates. ( 0%)
 - Rewrite web interface to mailing list archives. ( 0%)
 - Write The Hook Book. ( 0%)
 - Read A Beautiful Mind. ( 1%)

Backburnered, but reasonable TODOs: (in no specific order):
 - Make the logs rotate automatically.
 - Hook up CVS to IcculusNews.
 - Let people submit to IcculusNews via email.
 - Figure out how to monitor exactly how much bandwidth we've used per month.
 - Hook up mailing list software to IcculusNews.
 - Hook up Bugzilla to IcculusNews.
 - Rewrite Toby's parser.
 - Finish writing Punk Ass Comedy.
 - Finish writing The Street.
 - Finish reading The Dragon Book.
 - Increase memory/swapspace.
 - Remove http://icculus.org/sysinfo/todo.html
 - Clean up room.
 - Clean up home dir.
 - Set up meldrew.
 - Get nerf updated for SSL support.

Blue sky:
 - Get Dreamcast Linux working.
 - SDL OS/2.
 - SDL LightPen/tablet support.
 - SDL MsgBox API.
 - Make BUILD Engine support OpenGL.
 - Fix the Linux Realtek drivers.
 - Write scratchware.
 - Physics engine.
 - BuildGL.
 - BuildX.
 - Get BUILD engine ready for Matt Saettler.
 - Get Duke3D/COMMIT net API implemented for modern platforms.
 - Get Duke3D sound API implemented for modern platforms.
 - Beat Zork III. I will someday, I swear.


--ryan. (icculus@clutteredmind.org)

(icculus.org icon goes here)


When this .plan was written: 2002-05-08 03:04:38
.plan archives for this user are here (RSS here).
Powered by IcculusFinger v2.1.27
w00t. There it is.