Bang 2D

September 20th, 2007

Bang 3D has been on hold while I finish up Bang 2D a 2D engine based on SDL + GL + LUA for Mac/Win that I have been working on since February…

You can find information on it at Bang2D.com
and see progress on our first game Mouse House which we hope to have ready to ship by xmas.

GUI First Alpha Test

January 12th, 2007

This screen shots shows a my first attempt at drawing a window in BANG.
The window is made up of a set of 9 tiles.
The tiles are scaled to match what ever size window a use asked for.
The GUIs can also be easily themed.
Currently all controls are variations on just 1 dynamic control_3d object.
Since I can basically draw a window now I could also easily draw most rectangular
shaped GUI controls.
All GUI controls are full 3d objects meaning you can rotate them etc.

gui.jpg

Xmas Update

December 27th, 2006

I started on GUI unit tests. This lead to uncovering bugs in the camera object, and projection matrix and zbuffer in GL.

So I have been basically patching bugs over xmas.

Text Update

December 21st, 2006

Its been a busy day.
Many many new new features, changes, bug fixes etc.
I blame the large coffee I had tonight :)

So…

Added kerning support to text objects.
Added clipping rects to text objects.
Text objects now wrap when text goes past the left edge of the clip rect.
Letters get clipped when they go paste the bottom of the clip rect.
Added support to change size of font on the fly.
Added support to change text of text object on the fly.

Created a frames per second ( FPS ) text object using the above that sits
in a HUD layer and does not move when the cameras move

Changed BANG’S coordinate system to a left handed one in order to match GL.

Fixed bugs in rendering HUD style layers ( was totally broken ).

Fixed camera center point offset code so that 0,0 is now the center if the view port.

Next I will be moving on to making the GUI widgets.

s2.jpg

The Last 10%

December 20th, 2006

After many days of painful debugging and a number of really brain dead errors on my part… Text Objects are mostly working.

Why is it always the last 10% takes most of the time?

Anyhow here is my first working screen shot with the obligatory Hello.

hello.jpg

Fonts

December 6th, 2006

I’m starting on adding font loading and rendering support.
Right now looking at all the available OSS font libs out there.
First up is Freetype2 and FTGL as possible solutions.

Camera Fixed

December 6th, 2006

I had one last camera bug.
Objects would disappear when to close to the camera.
Turns out I was clipping objects less the Z = 1
I changed the cameras default minimum Z value to .01 and everything looks good.

Multiple Camera Support

December 5th, 2006

I have been working since turkey day to add support for multiple cameras.
For this I needed to re work how the top level scene graph parts talk to each other. This included the windows, view ports, cameras, worlds and layers.

The end result can now have a infinite number of cameras view the the same or multiple worlds and can draw into the same or different view ports.

The screen shot below shows 3 cameras all viewing the same world and drawing into the same OpenGL context or view port.

Now you might think adding support for multiple is EASY in OpenGL…
But you have to remember Im writing the whole engine in software and then off loading work to gl or d3d renders if possible. So it has taken a while to get working properly.

multicamera.jpg

Old Test Game

November 30th, 2006

These are screen shots from an old test game written about 5 years ago.
The game was written in REALbasic using the BANG plug in. The entire game took maybe an hour to code. The game includes, lights, animation, particles, physics and collision detection.

bang.jpg

First Post!

November 29th, 2006

Welcome to the developer blog for BANG! 3D game IDE.

Current BANG! Engine Specifications:

Platforms
- OS-X, Win32, Linux

Rendering Primitives
- Points
- Lines
- Triangles
- Hermite Splines
- Terrain

Hit Detection
- Sphere based
- Box based
- Triangle based

Lights ( Vertex )
- Point
- Dark Point
- Alpha Point
- Spot
- Dark Spot
- Alpha Spot

Scene graph
- Worlds
- Layers
- Cameras

Time based movement/animation system.

Bone based animation system.

Vector/timed based movement system.

Particle system
- Gravity
- Velocity
- Bounce
- Reverse particles

Renders
- OpenGL ( OS-X Carbon, Win32, Linux )
- Direct 3D ( Win32 )
- No GLIDE / 3DFX or RAVE support Dan :P

Rendering Modes
- Point
- Line
- Shaded
- Textured

Texture Formats
- Uses OpenIL for loading of most image formats.
- PNG
- JPEG
- PhotoShop

Sound System
- OpenAL

Physics System
- Undecided

BANG! IDE Specifications
- Drag and Drop and Wizard based user interface.
- Model building and spline based animation tools.
- Level editor.
- Script Editor and Debugger.

Scripting
- Event triggered scripting system.
- Universal scripting bridge can be bound to any scripting engine
- JavaScript is the main scripting language
- LUA, RUBY etc could be added later if needed.