Thursday, September 20, 2007

Box2D C++ porting woes...

My projects are somewhat stalled now, due to the porting of box2d.

1. This problem has stopped me for a while, until I gave up and asked for the answer on the Box2D forums. I knew what pointer + i was, but pointer - i is new to me.

2. D compiler crashes when trying to compile some of the .d files. I'm hoping this will resolve itself as I get more and more D code to compile. If not, it's another potential time waster as I look for a work around or wait for a compiler fix.

I still have some hope that I can get it done soon, though.

Friday, September 14, 2007

Box2d, for D!

Alright. Erin Catto's Box2D ( is going to be /the/ 2D physics system, as the success of his original Box2D has already created many spin-offs.

I want to be able to have access to the most advanced 2D physics I can have in ArcLib, but keeping the physics system up-to-date with Erin's new stuff is going to prove a challenge, and in order to accept this challenge, I started a seperate box2d4d project on dsource which aims a providing a close-to-source as possible translation of Box2D.

The ArcLib physics system upgrades is now a three step process, now without pressure of us ArcLib developer's having to develop new physics features ourselves, but merely staying up-to-date.

The pipeline goes like...

Erin Catto Updates Box2d --> box2d4d updated --> arclib updated if needed to support latest version.

Simple, mechanical 3 step process. The first pass will be the hardest, the rest will be easy and I can concentrate on other aspects of ArcLib, like lighting and the API. Until then, my time will be spent on box2d4d.

~ Clay

Tuesday, September 11, 2007

Requested Project on Dsource

Today, I gave my partner the run down on arclib, had him install D + DSSS + Arclib, and requested a dsource project for the game.

~ Clay

Saturday, September 8, 2007

About this Blog and New Untitled game project in the works...

About this blog:

I'm going to use this blog to post about the development of my ArcLib Project and my game projects that I will design using the ArcLib.

Untitled Game Project

I'm going to start making a game for a class this semester, for my graphics class, and it's going to use the ArcLib. I've convinced one of the class members to use D and ArcLib to work with me on the project, as we have to work in teams. I've already started the first stage of game development: writing down my concepts on paper. The goal for the game is to be fun and to be complete within one semester. Here's what ideas I have so far for the game, which I wrote on paper first w/ pictures, and I re-wrote it here as well. Paper + Pencil = greatest way to write down concepts.

1) Codename: Tank Wars.

Terrain styles: Desert and grass

Mission types: Destroy all enemies, stay alive for X amount of time, and retrieve enemy data and bring back to 'base'

Vehicles: Civilian, Tank, Jeep, Truck, and Helicopter, along with weapons that correspond to each vehicle.

Graphics: Photo-realism would be nice...

Levels: Either randomly generated, or loaded from an XML file

Soundtrack: Maybe some techno

Game Objects: Tree, rock, buildings

Features needed to do: Tilemap, lighting, custom GUI theme

11 Steps to get the project done:

Prototype 0: Custom GUI theme and start menu and player hud
Prototype 1: Wire frame tank that moves with other tanks on the map
Prototype 2: Tank Graphics
Prototype 3: Sound Effects for the tank, and tank Weapon Fire, Sound Track
Prototype 4: Implement Destroy All Mission
Prototype 5: Implement Game Objects
Prototype 6: Implement Jeep vehicle and civilian vehicle, and allow civilian to enter and leave vehicles at will
Prototype 7: Implement truck vehicle
Prototype 8: Implement helicopter vehicle
Prototype 9: Implement the rest of the mission types
Prototype 10: Implement lighting effects and night/day time settings

Of course, the prototypes are just a rough guide of how to get a game complete with manageable chunks.

Player Keys:

Enter: Enter / leave vehicle
Space: Fire weapon
Arrow Left-Right: Rotation Left/Right
Arrow Up-Down: Move Forward/Backward
Caps Lock: Turn on-off vehicle lights

ArcLib Project Recent Developments

1) Christian Kamm has developed some cool lighting, which will slowly make it's way into Arc.

2) I fixed the GUI theme system to be an over-loadable class so users can simply write their own themes for their own games. I also need to make a default theme in Arc that looks sort of decent but doesn't require any user-graphics.

The reason for this whole theme thing, is so users can make the GUI look pretty themselves, and I don't have to worry about GUI prettyness, just it's functionality instead.

As I attempt to develop a game this semster, most of the development I will do on Arc will probably be making sure existing features work well, and the MultiLineTextBox and other 'from scratch' features may have to wait.

~ Clay