Optimizing for Hololens and Low-End (video summary included)

“Tactical Twitch” is undergoing major refactoring (video summary at bottom). The current prototype works fairly solid, and displays well; however, it has trouble on low end devices. At this time, I am rewriting all of the functionality. This really sucks, but it will be completely worth it on the other end. Let’s look at what caused this situation, and all of the benefits a rewrite will include (hint: Hololens edition).

What Happened?

After my previous look at object pooling instead of instantiate and destroy, I began to realize a number of ways in which I’ve written unoptimized code. For one thing, object pooling is better done with Lists than Arrays. New insights such as this are coming from both peers and my nearly complete BS degree in software development from Bellevue University. I now have a much better grasp on good object oriented design.

The current “Tactical Twitch” demo represents about 2.5 months of development time, much of which occurred over two years ago. As I look back, I realize it is easier to rewrite the game than to optimize what exists.

I started this game in Javascript with enough self taught knowledge to accomplish just about any thing I could think of; however, everything I created struggles to run on low end devices. The addition of education has helped me recognize where my pitfalls are, and I there are bad practices threaded throughout my code.

At first this sounds like a terrible thing, but it doesn’t have to be. The prototype works well and to everyone I’ve shown it to personally, it has communicated the game I’m trying to make. It has received generally positive feedback from unbiased sources. I not only like what I’m making, but I have proof that it works and is fun. With that knowledge, I’ve left myself a clear blueprint of what it is I’m trying to code. It’s now simply a matter of execution. I look at the current build as a task list for the code I’m now writing.

I suspect there won’t be much visible progress until next Summer. I’ll likely start my next round of active development with something that looks very similar to what I have now. The difference will be that it will run on just about anything that plays Unity built games.

Benefits of a Rewrite

The new version is built with Hololens in mind. The same game will function well on low end devices, as well as deliver a slightly altered experience for Microsoft Hololens.

The new code has a nifty feature I’ve been working on, randomly generated levels. This is very important. As a one man shop it is hard enough developing a working game, let alone all of the content players will expect from it. Level design is largely what held back my “Legend of Sky” game. The platforming was received well with my select audience, but I just didn’t have time to create the levels. The algorithm I’m creating for the “Tactical Twitch” level creation can be reused in any other game I choose, and of any genre. To shorten that up, when complete, I will have largely removed my hurdle of time to develop content. Future games should be made faster.

The last minor (but still important) gameplay issues have be resolved via a slight re-design of gameplay. More on that when I reveal the new demo.

Video Summary

*Video note: My project files load slow in this video, because this is the second part of my GPD Win test. GPD Win is the first handheld Win 10 pc to be available. You can see my full review at techup.step2digital.com.

Thanks for reading and stay tuned folks. I look forward to giving you more updates and ultimately something to play!

Tactial Twitch AR Prototype Website is Go!

* Maintenance Update: The Argon browser is currently at ver 4, and ver 3 is likely not on the app store anymore. This demo is not yet compatible with ver4. I will update it soon. Thanks for looking!

Just in time for the 2016 Game Developer Conference, the “Tactical Twitch” AR website is up for you to check out. The image target is my new business card. If you don’t have one, the image is on the instruction page, so you can print your own. At this time the AR browser is only on iOS, but is soon coming to Android. For all of the details, check out the video below, or head over to the new “hello” page.

Jurassic CART: Creating AR Experiences Catalyze Technical Education

Creating augmented reality games and experiences presents an amazing opportunity to entice our incoming adults to learn technical skills. I’ve long believed that game development is a necessary class to offer in the K-12 school system. Most students aren’t interested in subjects such as math and programming. Current programming courses tend to focus on business systems, and math is taught seemingly for the sake of… well, math. Ask most students if they want to build a database or solve equations, and the answer is unsurprisingly “not really”. Ask those same students if they want to make a T-Rex break through the wall of their school, and the answer is found in “Jurassic CART”.

Side Note: If you’d like to skip this article and check out the project page, go to jurassic.step2digital.com, and/or watch this news clip.

Story Time

As last Summer came to a close I had to shift my thoughts from my own game development pursuits, in favor of planning projects for my incoming class. I was about to begin my second year as the Interactive Game Design (IGD) Instructor for the CART High School in California’s Central Valley (yes, I mean Fresno).

