A Long Awaited Update

Hey guys,
Steve here.
So, it’s been nearly two months since I last posted here? Seriously? There’s no way I can believe that. Time has flown by these last couple of months. And when I said it would be one or two weeks, instead of four, before I posted again, only the last part of that statement was true. Unless, of course, I meant one or two months, not weeks.
Over the last month and a half, I did some work on S Quad Racing, though not as much as, perhaps, I should have. Nonetheless, I completed a few things, such as adding proper menu sounds, improving the artificial intelligence’s, well… intelligence, Creating an achievements system complete with the possibility to earn experience points, and completely fixing all bugs that could be found in the game thus far, but that’s about it. I sat down and wrote an outline for Arcade Mode, and will try to compose a sort of to-do list, so I can at least try to structure my coding into priorities, something I have failed at doing in the past. This is not to say I’ll end up sticking to that, but it’s worth trying.
On a loosely related note, the very basics of Matt the Terrorist have been established, in the form of a primitive, and I mean extremely primitive, game where all you can do is walk around. There’s a platform that spawns, but you can’t even interact with that, yet. But I guess every game has it’s starting point. To my credit, even though you can only walk around, tiles have a property called thickness. And for platforms, depending on the thickness, a different footstep sound will play. For example, if the thickness is 10.0, it will play the sound of walking on stable wooden boards. However, by the time it gets to 2.0 or lower, you will hear yourself walking on very unstable wood. So even though the game seems primitive, I’m still a bit proud of myself for what I did manage to code in under an hour.
In other news, part of the reason I haven’t been coding and writing as much, is my recent spike in gaming. Recently, Danny and I have been playing a two player pong game, created by Dragon Apps. I must say, I kind of feel bad for Danny. Because out of all the matches we’ve played, and I’d say that’s about four or five, he hasn’t won a single one. We’ve played one “long” game, where the winner was the one to reach a score of 21, and the rest were “short” games, in which 11 was the winning score. The closest he came to winning was the long game, where he managed to achieve a score of 16 give or take, due to a streak of complete failures on my part. That’s okay. Because even after several months of frequently playing, he still owns me on Audio Quake most of the time, so I think we’re even.
That wraps up this post. I’m not necessarily done catching up, but I’ll save the rest for a later post. Do not worry, this is not, my last post of 2015. I’m not sure what happened that got me out of blogging in October, causing that lengthy silence (besides that poem), but it won’t happen. I’ll blog again next week, I mean it this time.
Thanks for reading,
type you later,
Steve.

Flee, Flee

Hey guys,
Steve here.
I wrote this up for a number of reasons. I hope you enjoy it. It may not make sense to any of you, but if it does, awesome. If not, I hope you enjoy it anyway.
Flee, flee,
hiding in a tree.
Flee, flee,
what is it you see?
Flee, Flee,
What will it be?
Will you show your face, or will you hide from me?
Flee, Flee,
coming down the tree.
The bark is rough, beneath your feet.
But Flee, Flee,
don’t you see?
The feast that awaits is yours to be!
But flee, Flee,
no longer in the tree,
won’t get your boon, cowering before the beast.
Flee, flee,
the food you seak,
Can be yours, if you will just come and eat.

A Lot of Coding and A Lost Friend

