Hi guys. Well, I’m almost at the end of the road finally with blueprint. No, I’m not giving it up. I’ll be sending off a version to the test team either tommorow or the next day and then after a week or so of object testing, we should have a final version for you. More details will be forthcoming on the release and what is and isn’t included so in the meantime another eye candy screenshot of the program as it is now. I’ve included the full shot I made today which is 1600×1200 but for those that are on slower connections, there’s a smaller version below. Catcha later!

(1600×1200 Image)
(1024×768 Image)

So before I break into big blue I thought I would jump on my object soapbox yet again and yap about object ownership and all this sense and nonsense that’s floating around about objects being stolen (feel free to skip this post if you feel the need to go sort your socks or some other more important issue).

First off, any object created currently is always based off of Maxis’ work so it’s considered a derivative of their efforts. Now, Maxis has given some sources objects that are not to be copied because not only the object was passed onto the party, but the right to do what they want with it as well. This was the case of the birthday cake from the 200th issue of CGW. It was thiers to do with, a present from Maxis (they could have just as easily kept it to themselves, but they published it on their magazine for those that bought it to enjoy). With that said, Maxis has also given everyone creative freedom to do what they want with objects and the end result (a modified clone of the original) can be distributed in whatever way the author sees fit (or not if that’s the case). So those that are claiming the objects is theirs and theirs alone, are half right. They have control over redistribution or cloning rights but when it boils down to it, without Maxis making the object in the first place you wouldn’t have much to work from.

There are a few different definitions of object theft that I think needs addressing. First off, there’s the blatant thief. This is some guy (or girl) who takes someone elses work (including Maxis’) and simply slaps their names on it and puts it up on a website. These people need some psychiatric help and shouldn’t be allowed to lurk on the internet in any form. Then there’s the pixel thief. This little guy takes other peoples work, colors a pixel here, moves a pixel here and voila, an original piece of nothing. Again, lock these guys up and throw away the key. Then we find the patch thief. This guy takes a half dozen of someone elses work (could be multiple sources) and patches things together. An eye here, a lip there and there you have it. A new Sim is born. These guys are crafty and somewhat talented I’ll give them that. However, it’s nothing short of taking a stack of Stephen King novels and ripping out pages, pasting them into the new horror novel of the century (changing the names where needed). Not quite original but they get an A for effort. The new breed is the re-distribution thief. Here’s a fellow who takes other peoples stuff, posts it for all to enjoy and either a) goes to the effort of saying the work is original (claiming ownership) or b) fails to credit the original artisian and plays dumb when asked about the original author.

Now something to remember about this type of creature. There are dozens of Quake, Unreal Tournament and Half-life sites that do something similar to this. Post files (or allow you to post them) to their massive libraries of prefabs, levels and textures. Nothing new here. The twist is of course, none of these sites claim ownership or (gasp) copyright of the uploaded materials. The fact that most level authors don’t have a personal website is another factor so all they want to do is get their work out there. The Sims is a different world and such, different rules apply. Most sites are run by individuals or groups and have a solid following for distributing good quality objects, skins, etc. There doesn’t seem to be too many people that simply create one or two objects and for those, there are a few places like TSR where they can upload their work much in the same vein as the sites above do (getting full credit of course in the process). Somehow though, when Sim fans (I almost grapple with calling them that) get online, all morales, scruples and ethics go out the window and they’re hunting down the best sites stealing what they can and slapping it up onto an equally pathetic site with their name firmly attached. What balls some of them seem to have. And when confronted with this, it’s as if they were caught speeding by the radar gun and they firmly stand innocent of all charges. Go figure.

So what can you do about all this? Do you care? Does it affect you? For the artisians that pour their bytes, skills and techniques into their work, it means a lot. Protecting your work on the internet is no different than protecting it in the real world. A copyright notice on your website is legally binding enough to protect your creations so this is a good thing. However, my advice is not to go flying off the handle and taking matters into your own hands. Don’t try to enlist the help of the internet in your cause (as just as it may be). Instead, deal with the site in question, their ISP and other methods to deal with the situation. You’ll never know what results you get. As for the end user, the best advice I have is to stay informed of the community and keep in touch with what’s going on. If you enjoy objects/skins/whatever from a certain site, keep downloading from there as your primary source. Various forums on TSR and SimFreaks (to name a couple) will keep you up to date with any goings on. There are some efforts to make these kind of obsenities more public so keep an eye open for these as a good source of what’s hot and what’s not in the community.

Okay, enough babble for tonight. Enjoy your evening.

Wow. Back from the dead after a weekend of debauchery. Sheesh. Seems like the entire Sims community is going whacko or something. Object theives. DOS attacks. Surprising similar named sites popping up. All kinds of wonders. Amazing how things break down coincides with me taking the weekend away from SimLife 1.0. Oh well.

Well, I will say that Windows is a pain to program under sometimes. So there’s good news and bad news today. The good news is that I’ve beefed up texture loading to support the following formats (don’t worry if you get lost in the sea of extensions) .bmp (Windows), .cut (Dr. Halo), .jpg (JPEG), .lbm (Deluxe Paint), .pcd (Kodak PhotoCD), .pcx (ZSoft PCX), .pic (Autodesk Animator), .png (Portable Network Graphics), .raw (RAW Graphics Format), .sgi (Silicon Graphics), .tga (TARGA), and .tif (Tagged Image File Format). So a lot of choices for texture formats there. The bad news is that I can’t seem to get it to correctly export unless the screen is maximized. I know it must have something to do with the fact that OpenGL requires images to be powers of 2 (2, 4, 8, 16, etc) but in the meantime I’m just going to force the windows to be maximized until I can figure out what’s wrong.

