So you thought I was gone…

Hey guys,
Steve here.

Let me compare myself to the Texas weather for a moment. Readers of my blog who don’t actually live here may not understand this, but there’s a pretty good chance you will.

Okay so it’s an El Nino winter here. That tends to mean higher precipitation amounts and cooler than normal temperatures. That’s what we were all expecting anyway. Some took it to mean lots of snow and arctic weather, others thought it would be cool and rainy. But due to the absense of cloud cover, it has been, hot for lack of a better word. And for a reason that I’m not quite sure of, it has hardly precipitated, in any form.

I might be somewhat of a weather geek/enthusiast, but that’s not why I shared that weird bit of Texan climatology. But I’ve noticed something as well. I’ve kept saying, [in my once-a-month blog postings], that I would get back to it, I’d be blogging “next week” or “more routinely”. I haven’t been doing this for too many years but even I know that for whatever reason, I tend to post more at the beginning of the year. On the contrary, I’m posting every 40 days give or take, and sticking to only one subject when I do. Sounds a bit like the dry and hot “El Nino” winter has come to reign over this blog, doesn’t it?

Moving on from that, 2016 has been a success so far, for me at least. Due to complications I may or may not have posted about here, I had to drop my BIM2 class. In its place, I switched to a Web Technology class, where you basically learn to program on the web, at least that’s what I can gather from my experience so far. Despite it being a full year class, (you have to be in there all school year to get credit for taking it), I was somehow able to switch into it for the second semester, and my guess is that I’ll have to finish the class in the first semester of next year.

Despite this not technically being an ideal change, I feel I’ve bennefitted much more from it than the class from which I was pulled. In just 5 weeks of being in that class, I’ve learned HTML, (though I already knew about 75% of it it seems), CSS, though that nearly bored me to tears due to its visually orientedness, PHP, and now I’m working on Java Script, which I find to be the most interesting of them all, due to it’s rather simplistic nature and from what I’ve heard it can do quite a bit.

Aside from school, I’m doing alright. On the coding side, because it’s been so long since my last post, I cannot remember everything, but I did work on S Quad Racing, releasing a semi-major update to my testers on Monday. One amusing bit, however, was the set of bugs that appeared in my crashing code. Firstly, due to a glitch with collision detection, once I crashed into my opponent, the sound played like 50 times. Secondly, when I fixed that and went to go another lap, I apparently spawned at the same spot as an opponent some how, so crashed and burned before driving even commenced.

And to make things even funnier, when crashing finally did work, instead of coming to a stop at the end of the race, for some reason the opponent kept going. I guess I rendered his breaks useless when I smashed into him? No seriously that’s actually never supposed to happen.

I still haven’t fixed the 3rd bug I mentioned, and here’s why. It’s been quite a long time since I played the breakout game I created, and Danny suggested I play it again on Monday night. I did so. And I regretted doing so. The ball movement was all kinds of messed up, so I realized after 3 months of playing other breakout games. So since last Monday, I’ve basically been rewriting the whole entire game. Firstly, it now has missions, and creating new ones is not in the least bit difficult. Secondly, it has paddles and balls which have multiple properties, giving me the opportunity to implement variety when it comes to different balls and paddles sold in the shop. And thirdly, it has forms of currency. Tradepoints, which can be obtained by doing almost anything, and Useless Balls (UB), which can be obtained by completing special bonuses, or with 1000 tradepoints from the shop. And, finally, the ball movement system is fixed. All the above mentioned have already been implemented into the game, and we’re going on 7 days now.

Yes, I know. I’ve gone on ramblings about games before and none have been released thus far. I also know that I have 2 other games in the works. But you’d be surprised how many game projects you can take on when you have no deadlines. Firstly you don’t have to stress about time, and secondly you can stay motivated to work on all three of them because you aren’t working for anyone. (S Quad Racing’s rewrite was a special case, that was mainly due to the entire code base being mangled).

That wraps up tonight’s post. I can’t tell you what to look forward to on next week’s post because I simply don’t know.

Thanks for reading,
type you later,
Steve.

Rewrites and an Audio Demo

Hey guys,
Steve here.

There I go again, with the whole not blogging for over a month thing. The problem is, I have been wanting to blog for at least the last week and a half… but then again it might be better that I waited this long to because some important things have happened recently that I would prefer to have gone in this post.

As I’m sure you could tell by the steady decline of enthusiasm I displayed towards S Quad Racing, and the increasing lack of work being done on it, I was definitely becoming unhappy with it. Since I’d started working on it so early, I didn’t know much about the language I started coding it in, causing me to do numerous things the wrong way, something I wouldn’t find out until the game really started taking off. By November, when I was trying to really ramp up the features, I realized that my code was pretty much just patched together, close-ended, buggy, and virtually unusable.

So, the last week of Christmas break, I finally decided to rewrite the entire game. There were still parts I copied from the old version, such as ambiance, playlist, checkpoint, and obstacle support, but everything else was completely scrapped.

