• Register

We are a small Indie game company for PC and Mobile in southern California. We just released our first game Techno Dash!

RSS My Blogs

Techno Dash has reached Beta!

HammerwingStudios Blog

Greetings everyone!

The last month or so has been the most productive time as the team got back together over the holidays and hunkered down to finish many things on Techno Dash. Here are the details!

Testing & Tutorial

We finished up creating the game's tutorial with all the features put in and got it playtested for feedback. Our primary place for testing ended up being the weekly Feedback Friday threads on Reddit's Gamedev subsection, however we also created a thread on TIGSource's Playtesting forums (here) which continues to be active and get excellent feedback.

Another factor that got added into the game is voice acting! We originally had a text-to-speech voice however it felt flat, uninteresting and got quickly drowned out in the music. But with the current recorded voice it sounds much more clear.

Meeting Our Deadline

At the beginning of our December "sprint" we received an email from Apple informing us that in order to keep the name Techno Dash reserved we needed to submit a build to them in January. This actually gave us a positive motivation to really put forward the effort to get something completed. In the end we met out deadline (to the minute!) and had our build uploaded and in time we'll hear back on their approval status and any changes needed.

In fact, looking back at it now, that "deadline" has drastically sped up our iterative gamedev process in which we had over two playtest and revisions in the Tutorial part of our game. We aim to set more deadlines for ourselves.

What now?

Even though the title is uploaded and pending for approval in the App store, we're still not finished with it. We are considering our game to finally be in beta builds and will continue to polish features and fix any bugs that pop up. Currently our focus at the moment is working on the UI. The layouts all appear to work however our latest feedback is suggesting that a number of the textures needs updating.

College winter quarter has started and Justin is now back up north for his last term. While he will resume a semi-limited role again, things are quickly approaching release. Stay tuned for our next post which we'll have more screenshots and our final release plan.

Screenshots of Techno Dash & Latest News!

HammerwingStudios Blog

Over the last month we've been plugging away at the large list of details and unfinished features, dotting the i's and crossing the t's. As we've been doing this, Techno Dash has been looking better and better as it finally starts looking like polished game. Here's some screenshots!


(still work in progress but preview of new areas!)

The first thing is that we managed to get 'Area' two and three working in the game along with better HUD elements. A few things still need replacing (still not quite satisfied with the background of are three) but this would be close to what the finished game.

We have also neared completion on our menus, here's a screenshot on our vanity menu.

(not shown: the ship rotates!)
Meanwhile finals are coming up for Justin but in two weeks time he'll be done for the term to put all his effort into the final stretch of completing Techno Dash, one last round of playtesting for balancing before finally submitting it for approval in the Apple store! Afterwards we'll focus our effort with the Android release and later PC/Mac releases!

Beginning Fall Development (getting so close!)

HammerwingStudios Blog

The last few months have been quite productive. Summer is over and now we are into fall and development of Techno Dash is still going on.

Now in Unity4

That's right, we have finally migrated our project from Unity 3.5 onto Unity 4 engine. It took a good number of tweaks here and there over a few days before we got it working perfectly. The benefit of moving to 4 was that the engine will keep up with any of the changes to iOS for the foreseeable future, making it easier to provide updates. We also didn't want to end up in a scenario where we had to spend time post-release migrating where the time would better be spent developing a future project.

Metrics System Online

Another "tipping point" reason was that Game Analytics made their metric service free and their plugin was based on Unity4. We jumped at that and created an account with them. The best part is that all we needed to do was write the code to simply report the measured metric to GA (one line per 'event'), so it actually fitted almost perfectly to what we built. We played on our test devices and found it working straight away!

Time to start "Trimming"

During development we found a couple things that continue to be troublesome, such as getting the Twitter plugin to work. As much as we'd like to have the features in, both of us decided we should cut them from our initial release to save us time and effort. The benefit to the cutting is that it has given us focus on the more important parts of the game. We know there are some "paid" plugins that do the work so we plan to have the income from the game pay for the plugin and implement it in a future update.

College Again...

Since the last post Justin has taken two summer classes online and now is back at UCSC for his last two terms of college. This had once again limited his time working on the game however he's taking the chance to learn more from the game design classes he "visits."

Getting So Close!

Right now we are pretty much in the realm of the last 10% of the game's development. It's going to be a tough push making sure all the details are filled out. The one aspect that needs the most work now is replacing the stand-in sound effects with ones that work well with the game. Some more art assets need to be made and some menus need to be cleaned up and polished.

Now Much Faster Progress!

HammerwingStudios Blog

After returning from college, Justin has gotten back to Southern California and now the Hammerwing Team is making much better progress in Techno Dash! New concept art was created, the tutorial has been designed and prototyped and gaps in the art are now being filled.

Concept and Redesign

