Wednesday, November 24, 2010

Recovery, distractions and more voxel fun.

Recovering from a period of sickness, my family all caught either the flu(most likely) or a cold.  It was not a fun time...

Being sick really puts a cramp on ones ability to code, or do much of anything else, but I managed to find energy and time to do something I once loved.  Making maps in the Build engine.

Awhile back I did some testing with build, back when I was scouting out possible voxel projects, and I used the tileset from my game Black Shadow as the textures.  Personally I kind of liked how it look, but then I didn't go further with it.  Now with a bit of down time, I found myself working a little deeper into the idea and started working on a map.

I've played around with both the JF and Eduke version, and decided to stick with JF's version as it ran better on a netbook.  A little playing around and looking into some of the DEF files of the Duke3d Voxel project I found it was actually very easy to put in voxels, just some mild typing.

In light of this I have new ideas for my program Strip2Vox which converts a strip of images into a voxel model.  Now I'm planning on having the option of using a heightmap and a fore/back image to create a voxel object instead of a series of images.  However the old method will be better if the object has a lot of holes in it.  Otherwise it'll be a nice way of easily creating voxel objects.

Besides that I've been in communication with a programmer who is working on a voxel engine of his own.  I showed him GLBasic and he got the premium version since he was interested in it's multi-porting power.  A sample screenshot he sent me showed me that his efforts to get the DLL working with GLBasic was indeed successful.  Although it's no voxlap and I may not beable to realize my Voxel Dungeon game with it quite yet, it will open doors for some other interesting voxel projects I have tumbling in my head.

Of course this means I've kind of set aside the RTS idea for now.  Although I'll revisit it again since there are parts of it that I need to work on so I can be better prepared for some other projects.  I've had some mild success using GLBasic's built in path finding function, I had to create a algorithm that cleaned it up and offseted objects since it doesn't check for collisions...but then I got sick, so yeah that kind of stopped.

Not quite sure what this will all lead to, but it seems like there are more doors open then closed now.

Monday, October 25, 2010

Updates and progress made.

All new demo, now with world view for making various maps.

Download here.

Also a new video showing off the new look and features.

Found here.

And the previous version which shows the original features.

Found here.

Overlay tile placement is next on the list, map formats should be backwards compatible from this point.

I'm also planning on have variable field sizes, half and double size.  But I'll have to do some performance test to see how a double sized map handles.

Worlds will have more varied sizes.

Settings and such still need to be created for making the world and its data file.  Mostly information regarding weather and environmental stuff.

Some worlds can be fertile with tropical weather vs. small asteroid worlds would be mostly rock and dirt.

Sunday, October 24, 2010

Project RTS Revival, and the rest.

There's been a lot going on in my life, thus not too much time for projects.  So I've decided to push some things to the future and start fresh with something new.

The Voxel RPG project will be postponed til next year so I can have some time to either (A) find a coder to translate some of Ken's code (B) Figure it out myself (C) Ask Ken very nicely to release KV6 display code.

Then there was a pending Halloween game which I realized I would never be able to finish in time, but had a pretty good engine going.  So I'll be putting that one off to plan for next year's halloween.

Other projects were already put on -hopefully- now I'll just be focusing on this new project.  Now lets get on to that.

Last week I was bored, uninspired or other such depressing state, I was searching around on the net.  I was frustrated that at large I have little time to make art these days, besides some simple stuff.  However I can find time for map making and coding in general.

I decided to search for some free art to play with and stumbled upon and a graphic set from a canceled RTS game ALA Dune 2/2000 style, called Hard Vacuum.

I've always enjoyed RTS games and have been inspired in the past to design one similar to Dune 2, much like they had.  Although are concepts of improving an RTS resource gathering style game differ,  I have some different approaches.

I've played quite a few RTS in the past, from C&C, Dune2, Warwind, and some newer ones like The Guild 1  & 2 and other variations.

Idealy I'll be going for more a Dune 2 clone with some parts of Warwind and Warcraft with upgrading parts of units and having a limit based on housing.

The game I've planned will be more resource hunting and securing your land.

Unlike most RTS's I plan on eleminating the fog of war entirely.  As it is a futuristic setting it makes no sense that they wouldn't have scanned the world.  However the catch is you can only see enemy or neutral units and structures if your own units can.  Structures will retain their visibility once you see them like in most fog of war games.

Additionally resources are all hidden underground and require units with special scanners to find them.

Three resources will be collected, Oil, Ore and Gas(natural)

Units will be used for mining ore mostly.  There will be a water unit that can mine all types of resources.
Wells must be built to collect oil or gas deposites.

The world consists of 60x60 120x120 tile sized maps connected and revistible.  I plan on bases retaining per map so players can revisit them.  Their upkeeps also transfer over as does their production.

I'm also trying to keep it as customizable as possible so that it can essentailly be converted or added on to so others can make their own RTS or simply expand this one.

