1.0(inio)c16  







I've been putting off actually saying this for a while now, but I've finally made my decision.

1.0c16 is the last working release of a Aleph One I'm going to make. My life and interests have moved beyond making improvements to an 8 year old game engine.

I regret saying this but... that's it, I'm out. Aleph One has made the long walk from my Projects folder to my Dead Projects folder. As promised, here's the rewritten collision and (partially functional) graphics code. Aleph One (inio) the end (source).


I would like to ask politely that this stay off the dev list and S.B.O. I'm trying to make as quiet an exit as possible, and an eruption on the list about the death of B&B wouldn't help that. As this has now happened, and in as good a way as I could have been hoped for, there's no reason not to spread this information.

The fact is that B&B is NOT dead. Several people have asked how it worked and were amazed by how simple [the original version] was. I know of at least one person who is currently working on what was originally "competing technology", but I'm not going to name any names so that they don't get stuck in the same position I'm in now.

The B&B that the private test group saw was the quickest hack of a feature addition ever made - the first version took less than a day to write. The problem was that this hack doesn't scale well to full integration into the game, which is what bogged down my development. The code I'm releasing has most of the structural redesign required to do it right completed or at least started, most significantly the new collision code and replacing certain public variables in the map data with accessors.

I hope very much that B&B does happen, but I'm sad that I won't be there to do it. To try and help it along, I've written up a short document about how my old B&B worked, and how my vision for the new B&B would work. You can get it here.

As for this site and its content, it will remain here as long as I have a box to host it with and own inio.org, which hopefully will be a very long time.

Sincerely,
Ian Rickard (inio)






News:

  • New OpenGL texture purging should all but eleminate white squares!
  • NEW! Also for c14: infinity shapes patch (2.5M, now a Shapes Juggler Shuttle). This will replace the Water, Jjaro and Pfhor textures in the regular infinity shapes file with hi-res versions. Requires Anvil to apply the patch. Be sure and apply the patch to a COPY of your shapes file, The new one won't work with other builds of aleph or the regular infinity app.
  • For those without Infinity: this shapes file (3.4M) (requires build c14 or later). This shapes file is based on the shapes file from the Infinity Demo (BIG) and will only work with it's maps. These textures aren't quite as nice as those in the patch above because I forgot one step when merging them into the shapes file.
  • The screenshot to the left was taken at 1280x1024 in dithered software mode, with the replacement shapes. My G4/533 was getting around 12fps rendering that. The full resolution version is available here.

visible changes:

behind the scenes:

Things to pound on:

How to make enhanced shapes files:

This isn't that hard, but a description is in order. First things first, you'll need HexEdit to tweak the shapes file. You'll also need Anvil to get the new shapes in, and a decent paint program (with good color reduction/dithering, Photoshop works quite well). Once you have all these ingredients together, the first order of buisness is to change the collection type of the wall texture you want to change.

Duplicate the shapes file, call thew copy something usefull (shapes.new works), and open this copy in hexedit. Pull Find down to Goto... and change the mode to Decimal. The value you type in depends on what collection you want to mess with, heres a table:

Water548
Lava580
Sewage612
Jjaro644
Pfhor676

This will jump the insertion point downward in the file, and immidiately after the insertion point should be 8 characters, with the first two 00 and the later 6 being some random string of letters and numbers. Open up the Goto... window again, change the type to Hex, and jump to this address.

If everything worked right the insertion point should jump to right before something reading 00 03 00 01. This says the equivelent of "I'm a version 3 collection, and I'm a texture collection". Change this to 00 03 00 03 ("I'm a version 3 collection, and I'm a interface collection") by selecting the 01 and and typing 03. Save the file and close, then open it in Anvil.

"They're Sideways!"

you exclaim. Yes, if everything worked right the textures should now be sideways. Interface bitmaps are stored in row order, textures are stored in column order, you just have to deal, mmmkay? However the benefit of doing this is you can now paste in BIG TEXTURES.

As for actually getting the new textures in, theres many methods, but heres how I did it:

Creating bigass textures in 14 steps, 19 sub steps, and 4 applications.

  1. get all the new textures together in a folder with numbered file names (matching the bitmap # they're going into).
  2. Use GraphicConverter to concatenate these into a single file (columns and rows can be anything you want as long as theres enough to hold all the images).
  3. Open this image up in photoshop, fill in any space left at the bottom right corner of the file with black.
  4. Reduce this image to 253 colors. Play around in the dialog a lot. I've found the following options work good:
  5. Once you have the 253 color palette, go to Image->Mode->Color Table... and do these things:
    1. set the last color to solid black (0,0,0). It should be very near that (8,8,8) usually.
    2. set the last three (unallocated) colors to:
      1. 0,0,255
      2. 255,0,255
      3. 0,255,255
    3. Save the palette out to a file (mara[set].act)
    4. remove the last three colors (by option-clicking on them)
    5. Save the palette out to ANOTHER file ([set].act)
  6. Close the document up and don't bother saving, you won't be using it again.
  7. open a copy of mara[set].act in HexEdit.
  8. At the end of the file, you should see the following byte string:
    00 00 FF FF 00 FF 00 FF FF
    Select this, cut, click at the beginning of the file, and paste. Save, close.
  9. Pop into anvil, go the the collection you're replacing, switch to color tables view.
  10. Choose the folowing menu commands, in order:
    1. Shape -> Activate Expert Mode
    2. Expert -> Disable Color Safetey Checking (this is the step I forgot for the demo shapes file).
    3. Expert -> Set Number Of Colors... and set it to 256.
    4. Shape -> Import Color Table From Photoshop choose the copy of mara[set].act that you edited.
      And if that looks right
    5. File -> Save
    6. Shape -> Export Color Table To Photoshop and save it on top of the original mara[set].act.
  11. Now open the first image (00.psd or 00.tga or something) up in photoshop, open the actions palette, and create a new action. Call it "texturate" or something. Then preform the following actions:
    1. Image -> Mode -> Indexed Color Choose the original [set].act. Set dithering to whatever options you noted were the best general setttings back at step 4.
    2. Image -> Mode -> RGB.
    3. Image -> Mode -> Indexed Color Choose the mara[set].act you saved from anvil. Change the fist color to bright purple (255,0,255) and the second to bright blue (0,0,255). Set Dither to None.
    4. Image -> Mode -> Color Table... Change the first color to bright white (255,255,255).
    5. Image -> Mode -> Color Table... Change the first color to bright white (255,255,255).
    6. Image -> Rotate Canvas -> 90° CCW
    7. Image -> Rotate Canvas -> Flip Vertical
    8. File -> Save As... as a PICT, in a folder for just these picts, not as a copy.
  12. Stop the recording, switch over to Anvil, and try importing the texture (Shape -> Import Bitmap From PICT. (Using resedit to put command key on this might be usefull)
  13. If this works, do a batch process and convert all the images over. Once thats done go back and re-do the ones that need custom dithering options by turning on the dialog for the first Indexed Color commandand then opening each image and running the macro individually.
  14. Import all the pictures into the shapes file, save, and try it out! In some cases (images with transparent sections) you'll have to do extra futsing around in photoshop.

         Do this step and then you're done!





inio | A1BB | Aleph One | Rubicon | Unreal Tournament

Reverse egosurfing: Ace Bandit, where are you?