Showing posts with label Announcement. Show all posts
Showing posts with label Announcement. Show all posts

Tuesday, March 17, 2015

Introducing ZendoPixelTM


Today is an exciting day for me, because I have the great pleasure of introducing ZendoPixel! ZendoPixel is the new brand and trademark I've created for releasing apps and games on the Android platform. I've secured the website, Facebook, Twitter, and many others on namecheckr to make sure I can truly claim this trademark as my own.

For details about the ZendoPixel brand and my first Android game that I plan to release before June of this year, check out the ZendoPixel Official Website! It features information about my upcoming game, as well as a brand blog and forums where anyone can register to discuss ZendoPixel stuff. I'm still doing some tweaking, like trying to make the forum software look a little nicer, but would love to hear any feedback you might have.

You can also get involved with ZendoPixel on the following social channels:

Facebook: facebook.com/zendopixel
Twitter: twitter.com/zendopixel
Google+: plus.google.com/+ZendoPixelSoftware

Please share, like, reply, comment, tweet, and any other thing-a-ma-jig you can think of to help me spread the word! I'm just one guy trying to start something big for my family, and marketing is not my strength. However, I do believe in a big God who can do anything and blesses me every day. I am grateful for this new opportunity, and for every bit of support.

Tuesday, February 17, 2015

Building My Personal Brand

"Branded" by Derek Gavey, used under CC BY

One of the questions eating at me while preparing to release my Android game is "Do I need to establish a company (LLC) to sell on the Google Play market?" I know you can't trust everything you read on the internet, but this StackExchange post leans toward the negative. I haven't pulled the trigger on creating my Google Play Developer account yet, trying to get some details in order first, but that post indicates there is a "Developer" field where I can simply enter the name I want to use for my brand.

To do that, I thought really long and hard (and did quite a few Google searches) to find an obscure enough brand name that's easy to spell, easy to say, and sounds pretty darn cool. I'm almost too excited and about to blurt it out right now, but I've acquired the big three (website domain, Facebook, Twitter) and am in the process of fully configuring my accounts before a proper introduction. An excellent blog post from Mr. Bestebroer at OrangePixel got me thinking about the importance of building my brand. In addition to some useful marketing tips, he talks about including a little logo with each of your game icons to help players remember your games. It's a little mnemonic so that if they've played and enjoyed one of your games in the past, they are more inclined to try your newer games.

With that in mind, I've spent the past couple days creating my brand logo. I used a free vector-graphics program called Inkscape so I can resize the logo to any size without losing image quality. And I think I have a good plan for using the first character of my logo as the brand on my game icons.

Things are coming together, but I'm really not too good at the whole marketing aspect. I'm sure I have some friends who are way better at this, so if you have any tips or ideas about building your personal brand, or marketing in general, let me know in the comments below!

Monday, January 26, 2015

Finishing the Game

Image By: Tim Geers

I've been out of the game development world for about a year. Part of the reason I stopped working on my Android game (code-named PlaneRunner) over a year ago was burnout. It's not easy working a full-time job and staying up til the wee hours working on a side project many nights of the week. We also endured a grueling process selling our home (which took about a year) and moving to a new area, and I think part of me succumbed to the idea that it was time to let my hobby go. Maybe it's not really my passion, or just not worth all the sacrifice.

If only I had realized how close I was to the finish line...

Thankfully, I decided to take a look at that old PlaneRunner project this year. Much to my surprise, it was closer to done than I remembered! I had implemented the ability to save games, the level editor looked beautiful, and when I fired it up on my new Android Kitkat 4.4 phone... it actually worked. So it was time to figure out which features and bugs actually needed to get resolved for me to be happy enough to call it "done". All software developers know a program is never perfect, so it's just about getting it to work the best you can. If you waited until it was perfect, it would NEVER get released.

So the exciting news is that I'm now in the final stages of development. I'm not putting in any new features or bug fixes (unless I find something extremely annoying). This week I'm focusing on performance tuning, doing whatever I can to reduce memory allocation and garbage collection so the game runs smoothly. And this time I'm going to get it out there on Google Play so everyone can play it!

