söndag 11 november 2007

What to do and when?

Hi,
The last couple of weeks I've been reading up on engine design a lot, and this has had some effects. Today I begun rewriting our task manager, or the use of it. Up until now we've had our manager more or less idle, because I wasn't sure how to use it properly, but reading articles on the subject has made things clearer. This means that the basic structure of the low level components of our engine will transform a bit in the future, for the good of course.
Ciao

tisdag 6 november 2007

Bifurcation

First: Sorry for the slow updates in the Swedish blog, when things speed up in the creation process, so will the reporting.

Lately, I've been reading frequently about object management in different types of communities, books, articles etc, and I am thrilled to see that there is no real universal solution to the "problem". On one hand, you can do it quick, simple and well adjusted to your project. On the other you can spend a bit more time and have it more general. Really, what you choose depends on what you need, and this is where it becomes tricky. When you start a project you may not know all the details of the completed game and you will not know entirely what you will need your engine to be capable of. Some might say that this has to do with being able to plan ahead, but some questionmarks will remain. As for the object management, choosing a more general solution basically means it will be harder to create more complex objects, like tanks, cars etc, that need several types of physical components all tied together, the communication between them might get a bit mixed up. But if you choose to use an inheritance tree in a situation where you need many similar yet different types of objects, you will end up with far more classes than you need, and a lot of copied code.

What I'm trying to say is that at this point in the developing process, we really need to decide what the engine should be able to handle. And this is always hard. Everytime you start out, you want your compiled code to be totally independent of what the specific game will be, but in reality, you will probably have to sacrifice either speed or reusability or something else.

More questions - fewer answers this time.
Tomorrow: Sweet Nineteen, wish me a happy birthday and stay tuned.

tisdag 30 oktober 2007

Object Communication

Here's a simplified scheme of what inter-object communication might look like...remember these are just suggestions, if you can think of another option using the things in the image, that function will probably exist in reality.

Component Craze

'noon,
Today I finished the basic structure of the object management system by constructing the basic virtual functions of a component, as well as a small messaging system. I've played around a bit with adding components to objects and it feels comfortable this far. Yet, nothing concrete is finished but I think I'll begin implementing the system into the existing engine soon (until now the component system has been side project). This will mean some major reconstructions, but as there aren't many existing types of game objects, the time spent won't be huge. As always: no pictures - no fun...but hang on tight. (I'll get a sketch of the object system up soon)

måndag 29 oktober 2007

Kneedeep

Hi,
Sorry for the last months absence. As expected, the first semester at the university ate most of our time and I can honestly state that we haven't made much progress in October. As of last friday some of our courses ended and new started today. For me, this means 3 courses instead of 4 and hopefully more time to work on the Odd Engine. Today I started a slight restruction-process to be able to implement a new component-based object management system. In short, this means that instead of hard-coding objects like "Car" or "Enemy", you code the components needed to build these objects. Then you define the objects (by their components) in scripts or databases. This is a more general, and reusable, approach to object management. This means a bit more work for now, but it will hopefully pay off in the end. As you might suspect, this is a result insufficient planning of the engine, something that I'll gladly admit as this is part of our learning process. So basically I want to stress the importance of planning, sketching and structuring, for anyone that might be in the same situation as us. I hope to report soon again.
Ciao

måndag 24 september 2007

Progress

This weekend our little team held a short meeting discussing what needs to be done and what already is. The biggest issue of the last week has been wether we should keep OpenAl as our sound system or change to FMOD. This disscussion comes from different reasons and I can't say we have reached a final conlusion but a certain thing is that we will build our own 3d Sound Manager. This has both pros and cons but Tobias happily agreed to do it making it his main project.

As for me, I realize I have stepped aside a bit from the goals I posted last week, but the last few days I have built a basic LogManager, something that is needed more and more by the day as our project expands.

Joakim got the task of creating a Console / ConsoleManager for the engine. We put some thoughts on possible functions and paper, and the ideas are looking good even a couple of days later.

I don't know if I ever mentioned it, but the game engine we are creating are now officially called
Odd Engine in short, and Oddrose Media Game Engine in full.
(I realise many of you would want it to be the more logical OMG Engine, but I wouldn't be able to sleep if we named it that. So Odd Engine it is.)

måndag 17 september 2007

Resurrection

Hi,
This last couple of weeks, (is it a month?) have been quite turbulent. With the start of my first semester at college, I (along with my fellow team mates) haven't been able to write more than a couple of lines of code. From this day, however, our daily schedule doesn't include an evening activity, which will hopefully enable us to work on this project a bit more.

The current situation is this:
* We have written a good chunk of a complete inventory system
* We have implemented some scripting features with LUA
* We have continued working on the GUI
* A time class has been constructed
* Updated character/camera movement, both now controlled with the mouse

Current goals:
* Complete the inventory system
* Get a working GUI class
* Construct a character loader
* Get working on a sound manager
. . .

I hope by this message I'll make it clear that we are in fact alive and healthy, and we plan to continue working on the project as soon as by this afternoon.

Good afternoon,