Dr. J's Code

The current state of the art: sh1.icn below is a smoothly-animated first-person 3D videogame-style rendition of Science Hall 1st floor, running inside a gui, using select() for event processing so net connections can easily be added, with collision detection on the walls, doors, pillar, etc. in around 1300 lines of code. It reads room data from a model.dat file (5kb) instead of linking in code.

These demos are moving targets. You should plan to get new versions periodically, and back in any changes you make into my current version, not some older version that you've been sitting on awhile.

Please Demo

latest and greatest: sh1

previous: please10

Beyond Please

  1. use more accurate PLEASE lab textures
  2. make the textures much smaller; repeat them like the carpet in room.icn
  3. add an avatar class * Yo
  4. add obstacles: tables and bookshelves to the room
  5. add decorations: posters * Kosta
  6. add sound to the room * Ziad
  7. make the whiteboard work * Rashmi
  8. Add support for x-plane doors * Wynn and others

A view of the corridor outside.
If the door is open, you can walk into the hall.

A view back at the door from near the whiteboard.
Pressing "d" closes or opens the door, w/ animation.

X resizer

This shows a simple dialog in which four widgets placed in quadrants are resized under the control of a little red "X". It depends on a GIF file, xbtn.gif. Technical note: about 35 lines of manual code in method on_x(), which ivib is happy to tolerate, demonstrate the resizing, which is much easier if widgets to be resized are made class variables in the dialog. Sample screenshot:

FHN coordinate picker

This program relies on the presumably accurate CAD program-based map of Science Hall.

TSphere

This shows a very crude attempt at wrapping someone's head on an egg shape.

The Ruminator

These demos are obsoleted by Mais Nijim's Master's Project code.
  • The Ruminator ruminator.icn, rum.icn
  • makefile for these two demos

    Ruminator - To Do

    1. Add code generator, generate Unicon code for multiple rooms, similar to please8.icn
    2. Be able to read back in generated code, and add to it
    3. Be able to delete/edit rooms/doors/decorations
    4. Add support for decorations and obstacles
    5. Use the Ruminator to generate more rooms in Science Hall.

    The Tilinator

    Unicon implementation of ideas from Paul Bourke's article. The code is slightly further along since this was posted.