Sunday, January 18, 2015

Picking It Up Again

I used to wonder what happened to game developer blogs. I'd follow someone who updated frequently and then, as if out of nowhere, they'd disappear. Being a little older (and hopefully wiser too), I think I now understand.

For some, a game project consumes so much time that blogging takes a back seat. For others, life just gets in the way. Having kids, moving to a new location, new job, or other life changes just take precedence.  I've had quite a few changes myself, hence a year of no updates, neither on my Android game nor on this blog.

But I am excited to share that I've picked up where I left off with the game and was pleasantly surprised to see I'm not far from completion. In fact, I've resolved most bugs, created both a Lite (free) and Deluxe (paid) version, and am working through the process to get my game on the Google Play market. These are exciting days!

Sunday, October 20, 2013

A Complete Android Game Audio Solution

While audible sound effects and music won't necessarily make any video game more fun, they definitely do make it more interesting and more immersive. Before I added any sounds to my new Android game, I didn't really notice they were missing because I was so focused on gameplay elements. But after adding them, whenever I muted my device (or disabled the audio in code for performance troubleshooting) it was obvious... something was missing.

Image By: Siddartha Thota


If you want to learn how to code audio for your Android app or game yourself, the Android developer site's Managing Audio Playback and Media Playback pages are a good place to start. There are also some good sites/blogs out there that mention how to play a single sound effect or play a single music file, but I had trouble finding a complete solution that handled sound effects AND music, so I created an audio class that allows you to easily play music and sound effects from any activity. I hope this will help others wanting to get started with audio in their Android apps/games.

My GameAudio.java file and its code are licensed under the Creative Commons Attribution License, meaning you may freely use it and adapt it to your needs as long as you credit me as the original author in a header comment. If you wouldn't mind posting a comment here telling me how you're using it, that would also be really cool and be a good incentive for me to share additional code in the future :)

Download GameAudio.java as a Zip File

View Source of GameAudio.java in a Pop-Up Window

Below is an Activity code snippet showing how to use the GameAudio class. Note the placement of the initialize and releaseAll calls in onResume and onPause, respectively. The playMusic and playSound methods can be called anytime after intialize and before releaseAll.
...
    @Override
    protected void onResume() {
        super.onResume();
        GameAudio.initialize(this, R.array.MenuSounds);
        GameAudio.playMusic(R.raw.music_title_screen, true, 1.0f);
    }

    @Override
    protected void onPause() {
        super.onPause();
        GameAudio.releaseAll();
    }
 
    public void onClick(View v) {
        GameAudio.playSound(R.raw.sound_button_press);
...
One final note, you may have noticed the initialize method takes an array resource input parameter -- R.array.MenuSounds in the snippet above. This is done to allow the GameAudio class to create a mapping between sound effect resource identifiers like R.raw.sound_button_press and the handle for the loaded sound created by the SoundPool.load function. If you only want to play music, you can pass null for that array resource identifier. Otherwise, create an entry like the one below in your res/values/arrays.xml file.

    
    
        @raw/sound_button_press
        ...
    
    ...

So that's it, the complete audio solution I'm using in my upcoming Android game. I hope this helps someone else just like the community's awesome docs, blogs, and websites have helped me.

Friday, October 18, 2013

Changing It Up

Image By: GollyGforce
The season's are changing, and it's been a long time since I switched anything up here on the GDJ blog, so I figure it's time for something drastic. OK, those who know me realize it's more of a cautious type of drastic. But anyway, I'm mixing some things up on the look and feel. The BIGGEST change, of course, is that I'm finally switching from white-text-on-a-black-background to the way most people, or at least non-coders, see text: white on black. I originally chose the black background with white text for a couple reasons: 1) I liked it and thought it looked cool, and 2) I thought it made screenshots really pop. But mostly I just thought it looked really cool.

Why change? Because we must. And because it's Fall. And because it's fun to mix things up once in a while. I'm still tweaking a little bit, so you may notice additional changes over the next couple weeks, but I think the white text on black background will be here for a while. Hope you like it, but if not let me know!

