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
- use more accurate PLEASE lab textures
- make the textures much smaller; repeat them like the carpet in room.icn
- add an avatar class * Yo
- add obstacles: tables and bookshelves to the room
- add decorations: posters * Kosta
- add sound to the room * Ziad
- make the whiteboard work * Rashmi
- 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.
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:
This program relies on
the presumably
accurate CAD program-based map of Science Hall.
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
- Add code generator, generate Unicon code for multiple rooms,
similar to please8.icn
- Be able to read back in generated code, and add to it
- Be able to delete/edit rooms/doors/decorations
- Add support for decorations and obstacles
- 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.