After returning and having a nice get together, it was time to work on the game! The first part is creating more concept art and screenshot mockups of redesign ideas on some of the menus and replacements of the stand-in game items.

The awesome thing was that we were able to put the Hammerwing UI into action by easily moving, modifying different elements to emulate the ideas that we had. This totally beat having to spend time creating more mockups.

Tutorial

During and after the concept and redesign, Justin got into designing and programming the tutorial of Techno Dash. He was able to create a modified version of the procedural generation and create a controller script which allows the game to not only create special obstacles, but also analyze the player's performance and repeat certain sections if need be. The awesome thing is that after creating that, Justin implemented a similar system to the normal procedural generation, giving it more interesting capabilities and expanding gameplay!

Currently the framework is in place and the scene in Unity is built, the only thing to do now is to create a special HUD, which brings us to the next topic.

Tweaking Hammerwing UI and More Tools

Both the redesign and the tutorial revealed that we needed to add some new abilities to the Hammerwing UI system. Luckily everything is in place so that if we want to create a new behavior, it is simply creating a new script to go into the folder.

Another thing Nate noticed is that if we were to be replacing the stand-in textures of the meshes, it would be a tedious process of doing it one by one. This prompted him to create another tool which allows him to use a texture sheet and a XML file to generate a large number of meshes at the lick of the button! It took him a few evenings however the amount of time it will save in the long run is well worth the effort!

More Metrics

Justin put together the rest of the metrics system to make sure the things are properly recorded now! We initially thought of doing an in-house analytics however it quickly appeared that it would require us to learn and manage SQL Databases and such, which would ultimately take time away from gamedev work. We've looked at a few options and some seem appealing.

Business Stuff Too!

Both Nate and Justin went down and got an account opened. After that we've signed up for hosting on NearlyFreeSpeech.net which will be holding the redesigned website when time comes around. Right now we are working on transferring the Apple Dev license to the company now which we will then be able to start testing the IAP.

Steady Progress and Great Learnings

HammerwingStudios Blog

The last two months have been going well for us. Our progress on Techno Dash has been slow but steady however we've been learning a great deal more in Game Development!

At the end of March, Justin went to GDC in San Francisco during his spring break and had a fantastic time there. He met many people in the industry and attended many of the talks. The cool thing is that he got the All Access pass so that he can watch videos from the GDC Vault to further learn and share his knowledge with Nate.

The other cool news is that both John Romero and Brenda Romero are teaching courses at UCSC which is where Justin is at and is able to attend their classes and learn even more about game development! Since he is still taking classes, he hasn't been able to put as much time into development, however in about a month from now classes will be over, allowing him to get back into Techno Dash full time.

Progress
In the meantime, we've been working on redesigning the store UI interface in order to make it more intuitive and more fun! Our Hammerwing UI is managing well with whatever changes we make, proving how robust it is so far. The only "issue" was that we had to create another behavior for expanding windows and moving other elements out of the way.

Nate has also been working on creating more art assets and animations in the game, filling out and replacing the current stand-ins and making the game look and feel even better.

In his limited time, Justin has looked into how other games have their goal system made and has come up with ideas in how our own system can be improved.

We expect things to be slowly chugging along until Justin finishes finals and returns to southern California. In the summer we'll be switching gears and work at a much greater pace and our current goal is to get the game closed and submitted to the iOS hopefully before end of summer.

Introducing Hammerwing UI

HammerwingStudios Blog

As many people know, the user interface is a very important feature in almost any kind of software, especially video games where your users can be as young as three years old. It is important to have the user interface well designed so the players can interact with the game without getting lost or confused.

So what about the tools for designing such an interface; shouldn't they be the same way for the developers?

For the Unity Game Engine, there are several third party plug-ins available, all boasting various and wonderful features and (hopefully) save you time. In one of our previous posts, we mentioned our experiences in trying out two of them.

What we found was most of the plug-ins only dealt with 2D artwork. What if you wanted to use 3D objects, creating breath taking controls with much more interesting interaction?
We decided that it was worth the time to create our UI tools ourselves. Something easy to use, flexible enough to apply to both 2D and 3D objects and was effective. After weeks of hard work, Nate has taken the time to design and build our own user interface tools. It was a daunting task for him since he only learned basic C# only a couple months prior! However he persevered and now we have a flexible and powerful UI toolkit that not only will be used in Techno Dash, it will be used in many of our future games, saving lots of time in the future. We call it the Hammerwing UI!

What it can do
Here's a list of some of the things our Hammerwing UI can do:

  • One Draw call using texture sheet with a Texture Packer to read image info from generated json list
  • Ability to display on any screen size our users may have without UI elements being cut out
  • Support for mouse and touch screen input
  • Swipe support and detection
  • Buttons with multiple image states, scaling, bouncing
  • Using objects as elements which means being able to visually layout UI
    • Either 2D or 3D objects
  • Quick setup and easy management