Hey guys,
Steve here.
Tonight, I bring to you all some very sad news. Unfortunately, me and Nevaeh are not, friends. I tried to talk to her again the other day, but instead of replying, all she did was look at Danny’s I Pad, which he was using to Skype with me. Oh well, so be it. For all she knows, my name is Meow, I’m from the great state of Meow, I’m meow years old, and my ultimate goal in life is to meow. You can’t really blame her for never wanting to talk to me again, because judging by that conversation I’m quite a big loser. (LOL)
On the contrary, I actually have quite a bit to talk about, all of that being productive, well not really if my ultimate goal in life is actually to meow. But as it turns out, school is going along well this year, especially my Digital Interactive Media class, which is surprising since I was really scared at the beginning of the school year when I found out what the class actually was. I’m not talking about Business Information Management, the class I’m referring to is a massively visual class, where it’s barely the fourth week of school and Adobe Photo Shop is being used already. Fortunately, the teacher is allowing me to use that time to work on S Quad Racing, and setting deadlines for things, a plus since I now have another person motivating me to get things done. Anyway, he asked that I finish the regular racing mode, and I’ll be pretty well darned if I don’t. Maybe opponents won’t be perfectly matched with players, but he asked me to complete the racing mode, and he’s the only person pushing me to go forward, and I’m not letting him down. I have a lot of people who are proud, but he’s the first that is pressing me to get things done in a certain amount of time, and that’s what I’ll have to deal with in the professional workforce. And when telling him about the game, he especially got pumped about the Aggressive mode, and I will provide that to him by the time I leave his class in 8 months if it means halting progress on all the other aspects of the game until it’s complete.
Aside from that, the day after my last post, I finally broke down and employed a beta team for S Quad Racing, due to frustration at having to find and fix bugs on my own, bugs I thought were fixed already. I felt bad for them for having to test such a primitive product with so many bugs, but thanks to them I’ve been doing all the coding and fixing, and letting them test for the bugs for me to fix. This has definitely been a great help to me, because it lifts one of the most annoying jobs of being a developer off my shoulders, and results in me not having to sweep over sections of the game I thought I’d already tested through and through.
For one thing, today I solved all the crashing issues known to S Quad Racing, and also made it impossible for anyone working on a track to lose their work due to closing the application or it crashing. When I say I solved them all, I don’t literally mean I came up with a magic formula that made everything work 100% as I envisioned, however, rather than crashing, the program will simply log the error, notify the player, and save their progress. So, while I’m off coding a new feature, or doing something else entirely, the program will be logging vital errors, allowing me to pop over to that section of the code and fix what needs fixing, though my testers will still need to report bugs that don’t halt program execution to me.
Another plus side to this, is that now I’ll definitely be able to record the audio demo, without having to worry about the program hanging on me like it did in my last attempts. So, and I say this with the finality of a slamming solid stone door, there will be an audio demo by Saturday!
On a final note, I once again decided to revisit BGT, and am surprisingly grasping the subject matter fast, and more completely than ever. My main reason for doing so is a complex game idea I have, one that I’ll save for another post. For now, though, I am signing off, and will more than likely going to bed here shortly.
Thanks for reading,
type you later,
Steve.

Interesting Game Development Updates

Hey Guys,
Steve here.
So I’ve had an idea for a rather unique track building system for S Quad Racing, and it is quickly becoming reality. In this track builder, which is nearly complete as far as current game functionality goes, users are offered two ways of building tracks.
When a user first begins editing a track, they are placed at the starting line, and the builder is in driving mode. In driving mode, the builder works exactly how the game portion works, minus opponents. There is one difference, however. While driving in the builder, a user can hit the P key at any time to enter pause mode. When in pause mode, the car, and all obstacles, are frozen in place on the track. In addition, the turning keys are not used to move the car; instead, they are used to add turns to the track. The idea, is that a user can add either a left turn or right turn of any severity to the track, by pressing the corresponding arrow keys. For example: pressing left arrow once will set the turn type to easy, twice will make it moderate, a third press of the key will start a hard left turn, and the fourth and final press of the key will begin a hairpin left, the sharpest turn possible in S Quad Racing.
When the user has selected the type of turn they want to insert, they would press P to enter back into driving mode, and their car would enter the turn, just as if they were encountering it in the race portion. When the user felt the turn was long enough, they could end it by first entering pause mode, and then pressing the opposite arrow key (if they were working on a left turn, for example, they would press right arrow), until they heard the words “go straight.” Upon entering back into driving mode, they would find that their car was no longer in a turn.
While I’m sure my explanation confused some of you to no end, an audio demonstration of the system will be released within the next week, which should help to clear up some of the confusion.
The second way to add turns to tracks, (the less confusing, more familiar way), is to use the built in track edit menu. This menu can be accessed only within pause mode, by pressing m. Using this menu, players can add or remove turns, change track settings, as well as build structures. The way turns are added in this menu is that the user keys in the start and end position the turn is to be placed on the track, and then the type of turn it is they are adding. As this is the more familiar approach in most other racing games, I figured I’d add this as an option.
Still, even if the user chooses not to use the build-as-you-go method, they can still use driving mode to test and make sure their turns are placed exactly how they want them, making this a unique, flexible, easy to use system.
Besides the track builder, I took out obstacle functionality for the moment. Obstacles are still in the game, but nothing happens if you or an opponent runs over them, as I have new ideas that are, in my opinion, far better than the systems I’d previously implemented. In addition, I finally encrypted all character data, to prevent people from going in and setting their stats to cheat their way through the game.
As it currently stands, S Quad Racing will soon be ready for early testing, which comes as a relief to me, because after 5 months I’m about ready for people to at least try out my work.
Coding aside, I’ve had quite a good couple of weeks. Besides it being Summer of course, I spent the first half of the week hanging out with my friend, and the rest of the time I’ve been doing a lot of sleeping in, working out, and, of course, GAMING!
Thanks for reading,
type you later,
Steve.

