A Horrid Mess of Code

Hey Guys,
Steve here.
Some of you might be wondering what is with the strange title of this post. Perhaps, if I was to inform you that I had a hard time coming up with a way to write this post in common English, not to mention the many attempts to write this post that were deleted because they appeared way too technical and over the heads of the majority of my blog’s readers.
Anyways, I’ve decided to organize this one by level of complexity. That said, I have some news regarding the Steven D Podcast.
I recorded it last week, on Audio Quake as I previously said I wood. Unfortunately, I was unable to post it on Sunday because I was traveling to camp. However, I’ll try and get it posted at some point this week, so stay tuned.
Also, due to the above mentioned camp, there will be no podcast episodes next week or the week after. But when I do record another podcast, I think I’m going to start a series on the game Awesome Homer, found at Jim Kitchen’s website.
In other news, I have a little release for today’s blog post. Unlike the games I released over the last two months or so, this will not be of much use to anyone, except programmers of audio games in pure basic. However, since it is my blog and I know of a few said programmers, I’ll go ahead and release it here.
download this small set of includes that make some audio game tasks a bit easier
This includes a way to create audio game menus, as well as audio forms. Included are documentation, examples, and the Tolk library which enables screen reader output.
Moving on, though the change log doesn’t say it yet, I’ve made some significant changes to S Quad Racing. For now, I’ve deleted out all of the menus, and have begun replacing them with menus generated with my dynamic_menu class. This might seem like more of a waste of time than anything, but it helps me as the developer because it shortens my code and takes about 5 or 6 minutes out of the time it takes to code a full menu. That being said, I now have some awesome main-menu music, and cannot wait to show it to you in my next audio demo, which won’t be for a while since currently the “regular race” option doesn’t go where it’s supposed to go. Perhaps, though, I’ll be able to scrap something together next Wednesday.
More importantly, I’m slowly realizing a gear system for this game. And before I end up forgetting it, I’ll go ahead and explain my ideas here:
There will be a minimum and maximum speed for each gear, as is the normal. If one exceeds the maximum speed for the gear they are on, the car will explode after 10 to 15 seconds. Each time the driver shifts one gear up, their speed will stay the same as before. However, gearing down will not work unless the user slows to a speed that is less than the maximum speed of the gear they are switching to.
As for acceleration, and that good old gear switching affect we’re always used to hearing in most racing games, I have a complicated system for that, but I’ll not go into detail until I try it out since it hasn’t been proven to work. However, if this all goes well, I guess you’ll have something else to look forward to in the audio demo. And, I’ll be looking into getting that dreaded bug preventing multi-lap races. Stay in tuned to the s quad racing updates page.
Well, that about wraps up this post. I’ll blog you later.
Thanks for reading,
type you later,
Steve.

Another Small Release and a Few Updates

Hey guys,
Steve here.
I said I’d have a surprise for you all, and that was not an empty promise.
Over the last week, I’ve been sporadically coding on a little game, one which is similar to the classic Pong, but with quite a few twists. And not only did I create this game, but I included the source code, which is heavily commented, so that anyone interested could have a look at how games are actually coded in Pure Basic.
Similar to flamity flame, you are placed upon a side scrolling grid that is twenty squares wide. Your goal in this game, however, is to run after the ball and hit it to prevent it from hitting the ground.
To accomplish this task, you are given a paddle, which you will swing once you are beneath the ball and it is low enough to hit because, after all, you can only reach so far.
Since the ball can go just about anywhere when you hit it, it is impossible to develop much of a strategy. Plus, the game gets difficult, rather quickly. So quickly, in fact, that the likelihood of you lasting over two minutes is nearly zero.
Fortunately, though, there is help. Firstly, you don’t really have to worry about centering yourself exactly beneath the ball; you will hear a beep when you are centered. Secondly, there are platforms. If you are not near the ball when it is coming down, and it happens to be above a platform, it will bounce off of it rather than making the journey to the ground.
Initially, you start out with three platforms, spaced out evenly in intervals of five. However, as you play, additional platforms will spawn, though considering the level of difficulty in the game it’s likely you’ll only get one, if any, platform spawns before the end of the game.
While the fact that more platforms will spawn might enspire you to work your hardest, there is one thing to bear in mind about platforms–they are not the nutral, happy-to-help objects you might think of them to be. When the ball bounces off of a platform, it will rebound faster, and you must work a lot faster to get to, and hit the ball. This affect is called catapult, and only lasts 3 to 10 seconds after the ball bounces off of a platform. So while it is true that platforms can be a life saver, you might want to avoid letting the ball hit them as much as possible, otherwise you’re going to lose more than you gain.
Well, if you’re interested, you can Click here to download it.
Also, I have recorded an audio demonstration, which you can listen to below.

