Showing posts with label 3d. Show all posts
Showing posts with label 3d. Show all posts

Tuesday, February 15, 2011

Future thoughts, new methods.

Lately I've been devoting my free time to work on my conversion of Black Shadow into a 3d voxel based game using the Build engine, or more specificly Eduke32.  The rendering method is still the original one though done by Ken.

Now working with build, I think the greatest revelation is been working with palettes and the CON scripting.  Its given be a bunch of possibly ideas for creating the engine for The Crawl once I finish Black Shadow.

I've learned quite a few things on how the build engine operates and handles actors, counting, and frame animations which can prove very useful in creating the engine for TC.

Currently the method I used to create the AI in previous demos left much to be desired in terms of flexibility.  However I got some experiencing working with A* pathfinding that also gave me some good ideas.  I may never actually use it and do something similar though.

Getting to the point, I'm not actually considering a scripting system for this, but a detailed editor and just saving the data as numbers to save space and memory.  I'll be basing it off how Ken developed the build script, just using byte data.

Another thing is I'll be planning to used a fixed palette like in 8bit, however the game would still operate in 16/32bit screen modes.  The idea would be, like the build engine, have a fixed palette so shading and color blending calculations are reduced to look-ups.  However instead of having a 256 color limit, it would be 1024, although I haven't decided on the amount of shade variations it should have.  I believe build used 8 points per shade, I could use 4 for smoother transition.

Anyway this is all speculations, but working with the Build engine has given me a good amount of ideas on what direction to take when creating The Crawl's engine and editing system.  I'd like to make the engine pretty flexible.  If possible I'd like to eventually create it all in GLBasic, but getting voxel rendering at the level of Build or Evaldraw in opengl is a challange.  Maybe theres something I can learn from the build source instead of working with evaldraw or voxlap. The benefit of using Glbasic is portability, as in I could have it accessibly to Linux, Mac, Mobile as well as windows systems.

Wednesday, July 28, 2010

An engine, game and editor.

The Crawl project has been designed to be both an engine for me to create a game with, and an open editor to allow others to do the same.

Originally this project started as a simple Eye of the Beholder clone with some enhancements and different style of stat system.  Consisting of 2d display using pre-rendered graphics.  The source code(for Game Maker 5 and up) can be found on the side bar if you wish to learn how to create your own.

Later versions went the 3d route, using 3d polygons to construct the levels like tiles.

However the latest has done away with polygons, moved back to pixels but is staying 3d.  Using voxels, projected squares to renderer the enviroments in a more organic yet retro style.  Compare it to what you'd see in a traditional console RPG if those pixelated sprites had depth.   The effect is similar to bump mapping, but more like height mapping as it takes up actual space in the 3d world as opposed to mimicing it.

To create the main engine I'm using Ken Silvermen's EvalDraw program which is an on-the-fly compiler.  ED supports voxel rendering and currently has been updated to allow for the creation of EXE files.

The evaldraw version however is actually a prototype for a final version written in C++ and using Ken's Voxlap engine.  Although not using it to its full extent, like fully destructable enviroments, but the basics that ED can already due with the addition of true lighting and fog.

Evaldraw has a bunch of limits to what it can do visually, so work arounds have been created.  Lighting is simulated as is fog in the ED version.

The project is open source, and every demo release comes with the source code that's documented.  Although later I will have more detailed documents for editing as well as tools.

Several tools useful for creating content are Ken's Slab6, a voxel editor, and Poly2Vox which converts 3DS and MD2 files into voxel format of any size you pick(with some limits)

Additionally I'll be creating tools for converting images into voxel models, map editing and game data editing.  The image to voxel program is available but needs a rewrite to resolve some limits and bugs.  The map editor is a work in progress, also available with the demos.

The game I have planned for this engine consists of details drawn up for the past versions of The Crawl, and my side project Conceptual RPG project I had done.

Future post will explain some of the details of the world for the game I have planned for this.