I've Returned

Hey guys,
Steve here.
The last three to four weeks have been packed full of camp. The camp I was at when I posted my most recent blog entry, which lasted three weeks, was an outdoor adventures/PE class that I attended at the Texas School for the Blind and Visually Impaired, which got half of my required high school PE credit out of the way. The second camp, which I went to only three days after returning home from PE, was Texas Lions Camp. Despite getting home sick A Lot, I had a good time, and was a bit sad when I graduated on Friday.
All that being said, my busy schedule has prevented me from doing much in the way of technology, that being the reason I haven’t posted to this blog in nearly a month. However, though it was nearly a month after it was recorded, I finally uploaded the Audio Quake podcast yesterday. The next episode will be over the game Beatstar, and will be scheduled for next Sunday. Stay tuned!
Now that I’m back home, I can once again resume coding, and my focus will primarily be on S Quad Racing. Today, though, I released the set of audio game developer tools released in my last post to the audio games community, so depending on whether or not they have any further suggestions there could be updates to that as well.
Well, that about wraps up this short update. Though both camps I went to were fun, I’m certainly glad to be back to the blog, and all things geek related!
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.

Death Match and Programming updates

Hey guys,
Steve here.
I’m very sorry to say this, but I was unable to record podcast episode 34 this Sunday. This is because Lightstar had a rough encounter with Viper, a mean old battle ship that was piloted by a fellow player of Death Match, Kenny to be exact. Well old Kenny challenged me to a space battle, and I’d have been a fool not to agree, well, maybe I was a fool to agree. Because though I was able to vanquish him in 10 minutes, he significantly damaged my hull, and it took nearly 12 hours to repair.
On Monday, when I found my ship repaired, I thought I’d go ahead and record that podcast. However, Danny was away from his computer, and I found myself getting bored. The result, was me going on my first actual true bounty mission, one that I profitted from. This time, I had a crew of three to four people with me, and two of them manning the warhead launchers. Even still, my ship took significant damage, though not nearly enough to call it a critical fight. This, along with the fact that I never managed to get Danny online to record the podcast, completely put pod casting out of the question. Maybe, just maybe, I’ll try again tonight.
In other news, I’ve made quite a bit of progress on S Quad Racing. First of all, I’m glad to say that the track parser that took a good deal of time and frustration to get working has been successfully implemented. And, because I was in such a good mood after finally getting it working yesterday, I even added error checking that will prevent the track from loading and tell you where corrections are needed. This shouldn’t really be needed, since I’m about 93% sure that most people are going to use the in-game track builder anyway, but I figured I’d add it just in case since I myself made some mistakes in the beginner track. Meanwhile, in my free time I will be looking for rain sounds, particularly sounds of rain falling upon a car, and I’d prefer to have such sounds in varying degrees of intensity, though I’m sure I could produce this affect with a bit of audio editing. In addition, if at all possible, I want to implement random hailstorms that could damage your car, as this is indeed something that could happen in the real world. At the time of this writing, hail storms are more of a possibility than anything, as I’ve not even yet programmed a propper vehicle structuring system, and it’s more than obvious that you can’t damage something that’s not really there.
To that end, implementing rain storms should take less than 20 minutes, if all goes well. Unlike most other track and weather features, I don’t need these to affect either the player or AI much, although I might make it necessary to slow down below a certain speed lest a player would like to experience the affects of a sticky mud obstacle, and that goes for the opponent as well.
Another thing that might enspire game entities to want to slow down, is that I plan to make these storms move across the track as well, at roughly the same speed as a car, give or take some. And if you continue to move at a fast speed, you’ll be moving at nearly the same speed as a storm, so you’ll be under it longer.
Overall, I plan for the main affect of these storms to be to impair a player’s ability to hear obstacles and opponents, to give the affect that heavy rain causes to sighted people. And since some storms could be farely large, you can rest assured that none will be included on the small beginner track. And if I decide that I want to put a few on the second track, they will occur rarely, and will not likely contain very heavy rain.
Moving on, today is April 21, which marks yet another year I’ve been blogging. As most of you know, I started this blog in 2011, and some times go back and laugh at my posts from back then. In case you don’t know, I used to do the following things which I no longer do now:
1. post like three or four times a day some times. lol
2. Post nearly every day.
3. not write very good at all.
4. write blog posts that were sometimes frivolous, unnecessary, and boring. 😀
More importantly, though, having a blog has improved my writing skills, and given me a place to talk tech when the people around me were too confused to listen.
Well, I’ve certainly enjoyed these past few years I’ve been able to do this, and look forward to producing more posts as I get closer to becoming a programmer, and perhaps even a writer! Have a good week, everyone.
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.

