Saturday, November 12, 2011

Hello there!

Well hello all of you! I'm back, after a somewhat lengthy hiatus from posting here. I've been working hard on getting WasTeLanD back up to the point I was at before I switched to C++ from DarkBasic Pro. I'm glad to say that as I have just finished implementing the physics engine(Bullet), I'm actually making good progress towards the Transitional Build. I've started using Git for source control as well, so you can follow the progress of the project at http://www.github.com/Dar13/Wasteland.

I'm off to get the player controller up and running, wish me luck.

P.S. I was also working on a proper website for the game to be based at, so patience please. I'll post here when that change happens.

Thursday, August 11, 2011

Rewriting sucks

Rewriting an engine in a different language(DBPro -> C++) while also using the greatest extent of that language's abilities is a pain in the butt. I gotta say though, I like the flexibility C++ gives when using OO or procedural programming. So far, I've got a working wrapper for PureGDK that gives me some more degrees of control over the getting and setting of positions/rotations/etc.

I won't be posting much on the blog for a while due to Real Life catching up to me after a good 2-3 months of break. I'll be working on the game no matter what however.

Dar13, WasTeLanD Primary developer

Friday, August 5, 2011

Some thoughts

This post is just going to be some ramblings about game development in general, challenges I'm facing currently, and other various things. Just an FYI.

I've been programming for a while now( a good 3 years going on 4), and I've noticed some things that stick from language to language(BlitzBasic, DBPro, C/C++). One of these things is the paramount need to create a system that allows additions. A system that can handle the loss or addition of a new part without too much fuss. How does that relate to game development? Well, a game is basically a big ole glob of parts that work together to create a multimedia entertainment program. How is that? Think of a game, like Halo for example. When you think of Halo what do you think of? The weapons (like the Spartan laser or the assault rifle), the characters(Master Chief/Cortana), the driving, the physics, the enemies(Elites/Brutes), the enemies' artificial intelligence, etc etc etc.

All of those things are the building blocks of Halo. Separate from each other they are nothing, possibly less than nothing because they might rely on another building block to function. What Bungie(Halo's developers) did was fit all these parts together into a framework that allowed each module to be mainly self-contained while giving/taking data from other modules efficiently. That framework is the basis of the game.

That framework is the problem I'm hitting right now. I built my framework without a few critical modules, mainly the story and all the logic systems that go in place for that. So I've been stuck redesigning my existing framework to coexist with the story module without causing game-crashing bugs. I'm making progress, it's just a slow process.

In addition to that programming challenge, I also have an artistic and designer challenge in the actual tutorial level and scripting. Some of you might have noticed, but my current 'level' is a smorgasbord of placeholder media and thrown-in finished pieces. My enemy is a WWII airborne trooper, while my game's setting is in a post-apocalyptic modernistic age. My floor is tiled with the actual word 'Floor' all over it. There's nothing to prevent the player from falling off the edge of the world, the 'arena' is an island in a sea of black at the moment. I'm also working on that as well, with some more indepth maps and better media coming in through the amazing community at The Game Creators.

So don't give up on this project yet. I've been working on this, either through mini projects to work on mechanics or smaller games to build up my skills, for more than 3 years now. It's not gonna die anytime soon.

Dar13 WTLD Developer

Wednesday, July 27, 2011

Getting closer to releasing Transition Build Blend

As I'm approaching finalizing the last few little features or accomplishments before releasing Transition Build Blend(#1 and #2 together), I've noticed that both my coding ability and debugging ability has undoubtedly increased in quality and quantity over less time. Just today, I've added gun animation handling, ammo handling, and a part of the EWS 'Warning' logic. A good 100-200 lines of working code. Plus I've made some little customizations in the feel of the game, such as the EWS update rate at lower framerates.

I've finished most of what I wanted for this build, all that's left is scripting the tutorial level out fully and getting the locker room level mapped out in placeholder graphics.

Wish me luck.

Sunday, July 24, 2011

HUGE AI update!

So I've just completed a gigantic update to the AI system, in which the Idle,LookAtPlr, and MoveTgt behaviors are implemented and the others are to be finished later as the game progresses on.

In addition to the large AI logic update, I've implemented animation for the enemies using the Enhanced Animation plugin for DBPro which allows for much increased ease of use and control of the animations for all animated objects in WTLD.

After this large update is finalized( some optimization and consistency issues to clean up but nothing too large), I'll move on to the gunplay. Specifically the animations and sounds while using the guns.

Until next time,
D13 - WTLD Primary Developer

Monday, July 18, 2011

AI update

Here's another update about the AI system. I've had to throw out my entire system, in order to implement a more dynamic AI.

The new system is based on behaviors instead of specific actions. These behaviors will be hard coded in the engine(such as to improve debuggability[Like that word?]), and then the Lua function responsible for that enemy's specific AI will tell the program which behavior(s) to do.

Behaviors:
Idle - Enemy does nothing, plays an idle animation or something.
Reload - Enemy reloads his weapon
Move Target - Enemy moves to a target given by the Lua function
Look-At Player - Enemy looks at the player, utilizing the head limb of the enemy.
Follow Player - A complex behavior, has the enemy follow the player at a certain distance.
Shoot Player - Enemy shoots player with current weapon.
Cover - Enemy will find the nearest cover, usually to either regain health or reload weapon.

So far I've implemented the Idle and Look-At Player behaviors, now I've got to reimplement the pathfinding so I can create the Move Target, Follow Player, and Cover behaviors.

Friday, July 15, 2011

Status Report

Just wanted to give a quick status report since I haven't posted recently.

This is the current progression of features needed to release Transition Build #1:
Intermediate EWS implementation: 100%
Animation/sound during gunplay(M9SE): 50%
More functional/visually appealing main menu/options menu: 100%
Arena Scene(Tutorial) fully scripted out(appstate/Lua): 0%
Appstate engine to modularize level areas: 80%
Two scenes fully or partially laid out using placeholder graphics(MapScape): 50%
Enemy pathfinding/AI(A*): 95%(need to add framework for dynamic AI based on behavior)

As you can see I'm very close to being able to release the next build, but I've hit a motivational roadblock. Which should I finish first?
1. AI
2. Placeholder graphics
3. Tutorial scene
4. Gunplay(animation/sound)

Please comment and give me an opinion of what I should do!