Yeah, the creatures won't "take" or cast shadows, unless I want a framerate of... let's see... about one frame each 8 seconds

Thing is that the huge, complicated process of generating graphics for a level will have a slightly anticlimatic ending; one picture that's behind the game objects and one that's in front of them... But the process is still necessary, if those two pictures are to look good!

Update 19The level editor can now save a level, and the game can load it. What this means is that the limiting factor of how long a level can take to render is how long you're willing to wait after having made a level, not how long you're willing to wait when starting a game.

This makes testing stuff a slight bit more awkward for me, as I have to actually save a level first. That's why I waited until now to do it.

Gah, most frustrating day ever... I've been struggling with the shadow renderer, and... that's pretty much it for today. This is what it looks like currently, flaws and all:

Right now the major problem is that objects don't self shadow, there's only cast shadows. The choice is between that and having the objects self-shadow even on the surfaces that should be lit... I have no idea how to solve this, but will probably come up with something...

having the objects self-shadow even on the surfaces that should be lit...

you need some surfaces to be absolutely lit ? lie where the player walks ? an idea could be to define in your "voxel editor" some materials associated to pixels. Some could be "25% self-lit" for example

Almost no progress what so ever... It turns out my code for raytracing the vision of the camera doesn't actually work. However something else (still unknown what) was obviously broken in a matching way, so the code gave me the right output anyway... Fine, up until I need to fix a problem and really have to understand the code. Then I realize it shouldn't work, but it kind of does, except from that problem I was trying to fix. If I fix the code so that it should work it doesn't work at all. So I settled for the broken code, with a dirty feeling of not having actually solved the problem.

With a horrible hack I managed to make it so that platforms are at least shaded on the underside. This is what it looks like now, with a thousand flake-thingies suspended in mid air to test the shadows.

There are some horrible bugs in there but hopefully it's mostly me who can see them. Right now - bye bye shadow code for a while, I'm painfully tired of this...

No one except me can spot the difference I guess, but the difference is that now the shadows are CORRECT! Rendering time is something like 7 minutes or something though... But that's OK with me... At least it WORKS!

Update 21I made the game considerably uglier today... That feels weird of course, but I think it's a necessary step towards starting to incorporate some kind of art direction. I want the game to be mainly flat colors, I believe, but still want the shadows around, so I'll have to find a way for those two to work nicely together.

Update 22I think I finished the shadow renderer today, hopefully to never return to it. The game still looks bad, but now I think I have the tools to start fixing that. However, my entire level renderer is messed up at this point, it doesn't even render the slopes. Well well, two steps forward one step back. Hopefully I will get around to support for tile sets some time soon.

It's nice to see how the different part of the game work independently, when I open one of my new levels to see how it looks ingame the croc's AI navigates through the new environments with ease - obviously, as the level is mathematically the same, but still nice to see.

Today I also did some thinking on the game's overall concept, the reason why the player does what it does and how the world the game is set in will work. I'll give you some of this together with some art at a later point, ideas always sound cooler with some tasty art to go with them.

Update 23Now there is a tile editor, though there are no tile sets. The level editor will work like this:

First, there will be the level editor. Here, two players can work at the same level simultaneously and create the layout of the level. You'll be able to save the level in som kind of test version, with no real graphics, just to try it out and make adjustments. Once you're happy with the geometrics you move on to the graphics phase.

In the tile editor, you can place objects that correspond to the level you've already made. Here I think it's going to switch to mouse control, it would be too tedious otherwise. So you look at your level and place tiles, but you're only editing the appearance of the level, it will still function exactly like it did when you tested it. Right now you can decide if a tile will be smooth concrete or rough rock, but there'll be much more to that as I start to produce some actual graphics.

Then there's the effects editor. Here you add plants and the like, it'll make sense to you when you see it (or I describe it in more detail later). Essentially it'll be stuff that grows on/hangs from/is applied to the tiles you've placed earlier.

After the effects are applied you'll move on to the exciting procedure of staring at light being raytraced for two minutes.

Finally the level is rendered and can be saved.

With the art editor I'm struggling with a balance, on one hand I want the editor to be free enough to make the level look like you want it, on the other hand I want it to be somewhat constrained. This is because not all people are artists, and you should be able to make a level that looks better than you would've been able to draw free-hand. Also I don't want you to be able to make a level that strays too far from the game's general art direction. We'll see where on this scale of freedom/constraint it finally ends up.

Update 24I'm alive and stuff is happening. The stuff that's happening is mainly level editor stuff though, and I don't really have anything to show you. Personally I find user interfaces the most hard/boring thing to do, and it's a lot of that going on in the level editor. The user interface is going to suck, but I don't mind too much as I don't really think of the level editor as an official part of the game.

It's also important to me that the level editor I release is the same as the one I use to make the built-in levels, I don't like the dummed down level editors that are included in some games where it's obvious that the developers had access too a much wider variety of tools. So, in conclusion, the level editor is becoming ugly and hard to use, but it's more of a development tool that I'll also let you guys play with than an actual part of the game. I might include some kind of little tutorial on how to use it, though.

