Archive for the 'games' Category

Graphics Card II

Wednesday, August 2nd, 2006

Well, i got the new card and it was a major hassle to build it in. I have a big tower with an ASUS A8N-Sli Deluxe motherboard all watercooled except the graphics card and the psu. Since the nforce4 chipset also is watercooled there is a custom built cooler on top of it with the water vents at the top. The problem was that those blocked the new card which is really huge so check if you have enough space beforehand.

The solution was to completely dismantle my computer and to turn the cooler 180° so the vents are at the bottom. This was possible since it is symmetric (luckily). i can’t remember why i did it that way back then when i built in the water cooling system but i think i wanted to make sure there is enough space on the second PCI-E slot in case i wanted to use SLI or crossfire (doh).

Other then that the new card is amazing. It’s a beast in all regards. I was able for the first time to max it all out in ‘Oblivion’ (1600×1200 HDR + all high) and it was absolutely fluid. I tried ‘Prey’, a new title based on the doom 3 engine and it was a perfect experience. In ‘Prey’ i also noticed quite a few effects i haven’t seen before on the ATI card - so those are probably SM3.

Another thing to mention is that the card is really quiet and that the fans suck air instead of blowing air out. This definitely makes sense to get cool fresh air from the outside but it is worth being mentioned. Furthermore there is a feature in the Nvidia control panel to show the current GPU temperature (i dont know if it shows it for just one of the two GPUs of a median of both or something like that) and it normally idles at around 50° C and i got it up to 73° C with ‘Prey’. There is a feature in the driver panel to be notified if the max value is reached. That value cannot be edited and is set to astounding 122° C - my god.

New graphics card

Saturday, July 29th, 2006

Uhhh… i couldn’t resist tonight. I just ordered a new graphics card ( EN7950GX2 ). I currently have a ATI 850XT and so far it is fine hardware-wise besides producing some artifacts after a certain high-usage (i think it is heat actually). The drawback with ATI definitely is the drivers. They are simply broken by design… Which other manufacturer boasts that his drivers feature automatic restart in case the driver crashes? And with rendermonkey (a tool by ATi to create shaders) that happened to me a LOT.

The new beast is actually two since it is one card fitting in one slot featuring 2 gpus each with 512MB ddr3 ram. Maaan… finally i will be able to really explore all the SM3 codelines in shaders. The thing with ATI is that they still do not really support it ( tried to find the link again to the story - will do that as soon as i find it found it ).

From all the reviews i read i will be in for a major performance boost - about 4 to 6 times from where i am coming from :)

Finally the price - don’t ask. In fact i cannot tell since my girlfriend would probably impale me…

Gaming project in python II

Thursday, April 27th, 2006

Since the last announcement on the game in python some work was done on it. My graphics-guy produced the first models in Blender which we imported successfully into Ogre.

My first goal was to get the tool-chain in-place. Currently all we need is Blender, any python IDE (i stabilized on using Eclipse with the pydev plugin - great stuff, esp. the debugger), a graphics program. That’s about it. We will probably need a few more tools:

  • an easy to use model viewer for the artist. I dug up a few quite usable model viewers but i think i need a model viewer more specific to the needs of the game. Later on we will use node references in the models (null objects, e.g.) to save space and so.
  • An easy way to deploy it in several forms
    • source (duh)
    • win32 executable. Did that a thousand time and already know how to do that
    • apple executable. I know how to do that but i have no idea how difficult it will be with the newly introduced ppc/intel issues
    • linux executable. A no-brainer with cx_freeze or something similar.
  • Since the game will be data-driven we need an editor sooner or later. I thought about creating my own toolchain in pure python starting from within Blender to standalone tools that should be as general-purpose as possible. I have a nice GUI in Blender, that basically reimplements a full blender gui for general use

Since i decided on a multiplayer game i had some thoughts about how to structure the whole thing. There will be a server and a client. Each component will have several threads: One networking thread that does all the network stuff (twisted can do that for me pretty easily), one game-logic thread. The client will have the additional presentation layer which in itself uses a couple of more threads (music e.g. is in it’s own thread). To get it all playing together nicely will be interesting. My first goal is then to create a 3d chat client-server architecture. Two clients can connect to the server and chat using the 3d presentation layer. Additionally they are notified of incoming messages with sounds.

While coming up with that plan i realized one thing i am missing the most currently: A GUI! Since that will be a vital part in the game i want the gui to be as configurable as possible from within python. For several reasons i do not want to use the CEGUI which is so popular in the ogre community. I will probably try to port ocempgui to the pyogre/pygame combination and see if that works. I had a good look at the ocempgui and liked what i saw. Probably i will rip out a few things but most of it well engineered, esp. the event system. For some reason i would really like to have gui elements being 3d objects in themselves not mere overlays. This would make a lot of sense for a few elements i identified, esp. a time-line like bar at the bottom that will display daytime, weather, month…

Another thing i wanted to have a look into is marry the ogre scenegraph with openal to get sorround sound. This is definitely a nice-to-have and nothing else. If i can’t pull it in a safe way that needs only little maintenance i will ommit it.

The first screenshot from within the engine. Not a lot to see so far but it was already quite rewarding to play arounf wit 3d and python. Game0002.png

Gaming project in python

Sunday, February 26th, 2006

Recently i started a gaming project with my flatmate. I do the coding part and he does the design part. Game design is done by both.

The idea is to get a feel for what it takes to make a game.

After reading nearly all Post Mortems on gamasutra i have the impression that creating games can create a whole list of issues, especially in bigger projects but also on smaller projects. I am curious how our little project turns out.

We did not yet decide on a name or even a codename for that matter. So far i can only state the following:

  • The game will be open sourced (probable not as viral as GPL, maybe CC)
  • I will use python, pygame, pyogre and maybe twisted if we decide on multiplayer
  • I will create a developer diary so i can track later on what happened and maybe write an article about it
  • The game will be in 3D (as you may have guessed from the pyogre part)
  • It will be about trading in a fantasy world (the whole game concept is already much more detailed but that should give you a hint on the direction)

I suspect the project will need at least 6 months to be in a presentable state. We will try to keep the game concept modular so that we can start small without selling our vision on future ideas. Certain restrictions certainly are wise as well. We will not incorporate an action component. The game will give as much time for your decisions as you want at any point. This certainly indicates that it will be a turn based game. We will not target for economic realism as well as graphical realism. A working economical system certainly is necessary to keep the game balanced but realism is not our goal.

So far we are in the phase of building the infrastructure for that (wiki, svn/cvs, a sort of buildbot or at least scripts to easily freeze the python sources into a binary). since we do a 3D game we will use Blender for modelling and probably also as a small game level designer (dived deeply into the blender python and it is very nice).

…to be continued