Hey Everyone: I figured out my blogging problem

Hey guys,
Steve here.

Hello everyone, here we go again. I would be skeptical, very much so, if all 330 odd people following this blog were to tell me that not a one of them were believing that this blog is dying, that I am no longer interested in maintaining it, or that it would be best for me not to continue because I will continue to frequently infrequent this blog. Surprisingly, it’s actually quite the opposite for me. Let me explain why.

No matter how many times I’ve acknowledged it, I never stopped trying to force myself to live up to some form of deadline or another. And I’ll be honest here, when I posted that I’d get something done, my biggest fear was that if I didn’t do it by the next post, it would cause people to lose at least some faith in me and believe that, perhaps, I was one of those “all talk” people, something which I do not want to be known for. For some reason, this sycle has repeated itself many a time over the last year, and I’ll explain it below:
1. I get excited about something, and blog about it.
2. In my excitement, I bang out a sentence that starts with something along the lines of: “In the next post”… “I will likely”… “I will”… you get the picture.
3. Life ends up getting in the way. A problem occurs, school work or otherwise occurs, or I lose motivation temporarily to complete what I said I would.
4. I hold off on the blog post, because I don’t want to post with some excuse as to why I didn’t do what I said I would.

I don’t know if I’ve talked about this subject in a previous post, but the fact that I can’t even remember that now is just another factor that has driven it home for me. See, I started this blog so I could write about whatever I want, whenever I want, and not follow a specific pattern. If I wanted to write a poem, I could. Then the next day, I could post a 400 word technical rant that had to do with the math involved in creating full 3d games, then I could follow that with a post about what a wonderful week I’d had. To an extent, I was… somewhat keeping this unbound routine, but I was adding something I wasn’t before. No, it’s not as I previously suspected, me blogging too much about programming and the like. It’s the fact that I hold myself to deadlines, and then fear failure when I can’t get them done.

That said, I’ll be breaking the sycle by writing just one more of those sentences, though I’ll surely hold to this one, or this blog would die whether I wanted it to or not. I will, not be giving myself deadlines on things I can’t be sure will be completed.

All that out of the way, I am glad to say it’s been a productive couple of months. In summary, I’ve actually started rewriting S Quad Racing in Python, am taking two dewel credit classes in school, and… life is good. These days, I’m still overworking my brain by trying to figure out math formulas for complex things such as rotated rectangles, polygon and triangle shaped surfaces and how they would be represented in a game, and all that fun stuff. In addition, I’ve actually started going to the gym this school year, which is at least somewhat of an improvement from last year.

I know that was quite short, at least by my standards, but another disadvantage with such long blogging breaks is that it’s real hard to come up with something longer than that because you obviously can’t remember everything about the last three months. Still, I think we’re quite up to speed, and I don’t only mean that as a pun to me getting back into working on an all new S Quad Racing version.

Before I go though, I should let you know that if you Go here, you can learn more about what the re-write of S Quad Racing in Python is allowing me to do, and what I’ve done so far. I wrote that page just a little over a week ago, so I have made a little bit of progress, but not too much. Either way, see you guys soon, and I must say it’s a great joy to be back.

Thanks for reading,
Type you later,
Steve.

Return to Normalcy

Hey guys,
Steve here.

I really need to stop doing this. Over the last 50 days or however long it has been, this blog acquired 10 new followers. I’m guessing they followed me in hopes that they’d see future posts from me, which I have not done a good job of producing.

I remember a time when I’d blog every 4 to 10 days, because I didn’t try to stick to a certain topic. Recently, though, I’ve found myself unintentionally gearing towards one subject, game development. While I enjoy game development, quite fervently might I add, it was not my intention for this blog to become solely based on that. This does not
mean the end of my technical rants and detailed game idea postings; those will still occur, but it’s time
this blog return to the way it was before, when I didn’t attempt to bind myself to one particular
subject.

