Friday, July 15, 2005

Input system / The beginnings of mesh loading

Today I've implemented the input system on BitX. It's a wrapper around DirectInput, to manage user input (with keyboard and mouse) at a higher level. So now BitX has a little basis: windows creation, input system, scripting system and Direct3D integration.

Now I think it's time to start with mesh loading, that is, I have to start studying the .X file format, which is the format I'll use in the engine (mainly because it's the format I'll have more info about). I don't know anything about meshes, so the things will get complicated from now on. In next posts I'll write about the concepts I learn.

See you!

Thursday, July 14, 2005

Starting with Direct3D

Well, it's been a good morning, because I've finished the implementation of the display modes enumeration and the creation of the Direct3D device. Now, when the user runs the engine a dialog box showing the available resolutions, color depths and refresh rates appears on screen. When the user clicks the 'Ok' button, the main window appears (windowed or fullscreen, it depends on the user) with a test message inside its client area (I have implemented a basic font system to do that). The frames per second are also shown. So, now, the main objective is to integrate an input system into the engine to detect the keyboard and the mouse. Then the 'real' thing starts: audio system, mesh loading, scene management, ...

See you! :)

Wednesday, July 13, 2005

Encapsulating windows creation

Today I have started with BitX development. Basically, I have created the Engine class skeleton, which will be, of course, the main class on the engine. The idea is to access all of the engine's functionality by solely incorporating an #include statement and a library file; and then instancing the Engine class. This class is still very simple, but now at least it makes possible to display a window on screen with a single line of code, encapsulating the Win32 details. The next step is to acquire the user's device capabilities and show the possible display options in a window in order to allow him to choose the wanted one. I have spent all the day programming the windows wrapper and I think any programmer would have done it in few minutes, but at least I'm learning and having fun, these are important things. :)

See you!

Tuesday, July 12, 2005


Welcome to the BitX Engine blog! This is an attempt to gather some words about my experiences with BitX development, a Win32 - C++ - DirectX engine.

Well, firstly I have to say that I'm a Spanish student who loves games and programming. I want to learn all I can about these topics. Until now, I have developed some simple bidimensional games using diferent tools, but I've recently taken the decision of developing an engine in order to be able to start developing three-dimensional games (I think it can be a good way to really learn C++ and DirectX). I'm a beginner so I do not pretend to make an excellent sofware piece (firstly because I don't have enough knowledge...); my only desire is to learn to create a tool to simplify the development of a game. My idea is to start with a wrapper for the most common tasks (graphics, input, audio...) and then to continue expanding it.

Please feel free to comment on any entry here: any kind of feedback is welcome. ;)

See you!