File_000Every January the student’s attending CART’s various labs present a showcase project. Prior to my first year teaching the IGD course, I was an adviser to it; I knew that historically the game design presentation has been incomplete, and difficult for the public to understand. Now that I’m on the teaching end I’ve realized the students this course attracts typically do not have any previous experience making games, and they’re not necessarily the top academic performers. My student’s tend to be the ones with mediocre GPAs that are due in large part to playing League of Legends until 3am (the gamer in me is OK with this, the budding teacher is conflicted).

File_001It’s difficult to take a group of teenagers with a wide range of interests/ability and get them to a point where they can present a complete, understandable experience. This is where introducing augmented reality (AR) starts to make a lot of sense. The average consumer of digital media is not yet saturated with AR products. Even the simplest of AR demos, such as a floating cube is incredible to look at. I find that even I am captivated by the simplest of AR displays. It’s amazing to think that our digital worlds can overlay, and even interact with our physical surroundings.

The concept of AR is new to the consumer, and as a developer I’ve never messed with it before. I decided AR was the perfect project for this year’s showcase. The outcome does not need to be an immersive world with UI, inventory, or any of the staple systems a game would have. It just needs a bit of art that looks good, and requires just enough coding to run. It greatly simplifies what an entertaining end user experience could be for my class.

As an elective course, my IGD program in integrated with the student’s English requirement (taught by a separate qualified English teacher). One of the books or this year is Michael Crichton’s Jurassic Park. What a perfect pairing. What student (or teacher) wouldn’t want to bring dinosaurs back to life.

I’ll summarize the rest of this story with the following four points:

  • The project was a great success in the eyes of our audience, and in the entry level learning outcomes I was aiming for.
  • While the AR presentation works, it is still rough around the edges. The loading screen feels like one’s phone has froze (working this out is part of our continuing projects)
  • You can see our project in action in this new clip.
  • You can check out “Jurassic CART” for yourself at our official project page, jurassic.step2digital.com.

The Argon Project, and What’s Next

ArgonSiteIf you’d like to know more about what exactly my students did, and get ideas for projects you may want to do, check out the Argon project at Georgia Tech. Argon3 (currently only on iOS) is a web browser that can view AR content. I used this for our class project because developing content for it introduced students to basic programming concepts that surround web app development. Topics introduced include JSON, XML, HTML5 markup, and basic boolean logic/loops for making decisions.

As it stands, the web AR experience created by my students presented well to the general public that attended our showcase; however, it is still rough around the edges. First time loading often feels like the Argon app is crashing. We haven’t talked about the importance of loading screens yet. There are still a few months left in our year. I’m excited to see what we do next. We’re heading in the direction of level design, Unity3D, and possibly creating a Unity based AR game/experience. Whichever direction we go, my students are excited to see what they’re capable of. Though they still don’t recognize ( or like to acknowledge ) the amount of math they’re doing.

Fall “Tactical Twitch” Progress Report

 

During this year’s Thanksgiving recess at CART. I was able to squeeze in a couple of development days for Twitch. Here’s what’s new.

  1. The final major player ability was programmed in. There is now a fast roping feature between the helicopter and Twitch. That’s right, you can airlift Twitch within the map.
  2. Bugs were addressed in areas ranging from bad collision to event triggering with action tiles, and camera movement issues. The experience is overall more solid.
  3. Tested different game pad layouts, including use with the new Steam Controller. If you’re interested in reading about my experience with the Steam Controller, check out the review I posted to my Tech Up blog.
TTSC
Testing my game with the new Steam Controller

We’re now 3 weeks away from the holiday break. At the end of December I will be in two week recess from both my teaching position at CART, my BS program, and my credentialing program. Some of that time is reserved for family, but you better believe I’ll be getting down to business with Twitch. My holiday goal is to implement the basic ai for npcs and enemies.

As a note for testers, I’ll have a new build up when the break begins. That will be the build that features your first look at the fast roping ability. While I’ll be working on a different feature set, I’ll try to address your feedback by the end of the holiday break.

Stay tuned to my development blog, and Facebook page keep in touch.

Thanks for checking in!

What’s Next for Rex & Step 2?

Apocalypse Rex Render WIP
WIP AR render.

Anyone out there remember all those people who predicted the Apocalypse in 2012? A few months into 2013, they were like, “Oh, oh, wait. We didn’t carry over a 3 from the spotting of a unicorn in the 3rd century A.D.” Now, their newly reformed mathemagical equation predicts it in 2014….

I don’t know, something like that; anyhow, my math was off, but that isn’t because things aren’t brewing. Let’s take a look at what 2014 has in store for Apocalypse Rex and projects from Step 2!
Read on, my friends!