Another day, another turbulent thrashing of code by yours truely. I like to work everyday on blueprint but its usually only a couple of hours which doesn’t always produce anything useful. The blueprint wagon is grinding along, probably not at the pace that some people want it to, but progress is always being made. Anyways, nothing to show you today. Working out problems with palettes. Anyone who’s done things in Tmog will know my pain. I don’t know what it is with Windows and why that made life so difficult what with device dependant bitmaps, device independant bitmaps and bitmaps in general (all of which you have to jump through hoops to get to be compatible with each other). So that struggle continues. The goal of course is to get something out to you as soon as possible, however there are still some hurdles to overcome. I’ve already restricted bp to create single tile objects only with the first iteration (multi-tile will come soon after) but there are still things like handling all the animation aspects of objects to contend with (after all, I can’t keep restricting what blueprint can do or else you’ll end up with a program that well, doesn’t do much).

Some clever hackers that have been poking around inside the IFF files wrote me about the display that blueprint is producing and saying it’s fake. This is because they claim there’s no yellow pixels in the file format. Well, they’re half right. The image from yesterday isn’t fake but it’s true that the image stored in the IFF isn’t what you see. Just like the image that Tmog exports isn’t what’s in the IFF either. The sprite resource that’s in the IFF file is compressed (and encoded in some cases) so it only contains the pixels for the channel, nothing more. So no big yellow background. The offsets that accompany the sprite structure tell it where to offset it and in a bitmap that’s 136pixels by 384pixels (the size of an object at maximum zoom) that’s where the offset puts the image. The rest is padding that Tmog and blueprint add to make it easier to see and (in the case of Tmog) edit. This also allows you to change the entire image with Tmog if you decide to completely change the image (replacing the zbuffers and alpha channels as well). Having only the sprite image itself means you can’t really replace the entire image (well, maybe you can but we won’t get into that). So what you see isn’t always what information is available in the resource files for the game. It’s just formatted that way to see it in a better light.

New blue stuff today. A while ago I went through the exhaustive description of the various stages of creating objects and one of them was the staging of the sprites (or sprite editing) and matching up what blueprint produces to what The Sims has. So below is a screenshot from the sprite editor. The premise is simple (or at least it should be). You’ve give a list of sprites that exist in the object and a preview of them. For each sprite, you can select a blueprint frame and the contents of what’s visible in that frame to replace the sprite with. blueprint uses the concept of frames whatever way you want to, but usually for animation. For example, if you had a door opening animation of 5 different images, you setup 5 frames in blueprint to represent each angle the door will be. Then you adjust the door in each frame (blueprint remembers any changes you make in a frame) and when you get to the sprite editor, you match up the blueprint frame to the sprite. The tree on the right is the contents of your blueprint objects (the same tree I showed a few days ago, but with a checkbox next to each item) so you have complete control over what 3D elements (or meshes) go into what sprite. Then you can generate the preview and see what it looks like (just ignore the rather pathetic creation I made below, it’s a half dozen boxes tossed together in 5 minutes, you would obviously spend a lot more time creating your object). Note that you don’t see any rotations or zooms (nor is there any facility to view them). This is because there’s enough information in the IFF file to figure out how many sprites are needed for each zoom/rotation (some objects are just flipped and thus don’t need a ton of sprite images created). blueprint takes care of that behind the scenes, matching up the 3D image to the mesh (after you tell it what’s what in this dialog). This will change somewhat as I add support for creating your own new sprites for objects that are started from scratch, but this shows you how things fit together. Hopefully that explains a few things.

Okay, some people were confused with my bizzare offer from yesterday. I guess I was taking a mind altering drug or something. The idea wasn’t for you to send me your video card so I can fix blueprint and you stare at a blank screen. I’ll send you my Diamond Viper 550, you swap it out with your ATI card and ship it to me. I know, seems silly but some people emailed me telling me I was an idiot if they thought I could get a free video card out of the deal. Back later tonight with some real blueprint news.

Hmm. Here’s a thought and you may or may not think I’m insane. I have a perfectly good Diamond Viper 550 card sitting here doing nothing (PCI 16mb memory). It’s an excellent video card and even has 3D accelleration. I don’t have any ATI cards, so if someone out there has an ATI card that wants to swap me for the cause of getting blueprint working then I’d be game. Yes, this might sound silly but hey, it’s a win-win scenario. I get to fix blueprint’s support of a video card I don’t have, and you get a new (well, not new but new to you) 3D card for playing games with. So if you’re game, the requirements are simple. You must be running an ATI card and having problems starting blueprint (a GP error at startup). Two things could happen. a) the newest version of blueprint I have doesn’t produce the error b) it GPs and I fix blueprint. In either case, you get a new video card (IMO Diamond is much better than ATI anyday) and it just costs you the shipping to get it to me. Anyways, if anyone is interested then please email me and we’ll set something up. Thanks.