Tuesday, 13 March 2012

7DRL dev diary - day 5

Day 6 has started, but let's report day 5 first. I was supposed to model 3D yesterday, but didn't do anything. This time of the year is possibly the worst for 7DRL type competition. In arctic regions it's spring time. Snow is starting to melt and sun is rising above the horizon which means it's a blast of bright sunlight after dark winter. It has strange effect on body. On the other hand it's increasing the amount of testosterone, but it's also backfiring in form of tiredness.

It's snowing pretty hard right now, so spring has to wait for a week or two I guess. So does this project, with realistic development time being more like month than 7 days.

Sunday, 11 March 2012

7DRL dev diary - days 3-4

I've got a plan of the ship and some basic tiles planned on paper. I haven't yet programmed anything. The small number of tiles made me think of making 3D models of them with 2D rendered tiles from the top side. 3D is cool, because you can then change lighting, colors/textures and the size of the tiles. It also means I wont finish this in 7 days, but it never was the idea of 7DRL for me.

The biggest problem still is the idea of the game. I have no idea what the player should do. Maybe fix something before the ship goes boom? Battle alien creatures that were attached to the ship while visiting a distant planet? Maybe I should just create the game without content and wander around the ship, trying to think it that way. Or I could just release the game without content, making the player think what the hell he is supposed to do.

Update: Got the idea and it's a good one.

Friday, 9 March 2012

7DRL dev diary - days 1-2

This far I have planned the user interface which is going to have a nice style (I guess). When thinking of the theme I was first planning to place the game in a mansion and then on an island with a lighthouse. Boring.

Now it's second day and I felt that I need something different. Then I had an idea: a large spaceship with cargo container halls as central place. They can be just like regular caves in fantasy roguelikes. Places are connected with elevators. It could be cool to create a 3D level structure so elevator shafts (and everything else too) would be placed in their real location.

I've only started day 2 so it's time to plan stuff. The structure of the spaceship and levels, what items you can find, how about some vending machines? And I need some kind of story, what's happening in the spaceship and what the player needs to do.

Thursday, 26 January 2012

Framework classes

There are now 15 classes in the framework. Still, I want to extend the framework to higher level classes. Some of my goals are GUI itself and a generic Message class to output roguelike style messages. The current one in Kaduria is a real mess, it's very big and confusing so I have to think hard to create a better one.


This is the current list of classes and enums. Tar_Ball is a serialization class with binary/text data format. I'm quite proud of it actually. One of the problems I have to tackle is how class instances should be created. This far instances like Keyboard and Random_Generator are global, because there is only need for a single instance. It's not modular, but I don't know a better solution. Although Random_Generator could have several instances in classes where random numbers are needed, but the seeding should then happen somewhere else. Classes that are global usually can't be used as local instances, because they load stuff or are otherwise heavy to initialize.

Monday, 23 January 2012

Framework

Thought it would be a good idea to create a generic framework for the next project which is that 7DRL I was talking about in the previous entry. I have programmed some modular classes during these years which I have used in my projects. You can view some of them in Teemu's source code, especially in 'classes' subdirectory. What I want to do is make them even better and for that I'm using GCC which is more anal about purity of C++. I will also compile the code with Visual C++, because it's my main development tool.

Building a framework or a library of useful generic classes is wise. It reduces the amount of time spent in setup of a new project and improves code quality since usually those classes have experienced a good amount of testing. What I also would like to achieve is a number of higher level classes that could be used as a base for each new project. For example this far each GUI class has been specific for that project, but I'm hoping to create a generic GUI class which then can be extended with new features.

Saturday, 21 January 2012

Plans for the next 7DRL

I have an idea that could be implemented as 7DRL. While working on Kaduria (and Teemu) I have possibly started to think that a tile should own everything it has. In practice this means that each tile should have container list for items, flags for different stuff etc. For some people this is the way to do things anyway, but it's new to me, because this far a map has been just a collection of tiles, a simple 2D matrix. But when you think a tile as an object that can hold and own stuff it begins to look more and more a good idea. It makes many things easier, but could possibly make others harder.

Another thing I want to try is game objects without inheritance. Just one class for all game object types. It should be easier to do now when I have more knowledge about data-driven style.

If the "tile based" approach works really well there may be a brief refactoring session in Kaduria...

Thursday, 17 November 2011

Teemu continues again

My new plan is complete Teemu 1.3 before 2012. It gives me something to focus on and it's something I can finish in relatively short time, since Kaduria is not going anywhere soon. Some planned features of Teemu 1.3 will be removed from the to do list for 1.3, but not the important ones.

Filco Tenkeyless has been working great, no bugs or whatever. Now I don't understand how I was able to use keyboards like Labtec Ultra Flat. I guess it's difficult to spot if something is wrong with the keyboard. It's possible to write with any kind of keyboard, but writing with Filco is just easier.