Well, who knows what happened in August? Now that I think about it, I don’t really remember. But I can pick out a couple of key things.
I updated some elements of Tone Def again
What’s different? Well, a new font, for one. This was created at FontStruct, probably the only place I’ll go to from now on for font. You can create your own font! If you see something that someone made, but wish it could be different, you can edit it! It’s really a great font experience. The font has been updated all throughout the game, and I’m pleased with how it’s turning out.
One major change which I feel added to the game feel x10 was the addition of a custom mouse. I wish I added it earlier.
This isn’t just an abstract mouse pointer, however. Each thing I do for Tone Def does take a lot of thought and consideration. One thing I try and do is related everything to something musical, if possible. This mouse pointer is no exception. At the base of the pointer, you can see a conducting baton. The mouse pointer itself is an abstract version of the path a conductor’s hands/baton takes when conducting a 4/4 piece of music.
A single for Tone Def has been released
And the name of this single is called Night Bots. It’s only $1.00 and currently on the OriGaminc bandcamp page……so far, no one has purchased it….*sigh*
Well, I actually have a bunch of codes I can give out for a free download…..
But it was a fun song to make, and it’s in a really cool level for Tone Def. It’s called Night Bots for a reason.
Monster music for other games
I’ve been asked to make music for two other developers and their games in the Philadelphia area. Needless to say, I’m extremely honored, excited, and very inspired. One game is called Monsta Punch, an iOS brawler. The title screen music, which I’m calling “My Monsta“. I still need to polish this before I can say it’s complete, but this is what it’s going to sound like.
The other game I’m composing for is called Monsters, which is actually currently being Kickstarted (so go Kickstart it) If you want to hear my track, which is currently nameless, then watch the video and wait for the actual game cutscene to start. As I am with most of my musical tracks, I’m not done with it, and will most likely finish polishing things up until I feel like I’m going crazy over that song. I also have a second track for that game which still needs to be finished.
This didn’t really happen in August, but I should probably mention this. A couple of weeks…er…months ago, I wrote this post, saying that I was going to write longer pieces based a a book called The Little Black Book of Design. And I still plan to do this. Actually, I plan to start within the next few days. It’ll almost be like going back to school, something that many others are experiencing currently. It’ll also be an excuse for me to read more about other things.
Anyway, that’s it for now. Let’s hope the next season is a bit more consistent!
So, it’s April! There’s a lot on the plate for this coming month.
First off, today is the first day of PAX East. I’m in Boston at the moment, doing all things related to PAX and video games. This is less of a ‘game dev’ conference, but there are still a bunch of interesting panels regarding game development. Regardless, there are still a number of great things to take part of, and I do wish I could be part of everything.
Later on this month is Philly Tech Week, and I’m going to be a part of it, mainly two events. The first is the IGDA Game Showcase; the other, the Unity Showcase. During both events, I plan to show Tone Def: Revenge of the SquareBots. For the IGDA showcase, it’ll be mostly showing the game. During the second even, I may also talk about some Unity stuff. Only if people are interested. Finally, I’m still working on my submissions for IndieCade. Hopefully I get some feedback on how to make it better from the showcases, as the deadline for IndieCade is May 1st.
But that’s it for now! It’s time do to things related to video games (unsurprisingly).
So, my laptop’s screen is definitely broken. Pretty good timing too, I guess. The last time I had laptop issues, the deadline to the IGF was quickly approaching. I was out a laptop for a good week, which meant I couldn’t do a lot of programming.
This time, the deadline for IndieCade is coming. What are the plans for IndieCade? Well, I hope to submit two games, Mr. Condyle’s Escape and Tone Def. So, the problem is, I have two games to work on, can’t work on them full time, and have no laptop. Still, that doesn’t mean that I can’t do other things, in regards to planning, designing, organizing and more. After I get my laptop back, I do plan to, as they say, ‘kick it in high gear’, I think. That means I’ll have a lot more content to share, on the design front, as well as other aspects.
By mid next week, I hope to be in full swing with my music production. In the mail, coming my way, is a new Midi Controller that I plan to use with Reason, my current DAW. Rather, I should say ‘first’ Midi Controller. All of my work with Reason has been me using my mouse and keyboard. That doesn’t mean that I’ve haven’t been able to make music that I’m unhappy with. All it means is that I should be able to make music faster, which I’m looking forward to. Hopefully, later on this week, or early next week, I should have some new musical pieces that I can share via the blog/soundcloud. For now, I’m going to continue working on a cheaper borrowed, non midi keyboard, to help me get ideas out of my head. Also, I purchased the sheet music book for various Legend of Zelda Songs.
In terms of designing, there’s a lot that still needs to be done. The part that does make me a bit upset is that I can design some things, and put them into my game, then update them based on how they appear in game. I’ll have to do some waiting before I can see my ideas and plans in production. Each time I get a free chance, I muck about in my Redmine, doing a lot of organizing. The way I work is in 2-week iterations. I assign myself a number of task that I think I’ll be able to complete within the two week timeline. More often than not, I bite off more than I can chew, which is okay for now, since I’m my own boss. But, setting these goals and iteration time periods help me keep track of what I’m doing, how long it takes for me to accomplish a task, and helps me form a nice timeline of production. It also helps me figure out where something went wrong, and who to blame it on (I can only blame it on myself….).
In terms of actual planning, I have outlined what’s needed for Tone Def, thing the player will actually see. More instruments, more instrument effects, and new level types. Also, interesting light shows (more on that in a future post, hopefully). There’s more work behind the scenes that need to be done also. I recently starting to make more and more custom editors, and there are a few other thing that would work better for me if I had a few custom inspectors in this Unity project. Such as the aforementioned light show. I’ve been thinking about going into some detail regarding some of the editor scripting. I’m still on the fence about it, since most of the time I start writing a blog update, I delete it. This is actually the third time I’ve tried to write this particular one.
But that’s it for now, before I go ahead a delete this one. I’m hoping to move at a better pace, and have something good before the IndieCade submission date. I’ve gotten some feedback from others regarding Tone Def, and it seems like other people don’t think it’s terrible!
It’s been a while since I’ve updated anything about my progress that I can show off.
I will be the first to admin, it’s nothing new or groundbreaking. In the previous version of Tone Def, there were a set number of instruments that could be used for a level, and depending on the Movement (or world) you were in, you had access to a number of these. This was okay for a concept, but it’s very limiting in a number of ways. Players wouldn’t be able to use weapon ‘X’ on level ‘Y’, if everything was statically set.
However, giving players the choice to use certain weapons potentially limit me, and semi-stand in my way of new ideas for particular levels. And they’re pretty interesting ideas! (well, in my opinion….)
So, what do I do instead? Try for the best of both worlds. I spent the last 6-ish days creating, establishing and refining the page which lets you choose your instrument. It’s pretty straightforward. That empty pane on the right is reserved for a little description of what each instrument does, and the arrow buttons…well, they let you change pages. At this point, I’m not sure how many instruments I’m going to create, but it’s going to be more than 10! And I have some potential ideas for some of the future instruments. ….which hopefully are odd.
There is also this:
There will be some levels where players cannot choose all of their instruments! Maybe they’re going to be challenge levels, or levels where I just feel like being mean, but when this shows up, players will have instruments automatically selected for them. This gives me a bit more freedom with levels where I have specific levels in mind.
But that’s really it for now. Not much, but something. I do have a few ideas for level modes that I’m currently working on, but I’ll talk about those some other day, when I can put together a better post.
So, the web build of Tone Def has come and gone. I did receive a bit of feedback, which I found useful, and have implemented/will plan to implement in the new and improved desktop build. It doesn’t seem like too many people took interest in it, which is okay. I have future plans for a desktop build, and hopefully it does better. But in order for this to be better, I need the code behind the game to improve.
There’s a lot that I’ve been doing behind the scenes. A lot of code has been deleted, and a lot of odd work has taken place. A god portion was me experimenting with different implementations, looking for better places to put code, and other places to delete code that is just plain foolish…and there appears to be a lot of that unfortunately.
One of the (more important) elements that was reworked was the Enemy Spawner. Originally, the spawner managed spawning in a ‘step’ format. Now, however, the enemy spawner is managed by a curve. The rate of enemy’s spawning continues to drop until the it reaches the minimum that I set for that level. The harder levels with have a lower wait time until an enemy spawns.
This is the new enemy spawner. This spawner has everything collapsed, and right now, spawning is disabled. It’ll be disabled on particular levels, which are puzzle levels, or levels where players are just allowed to mess around. Here is the spawner with spawning enabled:
The six slots are reserved for the different types of enemies that will be spawning for a particular level. Each slot is hooked up to a percentage, and the bot in the first slot has the highest percentage of being spawned, with the percentage lowering as you move down in slots. This isn’t finalized, as I really want to change the percentage controls, and make them easier to adjust on the fly.
Underneath the “Spawning Management” section, you can see the curve and the “Max Spawn Amount”. The max spawn amount caps the number of enemies that can be spawned at one point in time. This first worked as ‘damage control’, keeping the game from getting out of hand, but it would also assist in the learning curve for players who are potentially having a difficult time with the game. Finally, you can see the curve, which is an animation curve. Instead of moving an object with this curve, I’m evaluating the curve at certain points to handle the spawning. This way, the spawning is more gradual, as opposed to staged. It’s also better suited to allow me to have ‘burst’, akin to Plants vs Zombies, my main source of inspiration to for this game actually. (Imagine a zombie from that game showed up in mine as an enemy…….that’d be…..interesting……)
I also have two aptly named Conductors for the game. One conductor controls the level, and the other controls the musical aspects.
Now, this custom inspector wasn’t actually necessary. However, it does make things easier to look at, and easier to organize. I can hide the Main Beat Lanes, so I’m not looking at everything all at once. Also, I have a set of lanes that play on the ‘ands’. Currently, it’s disabled (the Enable OffBeat toggle), but when it’s enabled, you’ll see another set of lanes, along with the parameter which ask how many lanes are valid. The number of lanes will be adjusted when there’s a level that has a different Time Signature. My latest build only has a 4/4 songs, but I have a few ideas for some 3/4 (and even 5/4) songs.
The Level conductor has a number of things behind scenes, but at face value, it has this:
It’s pretty simple, and still in the works. However, changing the type of stage will also change the variables exposed:
There will eventually be more added, but this is what is available for now.
Here’s a fun one! The Note Selector:
The note selector holds the notes that a specific instrument will play. If the is more than one sound present, the instrument will cycle from the sound in the first slot down to the last slot. The plus/minus buttons help you quickly add or remove a slot. This was actually the first custom inspector script I wound up writing, with the help of many different online resources. While there’s a lot of documentation this stuff, sometimes, I feel as if the docs could use a bit more in the example field. Still, they are very useful.
Now, the actual first editor script I wrote and used frequently one to manage the save data. There are a number of things that I am saving via PlayerPrefs, and I needed a simple way to access them. This is another script in progress, but as of now, this is all I need for this game:
This allows me to search for some save data, as well as set values for other pieces of information. The two larger buttons do what they say, and delete either the Player Pref in the name field, or delete all the prefs. And, no worries, there are layers of warnings before it’s actually done, it’s not a one click and “Oh jeeze, I’ve accidentally deleted everything again…”. This is actually a less complex version of the one I have set for Mr. Condyle’s Escape. That one showed the pref name/value underneath all the buttons, which was great for that type of game. There are a number of collectibles in the game, and I would hate to need to beat the game every time I want to actually a specific number of collectibles, or unlock a level. I also didn’t want to constantly update code and write “Set level x unlocked!”. With my luck, I’d forget to lock the level, and a certain level would be unlocked from the get go, causing some sort of problem somewhere.
This allows me to avoid these problems, letting me choose the value for the save data, delete individual pieces of information, and so on and so forth. Very handy!
But that’s it for now. I’m actually quite tired, and need to get up for work in the morning. Then get back home and work more on setting up my project. Maybe, in the future, and if someone really wants to know somethings, I’ll actually dive into the code of how some of this is done. However, this is really just meant to show some of the things I’ve been doing this past week. Everything but the Player Pref Window was done this past week in between day job and sleeping. Speaking of sleep…
So that fancy Global Game Jam is today until some time on Sunday. I’m most likely going, and will try to do my best to be useful to someone this time. Last year, I wound up floating around quite a bit for the weekend, making some music here and there, then making an awkward game on the last day. This also means that I’ll need to put Tone Def on the side this weekend, and focus on what ever I wind up working on. Knowing me, I’ll still bounce around a lot this year. Last years theme was extinction; I hope to see something much more quirky this year. Something like donuts or hubcaps.
I’ve also finally downloaded the Unity 3.5 beta, and have upgraded Tone Def to this version. The first version of the 3.5 beta was too troublesome for me, and one of the main reasons I was looking to get into it was for the “Flash in a Flash” contest. Exporting to flash was a pain for me, and there are a number of things that I just can’t do for Tone Def & Flash, without major overhauls. Basically, since coroutines cannot be used for Flash exports, and I use them all over the place, a lot would have to be rewritten. I’m actually pretty sure that only two scripts have an Update() of some kind, not counting the scripts that extend from extend from a specific class.
One very nice thing about 3.5 is version control for basic license users. I have to admit that I was using the free version of Unity, and using Git for everything. Everything. And for the most part, it worked. I was able to push my repo online without problems. I could even ‘git reset –hard’ to blow away changes, or revert to an earlier version of the project. Git -dfx worked as well, and actually help me downgrade a project that I didn’t mean to upgrade. So, yay Git?
Back to Tone Def….I really wanted to push for a February 1st release date, but with the Game Jam this weekend, this does not seem like a possibility. I may need to push back to the 6th, since that should give me an entire weekend to lock myself somewhere and only work on the game until it makes me smile on the inside and out. Whatever that means.
But that’s it for now. Here’s to good jamming for everyone participating in this year’s game jam, and to those who have already started!