Because it’s been so long since my last post, I have a lot to say, but I’ll try to separate it into
multiple posts so I’m not talking about five different things in one. But as a general, perhaps five word
summary, the last month and 1/whatever was good… well… great.

My seventeenth birthday has already passed. Unfortunately, due to my attempt at binding myself
to one blogging subject, I didn’t post anything then; and when I don’t post something on such a grand
holiday, you know something’s not right. That said, it was one of the greatest birthdays I’ve had. I
didn’t have a party, but I will say this. The people I spent it with made it better for me than any party
idea I could’ve come up with myself, and to be honest I didn’t want one.

Aside from that, there hasn’t been much going on worth mentioning. This Friday, though, I am
traveling out of state for a goal ball tournament for the first time, something I’m both excited and
nervous about. I am not traveling with a specific team; I’m not sure whether or not I’ve been assigned
one. But here in Texas, our goal ball practices are small, so we don’t have a fully developed team of
men. I guess this one is going to be quite an adventure though.

In other news, I’ve been alternating in between my 3 projects. I actually did pull out Matt the Terrorist’s source code again, making some significant changes which I’ll discuss in a later post. I’ve also been working on Breakout, and at the moment I’m attempting to integrate a bonus level which requires the user to control multiple balls at once. I’ll let you all know how that turns out in the next post as well. But for now, I’m wrapping it up. I’ll be back after
the tournament.

Thanks for reading,
Type you later,
Steve.

S Quad Racing: Gears, Track Building, and A Bit of Rewriting

