Saturday, August 26

Comic Format

I've started to create a file format for the comics created with the comic studio. I'm going to use XML for this and even though I like the efforts made by Jason McIntosh I'm going to create something that differ quite a lot from his ComicML. That's the nature of formats I guess.

The big difference I feel between Mr McIntosh approach and my own is that ComicML is more a description of a comic book or a comic strip while I need a format that lives through the creation of said comic. It's like comparing a service manual for a car with the blueprints for the same car.

I also want my file format to be easily browseable in a tree view. This means that all information should be stored in attributes and that the only tags needed should be things that have a corresponding physical comic book metaphor. Tags could be "collection", "issue", "page", "panel", "balloon"/"caption" etc while width and height, color and line weight etc should be attributes.

Actually I might have to break that rule when it comes to marking up actual dialogue where such tags as "scream" and "whisper" will be needed.

I don't want to post any examples yet because it's very much in the making right now.

Tuesday, August 22

Segmented Brush Strokes

Here we got a slightly more complex stroke. Or rather a segment of a stroke. The plan is to string segments like this one together to generate longer strokes.

The more segments a stroke is build up by the more organic the result might be but at the same time it might become increasingly difficult to handle. My hope lies in finding a simple way to control both how the segments of the stroke is distributed but also changes in the line weight.

Talking about line weight (i.e width) I found that it wasn't as easy as I hoped to apply the line weight to the stroke. As you can see in this example the weight at the middle of the stroke has a different value than a similar weight at the end points. It's hard to explain but I need to adjust the weight/width at the middle of the stroke depending on the angle of the curve. This is most noticeable if you try to create a really steep curve.

Sunday, August 20

Creating a Brush Stroke

This looks really simple but it's actually a bit tricky.

The stroke is created by drawing two curves with an offset depending on the weight of the line.

The direction of the offset is important to achieve a nice stroke and in this prototype I align the offset to touch through the red point between the two end points. This red point divides the line between the endpoints relative to the length of the triangles two other sides.

Finally the paper effect is created with a simple displacement map.

The boring part about vector graphics is all the draging of endpoints and what not. I hope to create a better way to do it that involves nudging of the endpoints so that the drawing process becomes more like sketching. You'll understand what I mean when you see it later.

Tuesday, August 15

Comic Book Studio Workspace

I've done a lot of work on the Comic Book Studio lately. There's a lot of prototyping, moving things around, but there's great progress every day now. I take my time though, keeping the code simple and managable, since this project will never end and there will always be things that can be improved on.

Here's a screenshot of what the userinterface looks like right now. That's a menu bar, some toggle buttons, the script editor, the art board and a area for an property tree.