Thursday, March 11, 2010

Chiustream tomorrow friday at 22:00 GMT

I know I said I wouldn't update this blog until I have something of my editor to show for it but I forgot about one thing:
Tomorrow, Friday 12, at 22:00 GMT or 5:00pm EST will be held a Chiustream.
"What is a Chiustream?" you may ask.
Chiustream is a live 1 hour contest held by Bobby Chiu from Imaginism Studios (the ones that designed the characters for Tim Burton's Alice in the Wonderland).
The contest is about art. Drawing, painting, digital, traditional, anything! The theme of the contest is given at the start of each Chiustream, after that you have one hour to paint and to submit your artwork to and then you have about 10 minutes to vote for your favourite work (apart from your own).

"Why is it called ChiuSTREAM?" Well, that's because it's a live stream, that's right, Bobby Chiu will be painting alongside with us, and if this chiustream is gonna be like the other ones the prize will be the paining he's drawn.
The themes are mainly asking to draw a character or a creature so it's always interesting to participate. Even if you don't want to participate you can still lurk on the ustream, listening to his sexy and overly cheery voice, since he's an extremely charismatic person and often says things that stay with you for a long time.

If you're interested then visit the following site:

I hope to see you there and even participate! (I won't be joining the IRC chat since it doesn't work for me on ustream and ustream channel blocks mibbit IRC client)
I'm out!

Monday, March 8, 2010

If you fail: fail, and then fail again.

Programming without planing everything through has finally taken its toll. I have to scrap most of the editor code, leave the PC, grab a bunch of paper sheets a pencil and thing everything through.
This time the problem was that I didn't differentiate the edit mode from the game mode, which lead to serious complications (the code worked fine but the logic behind it didn't).
In this version you could change the entities on the fly without having to worry about it making any sense later but on the other hand you could also edit entities that shouldn't be editable and once a game run it preserved its state and didn't reset.
What I'm gonna do now is use the game engine as it is, take out the editor related stuff and rebuild it so that while editing will take place inside the engine, it won't be held at game runtime. I think it'll be easier to manage editor logic like this. All the previously existent features should still be possible right now, but running the game during the edit mode won't be possible that easily, it'll have to save the level, reset the world and load game from the saved map, and then do the same when entering edit mode. It'll still be faster than closing the program and loading the map again since all the textures used in the map will be kept.
This is also another thing my engine has: preserving resources between levels. After a level finishes loading it'll just delete the resources noone asked to load and thus shortening the loading time.
That's all for today. I doubt I'll update this blog until I make significant progress.
See ya in a week or two!

Edit Mode slowly but taking shape

Pretty much like the title says. Although I haven't planed anything beforehand, the editor mode is slowly taking shape, most of the work is done under the hood but here are some more notable features I implemented so far:
-Selecting/deselecting entities (so far only the player can be moved but it's only because I haven't integrated the other entities into the system).
-moving them around
-Displaying their info.
-select different layers and being able to select ents only on that layer

The editor is embedded into the engine so you can enter it at any time in the game. So far I still didn't implement saving and loading but that isn't far behind. In fact the editor saving will work exactly like the game loading and saving. Later I'm gonna work on this system a bit more to differentiate loading and saving a map and loading and saving a gamestate, which shouldn't be that difficult.

My hopes for the next editor update should be the following:
-Integrating all existing entities into the editor
-creating and destroying entities.
-Changing the layer an entity is on, and changing the order on the layer (bring forward, bring backward, etc).

Later yet I'll add the saving and loading of the maps.

There's still one major feature I want to add to my editor:
Entity Edit Mode

This mode will be specialized for every new type of entity. Normally you can move, rotate and scale the entities. But what about those that need a custom texture, or those that have a model or animation you want to edit?
In those cases you enter the entity edit mode and you'll be able to edit everything as you see fit, with your own custom GUI and everything.
So it'll work kinda like a program inside the editor.

Here you can see how everything looks now:

Not very inspiring, is it? Oh well, the GUI will come later when the most important features will already be implemented.


Thursday, March 4, 2010

I'm doing it again.

WARNING: wall of text coming without pictures and with too much philosophical crap.
   Damn, I thought I knew better than doing an editor system without planning everything beforehand. Every session I have programming it get's to be a bigger clusterfuck than before. However I do wonder if I'm actually doing the right thing. Last time I started jamming code without planning it through,on the December LD,everything got FUBAR, and I had to scrap lots of it in order to be able to make anything, but I have also learned tons of little tricks that helped me out before. Programming without having a concrete plan, with just having a vague Idea in mind, actually6 is lots of fun since you make things up as you go.
When I studied animation (by myself) I learned there are two kinds of animation. One of them is drawing as you go and the other is by doing keyframes and interpolating between them. The second one gives good results by being pre-thought, however it gives boring results, the first one however when you're animating as you go it's a lot more entertaining to animate and gives interesting results and livelier characters but tends to miss the marks and is in general unorganized. A good animator uses both of those styles to get the best results, and I'm thinking if it isn't the case with programmers too.
   Maybe programming stuff without pre-planning everything and then scraping most of the code but keeping the interesting stuff can become my way of doing things? Sure it wastes a lot of time but it also gives good results! When the entity system was in such a stage and scrapped everything I did learn a lot more than I expected, and you learn the most when you fail, so it might be possible I'll learn something even if I know beforehand something is gonna eventually fail.
That's all for today. Cya!