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.

No comments:

Post a Comment