Racing Game Updates and a Programming Venture

Hey guys,
Steve here.
Nearly a month it has been, without one single word from me on this blog. Good lord! I can’t believe it! So much has been going on in that time frame, and recently it feels as though my creativity is spiking again, which may or may not be a good thing. You decide. As a result, I completed S Quad Racing’s Race Mode, and did away with the few bugs that have been so stubbornly plaguing this game and hindering its further advancement. That burden being lifted has allowed me to expound more on the opponent AI, building auto gear shifting in for them as well. However, that’s not what matters so much, or in fact what puts me in such a jovial state of mind at having completed Race Mode. It turns out, that another goal was accomplished that day. I actually managed to do it on the last day of the first six weeks of school, which was the deadline my Digital Interactive Media teacher and I had set. So not only did my game achieve a great milestone on its path to the metaphorical finish line, I managed not to let my teacher down in the process.
After completing Race Mode, I took a small break from S Quad Racing, and decided to experiment with linked lists in Pure Basic. One of my main reasons for wanting to use BGT for the complex adventure platformer I’ve been realizing was Pure Basic’s rather flawed array system, which does not allow programmers to directly interface with elements, (I.E. removing, inserting, swapping), which is a necessity that, although can be worked around if not available, is not at all worth the pain since most languages have that ability. But I came across Linked lists, and have recently been experimenting with them. Here’s what I can gather so far. (Non-geeks, just bear with me a moment, this is about to get over your heads)
One cannot access an element directly. In order to get to a certain element of a list, a programmer must first tell the program to go to the first or last element, and sycle to the next or previous element respectively, until they reach the particular element. This has the potential to make apps that use linked-lists run slower, because they have to move element by element until they reach the desired one, whereas elements of an array can be accessed on the fly.
Nonetheless, I’ve begun incorporating these into S Quad Racing, and unsurprisingly they have made things a lot less painful. Remember the problems I’ve had with obstacles? How their affects would loop and loop and loop unrealistically? That ended because I am now directly able to… in non programmer turns, make that obstacle disappear from the track, or more realistically become ineffective because it was driven upon. This also means that turns will now be able to be taken out of tracks by builders, with no unnecessary headache for me as the developer.
Bottom line, I think these linked lists provide an advantage over arrays, even though they may make things a bit slower and accessing elements can be difficult at times.
That wraps up tonight’s post. I have more to talk about, but this is getting quite lengthy as it is, so I’ll save the rest of it for later posts. See you all in a week, not four.
Thanks for reading,
type you later,
Steve.

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.

Back To School

Hey Guys,
Steve here.
Well I found out something very interesting yesterday! Apparently, it’s actually possible to carry out a Skype conversation with a… cat!
I was in a Skype call with Danny, trying to record an episode of my Podcast. However, Danny had to take a break in the middle to eat dinner. While he was gone, his cat started meowing for no apparent reason, so I meowed back at her to see if she’d answer. Guess what? She did! And since I still had the recording configuration used for my podcast set up, I was able to record a little ten second clip of it.

Maybe, just maybe, she was meowing for a totally different reason, but I’m humorous. So I say she was chatting with me. And it’s not like she can deny that… or can she?
Anyways, besides chatting with cats, life has been pretty good over the last month, even though school started back up last week. Most of my classes this year aren’t bad, well not really, although some of them are a real pain to get to, which is why I got lost twice so far.
Besides getting lost, I’m already getting homework. In fact, that started the second freaking day I attended geometry! However, the teacher seems nice and helpful, so I don’t think there will be any trouble there.
In addition to the homework, I’ve been having some technological issues in a few of my classes, and am afraid I’ll have to leave one of them for that reason. I don’t know what it is with Microsoft Office products, but they just keep going down hill in terms of accessibility. Worse still, they are practically a necessity in college and the work force these days, so I’m not really sure what I’m going to do once I get to that stage of my life unless something can be done.
That said, Microsoft Office is practically the back bone of the class in which I’m struggling. So unless they manage to fix their accessibility issues, I’m not quite sure how I’m going to pass that class.
On a more positive note, development with S Quad Racing, sluggish as it is, is going quite well. I had to fix some annoying bugs this evening, bugs that of course didn’t pop up until I tried to record the audio demo (figures). But rather than make sure all current bugs are patched up, I’ll just go ahead and throw together a demo recording, because in the next couple days I want to code in surfaces, but before I make such a big change to game play I really think I should get a recording of the game in its current state. Besides, that demo is pretty much 2 months over due, so yeah.
That concludes the posting for tonight. Be sure to stop by and listen to podcast episode 38, which demonstrates RS Games, and is as usual packed with mine and Danny’s twisted sense of humor. Please, listen to it. It took us 3 attempts to record that thing!
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.

    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.