After just a week of coding, I had a fully functional game. And when I gave it to my testing team, the bugs they found were only minor, easy to fix ones that usually resulted from forgotten or wrongly written lines of code. I’ve spent the last week fixing those, leaving only some minor bugs I just found out today. But thankfully, those that are occurring now are not the irreparable ones found in the old version, as I am more able to fix them now that I have a workable code base.

In other news, S Quad Racing is not the only project receiving a rewrite. Matt the Terrorist’s engine is receiving a rewrite as well, going from a 2d side scrolling game to 3d. The code base for this was not mangled like the old S Quad Racing, however it didn’t really have much in the way of flexibility, I.E. Implementing 3d support into it would have been next to impossible due to the y coordinate being used for up and down movement among other things.

Plus, since this game is not completely user friendly due to the keyboard layout, –we have keys for movement for forward, backward, left, right, up, and down, there are two keys (one for the left arm and one for the right), plus whatever keys will need to be added in future, I thought to add a keyboard configuration option. The way the keys will work in this new version are w a s and d for directional movement, r and f for up and down, (climbing ladders and controlling your jet pack), left and right shift being held down for the respective arms, enter to throw items, i to deposit them into inventory, and space to place. However, due to the complaints that will likely come about due to this rather odd key configuration, I’m working on a way for all aforementioned keys to be customized.

Aside from that, I’m really interested to see how three dimensional building will turn out in an audio only game. I don’t suspect it will be different from other audio games in terms of navigation, but we’ll just have to see, since the player will actually be constructing 3d structures without being able to feel or have them described to them.

That concludes tonight’s post, mostly anyway. Since I promised audio demos, I’ll provide this one for S Quad Racing since the Matt the Terrorist engine test is not in much of a playable state at the moment. Enjoy.

Play

Thanks for reading,
type you later,
Steve.

Matt the Terrorist Game Engine: Introducing New and Interesting Game Mechanics

Hey guys,
Steve here.
Twelve days ago, I told you all that the first step of Matt the Terrorist, the adventure game, had been completed. It was just a game with the ability to walk, nothing more, really. But apparently, a lot can happen in twelve days, and the following list should clearly point out my reasoning for proclaiming the preceding statement.
Because I got pumped at having started on this game that had been nothing but ideas for months, and was curious as to whether or not coding some of these radical game mechanics I’d been dreaming up could actually be done, I pretty much got carried away. The following is a list of what I managed to achieve, in about 910 lines, and probably 6 or 7 hours of accumulated coding time.
-Platform like structures, building material, and walls, all of which have length and thickness properties.
-leveling. In the current game I’m building with the engine, Matt the Terrorist: Engine Test, levels don’t mean much, as this game has no real objective, it’s just a test of the game engine after all. Still, levels affect things, as you will see below.
-Items that can spawn or be spawned on the map. These could be building materials, stat upgrades, money, etc. The stat upgrades, such as money, increase as you level up.
-A shop. Only two items in there so far, but again there’s not really too much to work with in terms of objects. Prices of all the items increase as your level does.
-Some… uh… I wouldn’t really call them physics, but items can break if dropped too hard, players and items can fall, and walls can actually be kicked in, (that excludes the edges of the map).
-And finally, I’ve been working on a complex system for arms. These really aren’t the “realistic” idea of arms, but they work like this.
You hold down the left or right shift key, to control the respective arm. (Non realistic element coming)… the right arm can only extend to the right side of your character, the left arm only to the left. Both can move up and down (up as high as they can reach, down to the surface you are standing on).
In addition, the arms can be used to “feel” things, if that’s really what you want to call it. If you move your arm over to the edges of the map, you will be told, “border.” If you reach up to a surface, or are standing on one and move your arm down to it, the length and thickness of the surface segment will be announced. If you are standing on a platform, it’s name will be spoken as well.
In addition to the feeling aspect, the arms can do the basic things, such as dropping and throwing items, as well as exchanging them with your inventory.
It’s not a whole lot, but I’ve been slowly creating functions as I go, such as location and collision detectors, that have helped me a lot. I’d say that the hardest part so far is defining the physics for items, as it requires me to type a bunch of unproven code that I am only about 33% sure will work. I guess I’ll let you all know whether or not it does, once I have a chance to fully test it.
As for developing S Quad Racing, that has gone slower, because of course with my new burst of coding energy I’ve been focusing on Matt the Terrorist’s engine, and unfortunately I have a one track mind. Well, I guess one and a quarter, because I worked a little bit on it, — a few bugs I previously didn’t even know about due to me not racing multi lap races were fixed, and crashing was implemented.
I hope to have audio demos of both games I’m working on in my next post. Also, for those curious as to why there haven’t been updates on the S Quad Racing page, I forgot about them when I started my alpha testing folder, that’s why I haven’t posted many of them recently. This does not mean a lack of work on that project for the last couple of months, — the two audio demos I’ve posted since then should prove that.
Thanks for reading,
type you later,
Steve.

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.

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.

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.