Thanks for holding tight while the dust settles...

Saturday, October 12, 2013

Rave Reviews Are IN!!!

Image By: Sarah Reid


The feedback is in, and so far people are LOVING my new Android game!
"Addicting!" - Anonymous Family Member
"I like this game. It's really fun!" - Anonymous Friend
"He can't stop talking about your game, it's all he ever talks about!" - Anonymous Mother

OK, OK, in all fairness these reviews aren't exactly new-ish. And I do mention somewhat tongue-in-cheek that these are anonymous sources because I haven't requested permission to use their names. But these quotes DID happen, and all I can say is that there is quite an amazing rush when someone else picks up something you've poured countless hours into and says "hey, this is pretty fun."

Since the time of those feedbacks I've added sounds, music, and a number of visual (particle) effects to raise the bar. So if it was already fun then... well, I hope it's only getting better!

Tuesday, June 18, 2013

Android Game Teaser

I've been working off-and-on for nearly a year on my current Android game project, code-named Plane Runner. Although I'm not an artist, I wanted to have a game that I can truly call my own creation. But I must say that even with my minimal "programmer art" skills I am pleased with how it is turning out so far and am hoping to release the game on the Android Market later this year.

I'm keeping the title a secret for now, but below is the main menu background. Let me know what you think!

Friday, April 6, 2012

Hello World on Kindle Fire... YATA!

For anyone not versed in the original Heroes television series, the Japanese time-traveling hero named "Hiro" would exuberantly exclaim "Yata!" when he accomplished something awesome. In the same vein, I'm excited that after only a day I was able to create my first Hello World application and actually run it on my Kindle Fire! Below are the brief steps taken to make it work. This is not a comprehensive guide but includes some gotchas to hopefully help anyone else who might be stuck.

Create a working app that loads in the Android Emulator:
  • Install a JDK (Java Development Kit) - I used the Java Platform (JDK) 7u3 available from Oracle here
  • Install Eclipse IDE - I grabbed the Eclipse IDE for Java Developers here
  • From developer.android.com, download and install Android SDK. This also installs the SDK Manager, which itself is pretty darn cool.
  • Follow the SDK installation directions here. One of the things this will guide you through is installing the ADT (Android Developer Tools) plugin for Eclipse, which is used to simplify tasks that would otherwise have to be done manually. For example, it provides nice New Project and Export wizards for creating and distributing your applications. FYI the ADT plugin took a LONG time to install on my system; I let it do its thing overnight.
  • If it wasn't done as part of the SDK installation, install the latest platfrom from Android SDK Manager, which can be opened from directly inside Eclipse after the ADT plugin is installed and Eclipse is restarted.
  • Follow the Hello World tutorial. This will guide you through setting up an AVD (Android Virtual Device), running your app in the emulator, etc.
  • Edit your AVD in Eclipse, setting the Snapshot option to Enabled. This greatly improved the loading speed of the emulator for me.

Building your app for distribution:
To get your shiny new app on the Kindle Fire, or any device really, you have to build it in release mode and sign the output APK file. Fortunately this is a relatively easy process from within Eclipse once you have the ADT plugin installed.
  • First you need to make sure to add the JDK bin folder's path to your system's PATH environment variable. If you don't know how to do this you will have to search (as did I) to figure out the correct way to edit the "Path" environment variable on your OS. Once you do this, Eclipse will be able to use the KeyTool and JarSigner SDK tools to build your APK file.
  • In Eclipse, click to edit your project's AndroidManifest.xml file. You want to edit the Min SDK version, settings its value to "8" (without quotes). SDK version 8 is the API Level associated with Android version 2.2. The reason for this is that, I believe, the Kindle Fire runs an altered version of Android v2.3; so if you use an SDK version much higher than 8 (e.g. the default for mine was 15), the Kindle Fire won't be able to open the package when you transfer it to the device. I know I'm using the API level for Android v2.2 when I said the Fire is running v2.3 - feel free to experiment with the number, I just know that it definitely works with min API level set to 8.
  • Now click the root of the project in the Package Explorer.
  • Select File > Export, select the Android option, then select the Export Android Application item and click Next.
  • Enter a project name and click Next.
  • If this is your first run exporting an app, choose to create a new "keystore". Enter a folder path followed by the name you want for your new keystore (e.g. C:\android\keystores\mykeystore). In the example, the name of the output keystore file will be "mykeystore.keystore" (the extension is .keystore). Also specify a password and click Next.
  • Enter some info to identify the key that will be used to sign your APK file; it is highly recommended to set the Validity (number of years the key is valid) to a value greater than 25. Once all required info is entered, click Next.
  • Finally, specify the destination for your APK output file and click Finish!