All tile(terrain), unit, structure and some effects are from Hard Vacuum. I'll be making new interface graphics and possibly some additional pieces either altering or making new ones.  Some tiles need to be recolored.

This links to the current release of the map editor.  Still a work in progress and you can't do a few things yet.  It only saves and loads from one map file.  Requires OpenGL and has been tested on Netbooks running XP.
Current map editor

As of now the tile set is finalized at least in its ordering so if you want to make some maps they will be supported in the future.

A demo video with comments

A concept screenshot made up in photoshop showing the new interface and notes for what's what.

Wednesday, August 11, 2010

Current Situation, state of progress

Things have taken new direction as of late. The recent progress in making The Crawl in voxel style has proven successful, although progress is slow.

Using Evaldraw as the base engine, there are limits but with limit sometimes comes benefits. Evaldraw is pretty fast, runs on a lot of systems and is pretty portable. Recently Ken Silverman, who created the program, added EXE creation support allows for quick play and all resources nicely packaged within.

So far The Crawl is the only project I'm making with Evaldraw, although I've have some other ideas...just not the time.

A nice thing about Evaldraw is that its pretty close to working with C, although it has built in support for basic drawing, image, audio and voxel models.  So once I've completed the engine for TC in Evaldraw I'll be attempting to write it in C++ using Voxlap.  Technically I'll only be using a part of the Voxlap engine, the KV6 display which uses bounded squares instead of cube rendering.  The benefit is its much faster, and using models instead of a terrain map(which is limited) allows for larger maps.

One other program I've been using which has been very useful to me is GLBasic.  I have been using it to convert a few of my Game Maker projects over to an actual language.  Its based on Basic but has the power of C and compiles C based executables allowing it to be ported to various devices.

Currently I have my number based puzzle game E vs. O setup, but it does need a few finishing touches.  Right now its designed for keyboard control, but I plan to change it to mouse/touch based interface.

Also mostly completed is the basics for Shield Breaker.  Although I still have some graphical and audio enhancements to make, the engine is nearly complete and runs nicely.  One drawback is that if you have a POS system with no openGL support it'll not work well at all.   Haven't tested it on a Mac OSX yet, but hopefully I'll do that soon.  I had tried before but forgot that FullScreen does not work on OSX.  The program will be killed if it trys.

Lastly are the tools for The Crawl, the map maker and image to voxel program.  I still need to update my GLBasic to the new version 8 so I can rewrite the image to voxel program.  New features include an image to array function which will allow me to get around the getpixel problem that occurs in some computers.  The map maker is going along well, but will need a face lift sometime in the end.  So far no plans in changing the map format, which is a good thing.

Sunday, April 25, 2010

GLBasic, starting all over again.

So a few months back I came across GLBasic, a Basic language based program that can compile to various platforms like Linux and MacOSX.

Sure as I read up on its features, I was pretty much sold. However I did give it a few weeks messing with the free version to see if it was what I was looking for. Skip ahead and I've got the full license and couldn't be happier.

Although its unfair to compare GLBasic to Game Maker, as they are vastly different. GM uses a standard runner that keeps the file size pretty static, relies on DirectX and by comparison is a lot slower from test I ran during a simple re-writing of my puzzle game EvO Lockmap. GLBasic uses OpenGL and compiles to various platforms, creating much smaller exe files with exception to the OSX version that tacks on about 4 meg of SDL related info.

As a result of having a more powerful tool for creation, I swamped myself in concepts. First was setting up the basis to recreate an RPG I had started last year on Mo Mini's Studio, but due to sickness it kind of fell dormant. Then like I mentioned above I started recreating EvO, with the basics pretty much done, it needs a revisit to clean up the code and change some processes that I now know how to improve.

Then I started visiting the idea of remaking Shield Breaker, but stalled do to trying to figure out the best way to handle pixel based collisions. That has been overcome with my most recent and current recreation of Rick Jason which was one of the first GM projects I started a few years back, which can be found here.

Prior to that I revisited the concept of Voxels by simulating them with rendered polygons, to some success, although it too needs to be updated now that I learned a few more procedures to make rendering more efficient. However I'm not quite sure if I'll be reviving the project as I may lean back to Ken's EvalDraw for anything voxel related. The one draw back of EvalDraw is that its mostly windows based, but can work well in Wine, as Ken told me.

Anyways, now I'm starting organize what projects I'll be doing first. Currently Rick Jason is at the top of the list, as it's engine can be reused for yet another project I have further down the road. Next project in line I haven't quite decided on. Either I'll be starting Black Shadow, Shield Breaker or EvO. Black Shadow may move to the back since I'll have to create a platform engine from scratch for it. EvO is pretty much done except for special bonuses and other such stuff. Which leaves Shield Breaker also needing to be done from scratch, but it is a lot simpler of a game engine then all but EvO.