There are a few things I might change, such as how quickly the game gets hard, and the interval between platform spawns.
In other news, I haven’t worked much on S Quad racing, in fact I’ll confess I didn’t work on it at all this week. I was mainly focused on coding the game released in this post, which I named “Bouncy Ball” because I was too bored to name it anything else, to code something as complex as S Quad Racing. I probably won’t open it up tonight either, as I’m rather tired, but hopefully tomorroww I’ll get back to work. I think that before I implement dynamic weather, ambiance, and cheering into the creation of tracks, I’ll go ahead and see what I can do about implementing gears, as that is a task that I’ve put off for several weeks now but needs to be done.
Well, that’s about all I have to report. I’ll blog again later this week. As far as pod casting goes, I’m not quite sure. I want to do an episode tomorrow, but we all know me. So who actually knows–but hopefully tomorrow.
Thanks for reading,
type you later,
Steve.

An Audio Editing Experiment and Some Updates

Hey guys,
Steve here.
I know it’s been a bit longer than ten days since my last post to this blog, and I’m sorry about that. Fortunately, this period of extended silence has not been counterproductive.
First of all, I generated an audio file. This was originally supposed to be an oscillation of about fifty different sound waves going up and down the frequency scale–an attempt to annoy people. However, after some heavy editing, and by that I mean using eighty percent of the audio affects in audacity, I was able to turn it into… a “Sci-phi frequency storm gone bad!”

I’ll admit it’s a bit annoying, but it’s one of the most captivating things you’ll ever listen to! That is, if you actually listen to it.
Moving on, after all that work I did on S Quad racing last week, I mostly fixed the winning system. It is now possible to win races and lose them respectively, that is, if you only race with one opponent. Even though I haven’t figured out why the game won’t work properly with multiple opponents, I will be releasing an audio demo by Wednesday that demonstrates a fully working race!
Also on the subject of gaming, I returned to the swamp universe last week, though I haven’t been quite as addicted as I was in the past. Don’t get me wrong, Swamp is still by far the best game I’ve ever played, but I for one don’t want to end up having to renew my account at the same time I pay for the website, and not to mention I have a game to code.
By the way, speaking of games to code, I might just have a small surprise in the works. This is far less substantial than S Quad Racing, but, judging by your reactions to Flamity Flame, it has the potential to get quite a few of you hooked for several minutes, or even hours, perhaps. Stay tuned!
That concludes the posting for tonight. Stay tuned for updates and/or releases on that “secret surprise,” and be looking out for the next podcast episode, which might just be my demonstration of Psycho Strike, the new Grand Theft Auto-like rpg from VG Storm and Blastbay Studios.
Thanks for reading,
type you later,
Steve.

Coding Frustrations and Space Battles

Hey guys,
Steve here.
Coding can be an extraordinarily painful, irritating thorn in ones side sometimes. Tonight it feels as though my only consolation is that experienced coders go through the same thing, and my unfailing passion for technology.
I say this because the track parser I’ve been implementing into S Quad Racing is not turning out the way I want it to. Basically, the procedure I want the program to initiate when a player selects a track is as follows:

  • Open the file that corresponds to the track that was selected. For example, if the player chose Beginner, the game would load tracks\Beginner.track into memory.
  • Read through the text of the file. It would then:
    -set the track size as determined in the file.
    -set spawning of obstacles properties such as how fast they would appear, and the maximum number that was allowed.
    -Finally, the turns and straight sections would be generated, laying out the track structure.

  • After all of this, the idea is that players would start the game, and be placed on the track that they selected, exactly as it was structured.