Sending your app to the Kindle Fire:
Now comes the fun part!
  • Transfer your new APK output file to the Kindle Fire. You can do this directly using a micro-USB cable to connect your Fire to your computer, or you can email the file to an email address you can check on the Fire. If you send the APK file as an email attachment, you will be able to save it to the Fire's internal Downloads folder.
  • Download and install the free ES File Explorer from the Amazon app store.
  • In the Fire's settings, select More > Device and then set the option "Allow Installation of Applications From Unknown Sources" to ON.
  • Now in ES File Explorer, navigate to the location where you saved the APK file (the Downloads folder if you saved the file from an email attachment).
  • In ES File Explorer, click the file and you should be prompted to install the application. Obviously, hit Install to install the application!

If you followed ALL of those steps, your new application should be installed on your Kindle Fire and ready to run from the Apps view. YATA!!!

Thursday, July 1, 2010

Exciting Announcements!

I can hardly believe it's been two months since my last post. Where does the time go?!? I haven't been posting lately but have a feeling that will change soon. And I have a lot of exciting announcements I couldn't wait to share!

First, and I know I promised not to use this blog as a personal forum, but I simply must share that my wife and I are expecting our first child! She is actually due to arrive today, so please cross your fingers, wish us luck, and if you are inclined to do so, pray for us and our baby girl. If you're interested in more updates please feel free to add me as a friend on Facebook.

Second, I just discovered today on the IGDA NC forum that EA is hiring software engineers for full-time and contract positions. The NC branch of EA is located in Morrisville, so if you're a game developer living anywhere near the Triangle click the link above and submit your resume.

Third, I learned recently that Ian Schreiber is doing another summer online course, this time focusing on Game Balance. If you enjoyed his Game Design Concepts course you will most likely be interested in checking out Game Balance Concepts.

Fourth, check out Darius Kazemi's GameLoop unconference. It looks like an awesome time to learn about all things game-related, so you should totally check it out if you live anywhere near Cambridge, MA.

Finally, I've been working on a tower defense game that I alluded to way back in January and I'm happy to say my team and I are making outstanding progress. But a number of things have changed. Instead of it being a 2D game, we're now doing 3D (and understand why 2D isometric tower defense is near-impossible). We've also switched our platform from XBox 360 to the PC, and are making some dramatic changes to our original art style. It's amazing to see what our graphic artists can do, and I plan to post some screenshots soon. Tentative plan is to have something we can demo at an upcoming conference in September.

So there's a lot going on, which hopefully explains the fewer posts, but I have been learning a ton of cool stuff that should make for some interesting tutorials right here on GDJ. Until next time...

Saturday, May 1, 2010

IGDA Takes a Stand on Censorship

I just read an awesome post on GameDev.net titled IGDA Condemns Video Game Censorship and think it's awesome to see the IGDA taking a stand on censorship like this. I totally agree it is the responsibility of parents, NOT the government, to determine what children should and should not play.

So yeah, check out the post on GameDev.net, cuz it's awesome.

Friday, March 19, 2010

Happy (Belated) Birthday, GDJ!

It's hard for me to believe this blog is one year old this week. I started writing last March 14th, not quite sure where the journey would take me, and now it seems a whole year has passed so quickly. One thing is for sure, I have learned a LOT about the game industry through numerous news feeds I now read almost daily and from the extremely bright folks over at the Game Career Guide forums. I've dedicated a large amount of effort to learning how to write games, have gotten involved in my local IGDA chapter, and have met some really cool people in the process.

