Wednesday, December 22, 2010

Things on hold, what may planned in the future.

So it looks like this project will be on hold for a little while as I've gone into full speed developement of creating another voxel based project.  I'll be created a 3d version of my Black Shadow game.  Details will be posted on a new blog.

What does that mean for this project?  Well there were a number of setbacks from the beginning.  Although Evaldraw is perfect rendering wise, it's limited and wouldn't not make a very flexible engine to create this project.  This left me with two choices, use Voxlap or create my own rendering.

The latter is a challange in itself and I've attempted a few goes, but nothing close to being quick enough.

I had limited time to work on figuring out Voxlap's source code, but that may be a route I'll take in the future.

Another programmer was working on a voxel display engine, has started work on a GLBasic compatible DLL, but haven't heard any future results.  Last I saw it was displaying voxels, but it too had limits that would be too much for this project.

So in the mean time I'll still work on my Strip2Vox program for creating models for my voxel projects and plan on doing a Voxel To Poly for polygon alternatives.

Thursday, November 11, 2010

Doom, or do it yourself.

It seems that voxels are starting to become a little more popular among the indie crowd, as I've seen some new activity in the creation of voxel engines and displays.

Lately I've been in contact with one such coder working on a voxel engine.  However it's more suited towards a different style of games instead of a FPS.  The limitations of sprite sizes will prevent me from being able to use it at its current state.  However I proposed to do a future project with it, geared towards a NES style to it, most likely adapting one of my other projects to the style...

There are some new options for progressing this project from it's current slumber.  Although I had iffy success getting the basics of Voxlap to work, and Evaldraw being not the ideal for creating a game such as this, I found that ZDoom has recently added a branch off project that supports voxel rendering.

What caught my attention was sample shots that some had of a wall and floor tile from Doom converted into a voxel object.  So I may be able to get what I need from it's open source code to figure out my own voxel sprite system.

My other choices are to go back to Voxlap, create my own voxel rendering system or find someone to create a basic voxel drawing chunk that I can incoorperate into my project from the Zdoom voxel project.

When I think about it, I may be stuck with trying to figure my own method of rendering...but time will tell.

Thursday, September 9, 2010

New directions = new engine?

Well life and life had me away from coding. I was doing some tile mapping for another project or burning away precious time play Diablo 2.

I just haven't been feeling it for the last month. Maybe it's just August.

Anyway, I'm back up on my feet and coding again, but still haven't quite got into this project quite yet.

One reason is because GLBasic newest version has me playing around with some new features.

One such feature is the ability to load an image directly into an array, which allows me to make my Image to Voxel model program less limited and possibly much faster and accurate. The problem before was it was using getpixel, a kind of slow routine which on some systems would give inaccurate color returns.

But before I could start that, Desertfox of 64digits wrote out a nice algorithm for voxel ray tracing. Grant it, its still needs a lot more too it to actually render voxels, but so far I've achieved a few simple tests that seem promising.

If I can successfully recreate the function in Evaldraw which renders the models for this project then I can move the entire project to GLBasic, allowing me too connect a lot more things together and lose a lot of limitations I currently have.

While I doubt I'll be able to pull something off like Voxlap, doing voxels with ortho-squares is far more efficient then rendering cubes.  That and I've already have soom good ideas for lighting and fog from the Evaldraw version of the project.

At the very least I'll try and create a side-scroller/top-down voxel render for other possible projects, but I'm hoping I can achieve a decent 3d voxel engine for this.

Wednesday, August 11, 2010

The Crawl RPG, game details continued, Kingdoms and climates.

I've decided to continue the idea I had in my concept RPG game and bring it to The Crawl. The world, posted prior to this, is divided into four major kingdoms.
One in the North, home to fair skinned, cold climate adapted people, the Western Costal region home to tan and warm climate people, the mid-land desert area which is home to people of a dry hot climate, ranging from tan and dark, and finally the Eastern islands, home to darker skinned and hot, humid climate people.
Boarder towns between these nations tend to be home to hybrids of the four major kingdoms, and tend to be more open to strangers, but as you get deeper into each kingdom, relations become a factor.
After that, each kingdom is broken down into three social classes: low, middle and upper. When creating your character, you'll be prompted much like in the Concept RPG, to select which kingdom and family your character has come from. The combination of kingdom and family determines your character's starting stats and skills.
For example, lower class tends to be more physical while upper class leans more to social and intelligence. Middle class would be the middle of the spectrum in most regards. Spiritual skill tends to span across evenly while combat tends to be a low-middle class range.
Game wise I've decided to drop the idea of hunger and thirst, as that just drags things down in the end, and I'd like other challenges then basic needs. Disease, poison and curses would be challenge enough then worrying about starving and drying up.
However I do think I'll keep the weather and climate system I had planned. Depending on which kingdom your player comes from, they'll fair differently in each environment. A Northern will experience difficulty in the hot mid-lands, energy and agility will be affected, as would an islander in the North. The western kingdom can more diversely migrate due to its average temperature, but they would also get a penalty in both hot and cold climates, although halved that of the others.
To negate, or reduce the affects of the climate on the character, in addition to armor players also have a clothing equipment slot. Wearing the proper clothing per climate can help negate or reduce the penalties incurred. Heavy clothing for cold climates, while not required by the inhabitant, would benefit a person from the hotter climates.

Only extreme weather would lead to actual damage/death. I'm not certain if this will be a common trend, as in weather event, or more localized like deep caves.
With the four major kingdoms being fairly different, they also have various trade goods which they are dependant on the other to produce, mostly foods and raw materials.

Friday, July 30, 2010

Using old world map.

Awhile back when I was working on the concept RPG, I had created a map with various layers as a reference.

I only manged to do a small portion, but now with variable map sizes I can probably handle more.

Here are three version of the map.

Here is the basic map.

This is a map of the general temperature ranges for the area.
And this one represents the four major kingdoms, with red as independent groups.

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.