TROIACS DEVELOPMENT PAGE (Update: December 13, 2000 - see Progress)
The character I will use is the first one on the left. Its walking frames are 90% finished. Disclaimer: I don't have a beard and look less like Fox.
The character's creation process (videocamera to PNG sprite) will be explained in the tutorials section!

Welcome

Hello fellow adventure makers and players, and welcome. This page will host the upcoming TROIACS engine. TROIACS is an acronym for Text Rooms and Objects Interactive Adventure Creation System. As for the other meaning, ask any Italian. I really just want to make an adventure game, but since this requires writing an adventure game maker I decided to release it when it will be finished for everyone to enjoy. Stemming from this overly altruistic decision, the three purposes of this site are:

  • To spread the word about the project and its progress

  • To gather people who like adventure games, and provide a forum for artists, musicians, coders and storytellers to meet

  • Perhaps more importantly, to gather as many tutorials as possible on graphics. Being unable to draw good game graphics has held me back from making a game for a very long time. I want you to learn all the tricks so you can make good looking games for me to play (Sierra won't do that anymore)

Voting Poll
What is the most important thing in an adventure game?

Hand drawn background graphics
Overall atmosphere
Playability
Good puzzles
Creating a dream world where shit doesn't exist
Humor
The ability to induce nostalgia after a few years
What's an adventure game? (click "back" on your browser ;)

Progress

TROIACS IS NOW FINISHED! (In my mind). Now I gotta code it.... ;)

  • Dec 13: A little late again but here's the update: The character will look funny like every damn adventure game character (see Zak). There is no way to get the guy walking realistically on the screen unless you have at LEAST 8 walking directions (multiply for any clothes change, stair climbing, swimming, etc). Are you going to render the animation? Go ahead you'll have a REAL good adventure game (*sarcasm*). But in the end who cares. I came to this conclusion playing old games during the weekend on the amiga emulator. Perfection is not what creates the atmosphere. A good amount of realism IS required and I think I have accomplished that. Regarding the number of frames, they stay. Cutting the frames in half makes the walking animation look very fake because of the detail of the sprite. If anyone thinks that having less frames per second on animations for picking up objects, opening doors etc. is a bad thing please play those old games once more, they're very different from how you remember them :-) Now if these damn chicks stop calling me I will get ahead with Troiacs. Farewell.
  • Nov 24: A little late but here's the update: Yes. It looks strange. This guy moving perfectly smoothly but sliding on the floor sideways just doesn't cut it. The Up->Down animation is finished too, but the same problem here. The number of frames MUST be reduced for several reasons. 1) Avoid sliding problem 2) Make it look more like a game; as it is, the background is not realistic enough for the character and 3) Rotoscoping 20 frames per movement is just not the way to make an adventure game by yourself. It will take forever. By reducing the number of frames (which must be done carefully and by hand to still make the walking look realistic - cutting frames is not enough), the game should look better (more gamish), and be easier to continue. The more detailed walking sequence could be used in cut scenes where the character is closer and therefore bigger (I am now saving him as 2x the size for reasons explained below). So much for my quality of animation. After the walking is done, it will be the path finding and walking routines, then the scripting... a download will be here when the fucker walks! Thanks for your patience.
  • Nov 15: One of the three walking animations is complete (right to left/left to right). I am surprised at how smooth this one came out. I have absolute confidence my game will be of commercial quality now. Tutorials will be posted when all the animations are completed. Then the path algorithm, and then a little demo. The level of realism I achieved with this character walk sequence may pose a big problem. We are used to seeing three walking animations on the screen: left to right (or, mirrored, right to left), up to down (face visible) and down to up (back visible). When the character is walking diagonally, we're used to seeing him slowly skate sideways while the most accurate animation for walking is being played. The way adventure characters have been until now (only a few colors, very small) this was not a drawback. When I go home I'll try to make the guy walk slightly diagonally while playing the Left-Right animation and see what happens. There are some chances this will destroy the realism of the walking animation that came out so well. Maybe this will force me to keep the character small even though it can now be as big as 3/5 of the screen. Anyway I will post the results here... I found out that if your character is 100 pixels high, and you want to scale it to 90%, the image will be blurred. Even 99%. Even 110% or 101%. The character must be saved twice as big as the average display size to achieve smooth scaling without blurring. This takes up megabytes in memory in 24bit+8bit alpha.... It is worth it though, and most people have at least 32 megabytes these days...
  • Nov 9: Went out with videocamera to capture myself walking left and right, up and down. Unfortunately I recorded over part of this five minutes later because of an unexpected rewind of the camera!!! Anyway I got enough stuff to draw the character but I don't like the coat (feedback welcome)... So I will do it again today, wearing something that's not completely black... I didn't want a beard but it seems to be a good way to make the guy look like he's got a mouth so I may keep it. What do you think? On the programming side I implemented constant time. What does this mean? If you're on a slow machine, and it can't keep up with rendering the frames (this can only happen if you have big transparent areas) do you want the animation (time) to slow down or to be constant but lose frames? You have two options now.
  • Nov 6: Major progress during this 3-day weekend. Expression evaluation including system and user functions written from scratch. Animation variables (x/y position, frame rate etc.) are now expressions (for ex. Mousex-animdx/2). Expressions are now a byte code so IDE will have to handle still more complex algorithms to put these together starting from a user input string. Also: independent timer for all animations implemented. Bugs with screen mode changes, window/fullscreen swapping and directdraw crashes fixed. Blitting without transparency for drawing backgrounds faster implemented. GOT RID OF DAMN SURFACE MODIFIER!!! (It's microsoft crap to blit transparent bitmaps, hard to use and slow. Now we're blitting much faster, there should be time enough to achieve great effects and have lots of animations in 640x480 on slower PCs and still get at least 30 fps). I finally got to a stage where I can start drawing my character rotoscoping myself. When I finish, (maybe a week or so?) I will make the path finding algorithm (I've made it before I just have to adapt the code) and make the guy walk. Then I'll put everything on the page for a preview.
  • Nov 2: Figured out zlib so everything (including strings for security) can be compressed in the final adventure resource file.
  • Nov 1: Implemented interface with PNG through libpng so IE$4.0 is no longer required! Also loading a PNG from inside a resource file is now possible.
  • Oct 30: Implemented "display chain" for every object on the screen as a series of directx transforms. You want a mirror that takes the player's image, flips it, shrinks it, and crops it with the mirror's shape? No problem! You also want it to be an object and clickable? No problem! (just wait a few more weeks)
  • Figured out hellish TreeView control (Windows common controls) and learned how to do insertions/deletions/drag and drop actions plus everything that's needed to have a hierarchical tree structure going (for the IDE)
  • Tested primordial engine with windows NT: alpha, antialiasing, music, everything still works!!
  • Now every bitmap passes through an optional DirectX Transform and scaler. For example, one frame of one animation can be represented as a wipe transform between frame a and b with progress 50% ... if it's not clear don't worry it's not clear to me either. But it works! ;)
  • NEXT STEP: Give form to the IDE; figure out how editing process will work and refine architecture before everything starts being implemented.
  • NEXT STEP 2: Rotoscope a character so I can code the path finding algorithm and get it to walk to test things out. While making him walk, the basic structure of all objects will be defined. The engine core routines will also take shape. When this step is finished I will post a download sample because you'll have a room with object Z sorting and a character walking around with antialiasing.
  • DirectX and DirectXMedia are figured out.
  • Sprite blitting with transparency works and is fast.
  • Text output (with black outline!) works and any windows font (raster/truetype) can be used (antialias also works on fonts).
  • MP3 file streaming works! This is handled as a stream in the background so sound effects happen on top and volumes can be regulated separately.
  • We're using IDXSurfaces everywhere so that all our objects will be PNGs with alpha.
  • I've got one room ready to start coding the engine