I created a very basic Pong Clone in 24 hours, worked in a team to create the puzzle game Befuddled at the Global Game Jam in a single weekend, and am currently working with some amazing artists to create an exciting tower defense game. This latest project is one of my biggest and best endeavors yet, so I'm very excited to see the end result within a couple months.

Tuesday, March 9, 2010

On the Eve of GDC...

I figure it only fair to post a comment stating my jealousy of those attending Game Developer Conference in San Francisco this year. You will, no doubt, flood the web-waves with your tweets, blogs, facebook posts, and other streams with tremendous amounts of information that no human being could possibly absorb within the scope of a single day, week, or even a year. You will meet countless industry professionals, students, amateurs, and hobbyists alike, hopefully by the end having learned something about the way others think, approach problems, and resolve them in ways you might never have conceived. My hope for you is that you understand the opportunity before you; that you grasp the amount of knowledge with which you will be surrounded; and of course that you share it on afore-mentioned media so those of us at home can live through your experiences vicariously.

Sunday, January 17, 2010

More Exciting Events in NC!

So I've already mentioned the Global Game Jam, occurring January 29-31, in my previous post. Since then I've learned of two more exciting events coming quickly, so if you live in NC be sure to mark your calendar!

FEB 6: Carolina Games Summit
This one-day event, sponsored in part by The Escapist, takes place on Saturday, February 6th, at Wayne Community College in Goldsboro, NC. The day includes a number of lectures on programming, art, hiring processes, and more. Numerous game tournaments will take place throughout the day. Online registration is highly recommended; you may not be able to get a ticket just by showing up, so check out the website for ticket information.

APR 7-8: Triangle Game Conference
The second annual Triangle Game Conference takes place April 7-8 at the Raleigh Marriott City Center in Raleigh, NC. Dubbed the "leading East Coast event for developers and professionals working in the interactive entertainment and serious game industries," TGC is sure to be the area's top educational and networking event for those interested in the business of game development. This event was established by the Triangle Game Initiative to focus the Triangle area as a major hub of game development. If you live in the area, this is the event this year you don't want to miss!

Are you coming to one of these events??? Let me know in the comments! I'm more than happy to meet new people and look forward to making new friends. See you there!

Wednesday, January 6, 2010

Register for the Triangle Global Game Jam!!!

I just checked the Triangle Global Game Jam website and am excited to see this year's Triangle game jam will be hosted at Icarus Studios in Cary, NC! I have no doubt this will be a very exciting event. The Global Game Jam, hosted at over 100 locations across the world, is a 48-hour game-creation event designed to promote creativity, innovation, and community. The jam will take place January 29-31, 2010.

We need more participants, so make sure to SIGN UP!

Monday, January 4, 2010

Current Project: Tower Defense Game

I've noticed the guys over at Vortix Games occasionally take a hiatus from posting on their blog when busy with a given project. I think this is certainly understandable when you're part of a small team and would like to point out they have done a terrific job on their blog - definitely one to check out for some game development insights. And so I begin this post by admitting I've been doing the same... but hey, it's not so bad because I'm not the only one, right?!

At any rate, I would like to briefly mention the new game project I've been working on. A couple months ago I had the great pleasure of meeting a couple artists in my area, and we've since been working to design and build a Tower Defense game. For the uninitiated, gameplay consists primarily of setting up a series of defenses such as turrets or guns and then watching a flood of enemies attempt to navigate from their start position to a given destination. This is an entirely new game genre to me, but after having played a few games online (such as Whiteboard Tower Defense) and working on our current prototype, I'm excited to see how it will turn out. One thing is sure: with professional artwork it will definitely look better than my basic Pong clone!

This project has some interesting challenges. For example, it is entirely a 2D game; I've been learning 3D development for so long that it is a welcome switch of gears. It is also being developed for the XBox 360 using XNA Game Studio 3.0, which allows me to put my existing C# skills to use, just in a new way. I use C# every day for web development but this is my first experience with XNA. Even though the target platform is the XBox 360, I plan to make it playable on the PC as well.