Hey guys,
Steve here.
Despite what the absence of an audio demo that “should’ve” been released nearly a month ago might seem to imply, I have not neglected, or in fact been lying, about the current status of S Quad Racing. While there has been days when I haven’t worked on the game, (maybe even too many), I’m happy to report that development is still underway.
First of all, I’ve begun to rewrite and organize parts of my code. While the initial reason for doing such was to make the code a bit more readable, upon further inspection of what I previously had and after a bit of brainstorming on the gears system I discovered that my code was unintentionally designed so that any major changes, I.E. the implementation of things such as vehicles, gears, surface types, and other structured objects was out of the question, due to the way I’d programmed most of the game in its early stages in an effort to create a simple environment in which I could get a little taste of what I wanted S Quad Racing to ultimately be.
Now, though, the game has become more complex, grounds for a bit of a rewrite.
The following is a list of reasons I couldn’t possibly produce that audio demo, at least not tonight and maybe not even tomorrow:

  • I ended up organizing the code into separate files, and if I compile now I am bound to get some errors due to procedures not being declared and such and will likely have to make adjustments accordingly.
  • I’ve added a lot of new code that hasn’t been tested yet due to my not having finished making adjustments to the code.
  • I found a new bug. If you add a turn, and then strengthen or weaken it by adding another turn with greater or lesser severity right after it without first having a straight section, the game will not announce the name of the turn due to a bit of code I added without thinking, again, about the future. However, this one should be easy to fix.

    With all that said, there is good news to report. The above mentioned new code deals a lot with the gearing system, and I’m happy to report that I found and coded a solution that will work for this!
    In addition, I came up with a new idea to manage speed, and have implemented it as a result. This new way is not only future proof, but way more practical in terms of balance, as it basically tells the game how to handle each and every individual speed that a car can travel, without me ever having to touch it again. While you are unlikely to notice much of a difference when the new demo is released, the gears and ability to select different vehicles are bound to catch your attention.
    That concludes tonight’s post. Once all the code is sorted out I’ll likely be releasing two audio demos; one being on the track builder only, the second demonstrating the new gears system and ability to race with different vehicles.
    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.

    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.

    New Coding Ventures and Addicting Games

    Hey guys,
    Steve here.
    I’ve become addicted to an old game. And when I say old, I mean before I was born, old. So old that even though it’s a video game, most of you don’t even know about it I’m sure. the game is Quake. But of course, I don’t play the video version – some one made a modified version for the blind.
    The thing I like about Quake, well Audio Quake anyway, is that the weapons and tactics used surpass those on modern audio fps games such as The Road to Rage and Swamp. With actual bombs, rocket launchers, grenades, projectiles, poison, and much more, I have to say that Audio Quake is a unique gaming experience for me.
    Well anyways, even though I’ve only been playing for two days, I’ve really been owning Danny, the awesome friend who got me hooked on this game. I’ll give him credit, he’s thrown me a lot of good ones, but I’ve only played for two days and I’m already getting good. Needless to say, thiss is going to be the demonstration game for this week’s podcast, and I really can’t wait to record this one.
    Moving on, I managed to squeeze in a bit of programming as well. The new coding venture I mentioned in the title of this post is a set of Pure Basic scripts designed to help audio game developers code audio games quicker and easier.
    This has been an idea of mine for a couple of months, but there were a few reasons I didn’t so much as blog about this:
    1. There is already a scripting language that is specially designed for easy audio game creation, so why make another?
    2. I had no working idea of how to go about coding this.
    However, despite the reasons outlined above, I ended up starting on it last week, and so far the project is going quite well. I’ve coded a menu class, which allows for the creation of game menus in pure basic, as well as an audio form class which allows for the creation of virtual, off screen forms read by screen reader and Microsoft SAPI, again useful for audio game developers since everything is off screen anyway and it was previously quite difficult to request information from players in audio games coded in pure basic. There are still a few tweaks that need to be made, but once those are sorted out I’ll release this set of includes to the blog.
    In other news, S Quad Racing wasn’t worked on all that much. I coded a vehicle structure, and made my code more flexible for changes to cars such as gears and such, but I haven’t added in the gears yet. I’m still not exactly 100% sure how I want to code them, but I’ll post an update once I get it figured out. Anyway, once I figure out how to implement gear shifting it should only take an hour, perhaps less, to get it fully working without bugs, that is assuming everything goes smoothly.
    That concludes tonight’s post. More details, as well as possible releases for my latest projects will be in my next post. Also, be on the lookout for Episode 36 of the Steven D Podcast.
    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.

    An Update On Game Development and Other Things

    Hey guys,
    Steve here.
    Over the last few days, I’ve done quite a bit of coding on the Racing project I’ve been working on. Now that I completed the basics such as driving and such, I was able to begin on some things that should make the game much more interesting. One such implementation is the opponents’ rather comical ability to “rage” at you while in the midst of a race. As it currently stands, opponents driving by you can: glare at you, yell at you, or honk. I plan to add more amusing possibilities, but the aforementioned were just tests to insure that the system was working.
    Similarly, opponents can now crash into obstacles, but at the time of this writing there are still some major bugs to fix: instead of Enemies always dodging obstacles, they now crash into nearly every single one. The most probable cause for this issue is that I coded it so there was a 1 out of 6 chance that the opponent would hit an obstacle, which averages just over 8 obstacles per lap. Considering that an average player only hits 1 to 3 obstacles per lap, I’ve come to the conclusion that this must be reworked.
    More importantly, I’m currently in the process of coding in a stat management system. It is now possible to earn money at the end of the race, and level up as well. A detailed summary of this can be found here.
    At some point this week, I’ll begin to work on some more built in tracks. In these next tracks, I’ll be adding more items: walled navigation sections, and perhaps power ups. I already have a good idea of how I want to build track two, and very much look forward to playing it.
    Aside from the racing game, my weekend was awesome! Yesterday, I took a break from my coding and relaxing to attend the 2015 Winter Jam concert with my church. It was a total blast, and I wish I’d gotten pictures or something. It was a whole bunch of worship, rock and roll, Gospel singers, and… Skillet! :))
    Well, I guess that wraps up tonight’s post. Expect another one later this week, along with an audio progress demo of my Racing game. Also, though I might need some assistance, I need to come up with a name for the game, because “My Racing Game” just isn’t gonna cut it!
    Thanks for reading,
    type you later,
    Steve.