At this time Rick Jason's engine is doing rather well, so I've started going through the code an organizing it. I had done my best to split things up at the start, but as one goes along things get messy as the code gets bigger. Otherwise I'm both surprised and amazed by the speed increase vs the GM version. There are some drawbacks, rotating sprites is not as easy as it seems. In fact RJ does not use basic sprite draw commands offered but instead generates all onscreen graphics with polygon based texture boxes.

Using this method greatly improves speed and allows me to couple like graphic objects into one large polygon list which further improves performance. The game has a map created from tiles, but in fact there is no tile engine in the game itself. Instead I've resorted to using TileEd to create maps, splits there layers, and slice them into screen sized chunks. The current tech demo of RJ uses 9 slices, which consist of three layers. A glow layer, solid layer and back layer. The solid layer is used to check pixel perfect collisions against game objects. From reading through GLBasic's forum's I found that it is more efficient to have pre-rendered tilemaps vs. live ones.

So everything is going smoothly in that regard, time permitting of course. The only thing I really lack is decent audio and music. I'm still having a little difficulty finding someone who has the time to do anything for me, although I've had a few pieces created. Shield Breaker(ex) had a mp3 made by a new comer to 64digits by the name of Blackhole. One catch with Shield Breaker is that I started using RJ's tiles to create backgrounds. Now that I have revived RJ, I need to find replacement graphics for SB's backgrounds.

And that's about it for now.

Wednesday, January 13, 2010

All quiet for awhile. Heres whats going on, and ranting. Yay.

Well its been a busy time in the life of myself, moving recently, dealing with some issues, taking care of family and holding down a full-time job. It doesn't leave too much time in ones hands.

So now that things are seeming to organize, I'm redrawing my focus on my various projects. I'm moving on to a new method of game creation.

For the longest time I've been on the never ending hunt for the perfect game engine/lanuage. Its led me to stare blankly at how confusing C can be, lement in Basic's easy but limited uses(like over 10 years ago), freeware creation kits short comings, commercial kits prices and so on. Game Maker was my tool of choice for the last...4-5 years I believe. It did everything I needed and I could do just about anything I wanted. Sure there were limits and drawbacks, but at the time it was not an issue.

Sometimes limits can be part of the fun. I had work with Mo Mini's studio to plan on making cellphone games, but that engine is still pretty young and needs a little more work in its overall layout and methods. It did present me with some interesting notions I now hold, getting the most out of limited space and memory. GM helped me understand some coding practices that were once foreign to me. Reading up on Object Oriented programming and proper use of types also helped.

So now that I'm moving on, I find myself, in a sense, starting back to were I began. Basic. The very first programing lanuage I started with when I was just 10-12(somewhere around there) was gwbasic, and later Quick Basic. I created a few games, finished one and later moved on to my engine hunt. So now I'm working with GLBasic.

At this time, I'm poor, so I only purchased the lite version. Also a lot of my past projects have been 2d, save for my ambitious and still planned The Crawl game/creator.

However, a nice plus is that I'll be giving a shot at making hand-held games, specificly for the GP2x wiz, and open developement handheld device that can be compared to the GBAdance(first one) in looks, but runs linux and has many capabilities that match PSP and DS. I want to do something for the iPhone, but until I can get the complete kit of GLBasic, and have money to setup an iPhone selling service, I'll be going cheaper routes. I've always been frugal and picky when committing to purchasing software and hardware. I've still been burned, but not as much as if I was more careless.

Another thing I hope to change is my solo method. Simply I did everything save for the engines. Made graphics, created scripts, stories, sound effects and so on. Except for music. I tended to use free samples from the web or requested music from some composers.

I have been kicking around the idea of creating some kind of business that connects various talents to create a project, all without binding them into a company. I feel that the independant movement, both in games, movies and other forms is the way to go, or at least something I wish to encourage.

I'm not talking about a networking site, or anything thats automated like those ones that are out there. I mean a business of creating products through the freelance and the talented. One thing I have noticed in life, is that there are a lot of jobs that want papers from college or schools to prove that you know how. I found that this is a load of crap. There are doctors, managers, lawyers, artist, directors, musicians, singers, so on and so on that have papers that say "I know how" but you know what? Its just a piece of paper that anyone can get with the right amount of money.

Money doesn't buy knowledge, cramming for tests doesn't make you remember. I found the best way to learn something is in practice and determination. Its sad that society is so focused on superficial issues to truely see what it needs to. Or at least the companies that hire based on paperwork. To their defense though, how else do you know if someone is any good? Or good to work with. A talented individual can be useful but also hard to deal with if they have a lot of ego, are controlling, greedy, and/or quick to surrender.

So there in lies the problem, even though it would be a much nicer world to work in if we weren't forced to buy our 'knowledge' and 'intelligence', until independants, freelance or what have you band together and push back against the big-box, we as a people will forever be oppressesd by the few.

Knowledge and talent can never be bought.