Life and technology updates

Hey guys,
Steve here.
Disregarding the poem I wrote on Monday, it’s been roughly 10 days since my last blog update. And during those 10 days, there have been multiple blog worthy events.
To start off, Danny has decided to take a break from administrating Death Match: a New Beginning, (the game demonstrated in podcast episode 32). As a result, He placed me in charge as main admin, a position I’ve held for four days now.
Secondly, I was also promoted to administrator position on Survive the Wild, a realistic wilderness survival game developed by Sam Tupy, and featured on this week’s pod cast episode.
Funny thing is, I’d gone from having zero experience running an online game, to being co administrator on one, and main administrator on another, in the span of 30 minutes.
In other news, I once again opened up the S Quad Racing code, something I haven’t done in three weeks as a result of an extended break I took to prevent from pushing and burning myself out on coding it. Rather than doing the wise thing and check where I left off in the change logs, I instead decided to begin implementing track creation.
Track creation is quite simple. For the time being, it is possible to edit tracks within text files, and they use an extremely simplified language; one so simple, in fact, that some one who knows little about computers can create their own tracks. To make matters even less complicated, I plan to include a track builder that will make it so that one need not type out tracks by hand. This is not due to the complexity of the track language itself. Rather, I’ve learned the hard way that the procedure of track creation can get very repetitive when typing it out.
The following is just a little example of how a track should be built. track size is the length of each lap, spawn is how fast obstacles, and max obstacles is the maximum number of obstacles that are allowed.

Excerpt from beginner track

This will create a 400 square long track segment, with two left turns, two right turns, and one right turn. Notice how each track part has two lines–a start, and end. These are to insure that the parts of the track keep within their boundaries.

track size 2000
maximum obstacles 50
spawn 10000
straight start 0
straight end 150
left start 151
left end 170
straight start 171
straight end 280
left start 281
left end 300
straight start 301
straight end 370
right start 371
right end 400

At the time of this writing, this system has not been propperly tested, in fact I have not compiled a version of the code with this system implemented at all. So as you can gather, this is just about as stable right now as a rotting wooden fense in a hurricane. However, I’ll update on the progress, and resume production of audio demos should any changes be made to game play.
On a final note, Choir UIL was last Wednesday. We made mostly all ones, except for one little two, but even that still averages to one. So while I didn’t like having to get up early and go to school and sing at such an early hour, I dare say it paid off in the end.
That is the end of this post. I’ll blog again later this week. Enjoy this week’s Survive the Wild pod cast, (episode 33), and be looking for Episode 34 next week when I’ll be demonstrating bounty missions on death match if my ship, Lightstar, manages to survive that long.
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.