In other level editor news the tile editor is up and running, even more so than before. It works, it displays little previews, it's fairly fast and easy to use and it doesn't have any tile sets to work with yet. Still, the boring technical parts are more or less done by now.

Damn, it seems the level editor is the new croc path finding... Well, if I'm ever going to arrive to the point where this dev log is going to flood with juicy images there needs to be a level editor to generate those images, so it's all good I guess.

Just to give you an idea what I've been working on lately. With the wasd-keys you can change tool and with the mouse you place tiles. All tiles are loaded from a folder on initiation, they require much less space as external files. The little dark square to the right is the tile's requirements. It shows what kind of terrain a tile can be placed on. Some tiles can only be placed on slopes, some require open air in the middle and so on. This is what I meant earlier, that you first create your level and then you're only able to change its appearance.

After you've edited your tile layout you'll move on to the effects editor, which I haven't started on yet. After that you'll move on to a light editor, which I haven't started on either, but that one is going to be fairly simple. Basically it's going to be about drawing a black and white image which determines where there will be light and where there won't. Then the light will be rendered.

During this process you can go get a cup of coffee...

Finally the level will be rendered in its final colors. Currently this looks like this, but I don't plan to keep it that way. This is still just technical progress, I've started thinking about the art but haven't gotten around to it.

Tiles come in two versions, "box" version and "voxel" version. The boxes are basically six textures, for the front and the sides of the tile. Those occupy less space on the hard drive and are faster to render, but are limited in what they can do. The "voxel" type are actual voxel structures, more or less, and can describe more complex three dimensional shapes. The fans or whatever in the above image are voxel structures. If you look at the close up you can see that they have another set of grates inside them. I needed the voxel format to be able to do complex three dimensional stuff like that.

Now this framework is set up, and it's possible for me to start working on the graphics!

On a completely different note I've been thinking about how the Croc will look visually. Hopefully I'll be able to show you something soon!

Update 26I worked on the art today. Still don't have anything I want to show you, but I'm getting there. It's a lot of fun to work with the voxels, any three dimensional shape I can imagine I can create, and see with (decently) correct shadows.

I've been working on a system for palettes. Basically the goal is to convey both light and distance using as few colors as possible, which is not as easy as you might think, especially if you want to make the depth of the graphics justice.

The reason I want to have few, flat colors is because a level will be pasted together from hundreds of graphical elements. By greatly restricting the palettte like this I achieve three things: 1) Some visual harmony, with many many colors it would hurt your eyes2) Color will mainly be conveying level information, decoration is its second purpose. For the sake of conveiance three colors is actually enough (Look at the level editor), so ending up at 15 colors would be hard to motivate3) Maybe most importantly, flat patches of color blend together. If everything has its own color every splice between graphical elements would be visible. If there are fewer colors, however, there's a much greater chance that two neighbouring fields will have the same color, making the joints invisible.

Yeah, sorry, I should've said something about that... The way the game will be colored will be somewhat unconventional, but worry not, I do have a plan! Once I've been able to produce a screenshot, or at least a mock-up, I'll do the concept / art style reveal and things will start to make more sense. Or they probably won't, but there will at least be some cohesion to the insanity!

Update 27Added glass tiles, which are in every way the same as walls except that creatures can see through them. It's fun to see the lizards spot you through a glass wall and then find a way to get to the other side of the glass. Don't know how much I will actually use this in the levels, but it'll be in there somewhere just to point out the divide between visual contact and path finding, showing off some croc intelligence. Possibly there'll be some level that's a maze of glass with only a few blocks of solid material, where you'll have to move quickly from cover to cover waiting for a croc to face the other direction.

Thing is though, that the game will be pretty heavily stylized art-direction wise, using a more or less black and white palette. This is for artistic reasons that I hope will be more clear once I get more visual stuff up here. Talking of which, I did some pen and paper designs for the croc today! Also started to implement it a little bit, it now looks like a little sasuage moving around rather than three dots. A first few steps towards giving it an actual body!

Update 28I stepped away from my computer a little and did some sketches for the earliest single player levels in the game. I think this is a reasonable way to start, because if I know what levels I want to make I can make art assets that fit those, rather than making a lot of random art assets and then trying to fit those into the levels.

Those are likely going to be the very first levels, but they are also likely to look different from this. These levels will teach the players the controls and the basic premiss of the game. I'm trying to do this as best as I can, keeping

in mind. I won't go into too much detail, but level 1 basically teaches you how your basic moves work, and level 2 teaches you the basic mechanics of A-creature/B-creature interaction.

The main thing that happened today, aside from all this, was that I split the level editor and the game into two different applications. It got too cluttered, and I also figured that this way I might be able to release the two separately. That way people who're not interested in making levels get a smaller file size, and I can also release them at different dates, meaning I don't have to polish the level editor to perfection just to release the game.

The main thing that happened today, aside from all this, was that I split the level editor and the game into two different applications.

Cool ! Just one advice so : put a version number (minor and major) at the head of you level file. So if level editor & "level player" are released at different dates, you can keep everything compatible