Here's what Nate has to say about his building of the UI:

Research, and lots of it. Essentially this was two weeks of pooling over others source codes, like Gandalf sitting in a dark study reading about the history of the One Ring. Except I was learning what they did (and trying to make sense of it!) and thinking of improvements. In the later half of this period I started creating the class diagrams to organize my thoughts and map out all the relationships. I took a different approach on nearly every point I found in the examples I was studying from (as I found their complex systems needlessly confusing). In the end I ended up writing far less code than any of the other systems I had examined, totaling 11 classes, much less than UiToolKit's 50 (yes, 50!) and 30 in an other object oriented system called QuadUI. Inevitably learning new programming concepts (to me) and putting them to good use.
I've met all my goals except the ability to control the fate of mortal men, that will come later...

How it works
The way it works, is that you create an empty game object and name it "UI" and attach the main UI script (called hwUI.cs) to it. Since Unity is a component based editor you drag and drop components directly into the appropriate fields of the hwUI script in the inspector. All it needs is the camera that you will use for the GUI, the name of the texture packer list, and the material that will be used (which comes with the program). All GUI related objects only need to be placed in a layer that only that camera will see.

Afterwards you add more empty objects that become children of the UI object, and those become the menus. And to those empties we add all the elements that will make up that menu, this make things easy to work with and in this case is actually a requirement for the menus. This is where the easy setup comes into play! You can add components directly from the hwUI menu, on the menu objects you'd add a hwMenu component.

Do you want an animation to play when you open and close the menu? Simple! check the box to tell it that it has an animation and tell it what animations to use. Does your menu have multiple pages that you can swipe to? Hit the check box. Does each page have a title, a number you want to display, or maybe even some other indicator? Hit the check box, the system will take care of it!
Now how about buttons? Simply add the appropriate mesh to the menu and position it on screen exactly where you want it, don't worry even if the screen aspect changes it's location will remain true! From the hwUI menu add a hwButton component. So on and so forth for anything else we want to put into a menu.

To top it all off, we have a premade menu manager script which will control all the menu changes and actions (such as button clicking) in the game. Here's a quick example of how a menu will be coded

public class demoMenu : MonoBehavior{
public hwMenu thisMenu; //declared so we can effect menu
public hwButton startButton;
public hwButton backButton;

void Update () { // Update is called once per frame
if (startButton.released) //when we let go of the button startGame();
if (backButton.pressed) //when we press the button goBack();
}

void startGame(){
//code to start the game
}
void goBack(){
topMenuManager.closeMenu(thisMenu); //make this menu no longer active topMenuManager.menuQid = 1; //the next menu to open
}
}

For the most part, this is as complex as the menu code gets. As we become better programmers we'll probably find ways to simplify it even further and make it even more versatile. So far it is working great for us and we believe this will be a solution for Hammerwing Studios for a long while.

Introducing Hammerwing Studios

HammerwingStudios Blog

We Are Now Hammerwing Studios Inc.


We've been going through the process of incorporation for some time but now it's officially official. Just recently we have held our first Annual Meeting which deals with director & officer elections, establishing bylaws of the corporation and such. Since we are now committed to our venture of publishing games, we decided to attach our names to this so people can know who we are.

Our Team

Nathan
Is the 3d artist, composer and is President of Hammerwing Studios. He had taught himself to use Blender since High School and has experience with it for the better part of the decade. After making a tech demo using blender's game engine he attempted to find work in the game industry. As a fallback plan, made a deal with Justin in late 2011 that if he didn't land a job, they would try to create and publish a game on their own.

At the beginning of the venture, Nate had built a hackintosh computer in a cardboard box in order to get started on learning iOS development. He has also learned Unity and C# scripting together with Justin along with further honing his 3D art and game design skills.

Justin - Ammypendent
Is the game designer, programmer and is both Secretary & Treasurer of Hammerwing Studios. He's been an avid gamer and has followed Nate's tech demo progress. After needing to change majors, Justin had to attend community college which granted him extra time to teach himself game design, business development, marketing and learn basic programming through Udacity.

Often on the Internet, Justin is a member of a couple online communities (his most active being Another Metroid 2 Remake and Extra Curricular) which allowed him to tap into the wealth of online game development resources. He's currently back at UCSC to finish his degree of Economics.

Other News

Along with forming the company Hammerwing Studios, we have also been hard at work in the past month. Most of the Store and Stat management systems are more or less complete, allowing the player to actually purchase items for use and be able to see their high scores.

Along with those systems being made, the Procedural Generation has been expanded! Now it's able to place unique patterns and also change the area environment, creating much more variety to each session the player plays.

In other news, Justin also found someone who was willing to do work redesigning the Hammerwing Studios website. As soon as it's done there will be a change in Logo and look of both the site and the blog.

There will be another blogpost soon about the new UI system Nate has created!