However, as is the main focus of my frustration, I’m encountering some major mishaps. On the first three or four compilation trials, I couldn’t even get the game to load the track file. Rather, it would create a file called “0” with no file extension inside the tracks directory, and attempt to read from that instead. The result was a barren, completely straight track that, if raced upon, would likely last forever, as there were no defined finish line boundaries set. And though the player could move forward, the enemy could not. Instead, he would just sit there at the beginning of the lap, winning first and second place, thus eliminating the player’s chance of winning. 😛
After tweaking the code, and by that I mean changing two characters of it, I resolved this issue. However, I still cannot, get turns working, no matter what I try, and ever since I implemented this system, obstacles refuse to spawn.
Though it might seem almost hopeless, there is some good news. As has already been mentioned, God has given me the blessing of having a best friend who is quite efficient when it comes to audio game coding. In the coming days, I will be examining the code for his snowboard racing game. Hopefully, this will help me come up with a working solution to this issue.
Once this blows over, I will look into adding more environmental features such as rain pockets, road hazards, power ups, wall sections, and perhaps some more turn types. Stay tuned!
In other news, I’ve had a rather active week on Death Match a New Beginning, engaging in some intents battles with pirate ships of various hull strengths, one of which rendered my ship useless for 35 hours. Since I spawned all of the enemies I fought this week, I was able to give them creative names. Vladdiator, Chad Dungie, and Virwag14 were just some of the names I came up with, the latter being the most recent battle I was involved in.
In fact, after Virwag14 was destroyed, I founded a colony in its honor. But the twisted thing is, I docked the very ship that was used to kill Virwag14 the ship, on the barren grasslands of Virwag14 the planet. 🙂
That concludes the posting for tonight. The next time you will be hearing from me is on Podcast Episode 34, when I will be performing a bounty mission on Death Match. and once again, Danny will most certainly be there!
Thanks for reading,
type you later,
Steve.

A Great Week of Bringing Poems to Life and Other Things

Hey guys,
Steve here.
You’re not going to believe this! It turns out that “Flamity Flame the Lame Audio Game,” the poem I wrote and published on last Wednesday’s blog post, has become…exactly what it talks about–an audio game!
Though I’ve indeed brought this game to reality, it is a twisted one; the audio game is not exactly as it was depicted in the poem. Nonetheless, I tried to structure it around most of the rules outlined therein, so that the result was mostly as expected: You are placed on a game board, James is there as well, he does not make a sound, and you must kill him.
However, I strayed a bit from the main idea. James is able to shoot back, if you give him time to anyway. When you square up with him, he is raising up his gun, and you’d better fire like crazy before he has time to. However, if you’re too slow to fire enough shots to take him down, as is likely to be the case, it will be necessary to step to the left or right one time to get out of the line of fire, and take a small 5 second break or so, before moving back to where James is and proceeding to blast him to oblivion. This system helps to test one’s quick thinking and reflexive skills, while also laying the foundations for an action packed, quick paced arcade style shooter game, something that was definitely not described in the poem.
Secondly, rather than killing James once, there are five levels; James has five lives; four less than your average cat, four greater than your average James. In each of these unfortunate, short lives, James’s is more angry than in previous ones. Proceeding the burning out of one of James’s lives, you will advance a level, and hear a threat. As you achieve higher levels, you will notice that these comments grow more angry and bloodthirsty. This is only the precursor to a level filled with faster shots from James that could easily slice off a significant chunk of health, and result in your quick and almost, and I emphasize almost, painless death.
There is some good news for you, though. Unlike poor old, slow, angry James who cannot actually walk, You can move away from him safely and confide in the fact that he won’t follow. Also, though your health does not reset following the start of a new level, you’ll notice that it takes less shots to kill James in the higher levels; though the main goal in those levels is still to kill James, the underlying goal is to time your attacks so that James doesn’t have time to shoot back, a task that can be quite daunting.
Another perk is that unlike James, the firing time limit on your gun is not directly set in the game; this means that you will be able to fire as fast as you can press the space bar. So while the game gets increasingly challenging, there are several constant factors that place the game mostly in your favor.
For the first time, I actually have a reward for those of you who just read that–a download link! Since Flamity Flame was such a small project, it is already released, and can be Downloaded from this link.
In the package, I’ve included both a documentation, and an audio strategy demo, and I recommend that you have a look at both.
Moving away from Flamity flame, I suppose I’ll include a short update on my life, by that I mean a quick summary, since the previous part of this post went a lot longer than I intended it to.
My birthday went exactly as I thought it would. I overloaded on some great food, relaxed, and went to school, that list of events being in order from most to least important. The only unexpected occurrence, was that I bought a space upgrade for the blog, meaning that instead of having to upload pod casts and such to Drop Box, I can now upload those files to my blog, and have been in the process of doing so. Since I transferred pod casts first, both the feed and page work, though for those of you who are subscribed to the feed you might be asked to download all episodes again.
As for the weekend, there’s not much to say there. My sister and dad were out of town, so it was just me and my mom. I basically spent the weekend relaxing, eating junk food, and then Sunday we were at church all day. Also, I recorded a podcast on Death Match A New Beginning, and had the privilege of having Danny on the podcast over Skype. You should seriously listen to it.
That concludes this quite lengthy post. Enjoy the new little game, and Happy Flaming!
Thanks for reading,
Type you later,
Steve.