I hope to reveal more about the game as our agile design/implementation/testing rounds progress. Keep an eye out for future posts, even if they're not terribly frequent. With any luck, the completed game will appear here for your enjoyment!

Wednesday, December 2, 2009

Triangle IGDA Chapter Meeting

Just a quick update, I'm excited to attend my first IGDA chapter meeting and extend a big thank you to my buddy Wes for making me aware of it! Event details can be found here and I've posted the basics below.
Date:  December 3rd, 2009
Time:  7-9pm
Place: Buckhead Saloon
       411 W. Morgan Street
       Raleigh, NC 27603

More info can be found on the Triangle IGDA chapter page, which dubs this event a "holiday mixer" and encourages attendees to bring non-perishable food items to support the Food Bank of Central & Eastern North Carolina.

Hope to meet you there!

Friday, October 30, 2009

PONG Clone Completed!!!

It is with great pleasure that I announce I have finally completed a game of my own! There are some obvious improvements that could be made (adding sound, better art, etc.) but it is a fully working game with Artificial Intelligence (AI) for the computer opponent, basic menus, scoring, and clear winning conditions. I'm particularly proud of the ball's motion blur, a subtle effect that makes the game look more polished.

The left paddle is controlled with the W (up) and S (down) keys. Likewise, the right paddle is controlled with the O and L keys.

Download the Game Now!

I would be very appreciative of any feedback; just leave me a comment here on the blog to let me know what you think. I will provide a breakdown of the effort spent on this simple game (done in 24 hours!) in an upcoming post.

Thursday, October 29, 2009

Finishing a Game: Pong Update

As I've stated in some older posts, I've been planning to work on a Pong clone for some time now. I was digging through a new book and learning the internals of Direct3D lighting, texturing, blending, meshes, etc. And I've learned a LOT (especially about vertex and pixel shaders) since those older blog posts, but one problem with the book I'm using is that it teaches small bits without building a game project. Even with all of my learning I still had not created a whole game, and I do know that in order to have a decent game career portfolio I will need to have at least one completed game (though probably two or more) to even be considered.

So I took a step back from all the fun advanced 3D stuff for a bit and am proud to say I'm making progress (translation: nearly completed) on my Pong clone. I will post the game itself and implementation details soon!

In other news, my wife and I finally purchased a Nintendo Wii since the retail price came down to $200. Wii Sports and Boom Blox are pretty cool. And just a quick news update in case you missed it- the Unity game engine is now available as a free download (was supposedly $199). Check it out and let's create some awesome games!

Thursday, July 16, 2009

Quick Random Update

So, Gamasutra is on Twitter too. You may recognize them, or at least you should if you have any business as a video game developer/designer. Gamasutra is one of the most popular game-oriented websites with full-featured articles and commentaries on the state of the industry, game reviews, yadda yadda yadda. So now you can check out not only the website, but also the Twitter feed. Oops, sorry if that last link didn't work; I suppose I should have linked it the proper way: @Gamasutra!

Enough hype, this post is mostly me checking in for a quick progress update. I blasted through reading about lighting, textures, blending, and stenciling in my Direct3D book and then found out the exercises required a fair deal of re-reading. Lesson learned, I have to work through chapter exercises before moving on to more difficult chapters! The same applies to the Game Design Concepts course I'm taking -- it's much easier to keep up with the readings than work through the exercises, some of which I have to skip. FYI, you can follow discussion for the course on Twitter too; just search for #GDCU!

The topic of my next post will be the power of sine waves. Yep, I'm talking about those tricky oscillating waves you learned about way back in high school. I've found some interesting applications and want to show off some of the cool stuff you can do with them. And now that I'm finally understanding the basics of HLSL (High Level Shader Language) shaders, the part that tripped me up big time in the last book I read, you can expect some posts on that stuff too.

Just curious, when was the last time you used something from high school you never thought you would need again? What's the trickiest math you've used in game development, and does calculus ever figure into the equation (pun... fully... intended!)?