Sunday, November 2, 2014

Converting Visitors to Register - adding an Unobtrusive Pop Up

So after about a month or so of having my e-mail login active on my web page, I have exactly zero sign ups.  This isn't unexpected so I'm working on drawing more attention to the login and register buttons at the top.

A lot of websites see great results from using a full page popup when a new visitor visits the site, but generally when I see these I immediately leave the page, and it's fairly infuriating.

So my goals with the most recent pushes to the website were:

1.  To have a pop up that notifies new users about the registration button, but have it be off to the side and non obtrusive when viewing the website and easily closed.

2.  To make the registration process a bit more intuitive and flow a little easier.

For the first goal, I created a little speech bubble pop up that will show only if a user does not have login information saved on their computer, and when it pops up, it will only show for about ten seconds, and won't show back up for 24 hours.  I might extend this to 48 hours / a week, but I don't think users are visiting my site more than once within any length of time.

Here's an example of the pop up:

I wanted it to be mostly out of the way, and while it does cover up some buttons on the UI, it has a clear close button that closes the box immediately.

The second thing on my list was to make the registration process easier.  Before, the login and registration buttons were tied together, meaning you had to click them both and that would pop up the login prompt, then you had to click the register button, and then register.

These buttons have now been split out into a separate login and register button so that users can choose accordingly and not have to go through an extra click.

Just a few small UI updates that I've been meaning to do to convert more visitors into registered guests.  I'll post an update later on the results of the slight UI changes.

Jason C.

Sunday, October 5, 2014

Automated E-mail Authentication In! Also Anomaly Updated.

So I got the automated E-mailing Systems in the website.  When you register, it will generate an e-mail to the submitted e-mail with a link to authenticate the token.

Right now the token is indefinite, but I'll add in a time based token at some point.  I already laid the foundation for the time token in the database & script, but the system is fairly simple.

As you can see here, the activate.php file just takes a token, does some "very basic" checks on html chars / alphanumeric chars and then simply flips a boolean character in the database saying that this e-mail has been authenticated.

It's important to validate e-mails in this way as you want to keep a high sender reputation from your mail server.  Bounced e-mails are no bueno.

Also Anomaly has been updated to have 10 levels.  The only problem is that it's fairly easy right now because of the rule sets.  I need to add more variety to the rules and include multiple rules on the harder levels to mix things up.  Right now this will let me play around with rule sets, what is fun, what is challenging, etc and get some feedback as well.

I need to mix it up a bit so that the Anomaly is slightly better hidden on the larger levels.  Right now it becomes fairly easy to locate the Anomaly with the ruleset "Adjacent".

Please check out Anomaly and let me know what you think!  I'm always looking for feedback on this kind of stuff.

Jason C.

Sunday, September 28, 2014

Login Function Complete!

The Login and Registration functions are now complete!

I spent all of today porting the back end code from Java to PHP.  It took me a decent bit, but I combined some sections of the code as PHP isn't as conducive to OOP as Java, and I didn't need the modularity I had before.

The site uses some client and server side authentication so if you want to try and break it, by all means please try while my database is largely empty!

I ran into a couple bumps deploying the code tonight, the main one being that yet again, my hosting lacks a certain feature.  Namely MySQL Native Driver, so that means the functions I had built to connect to MySQL didn't work so I had to rework them all to work without the driver.

Minor stuff, but still, annoying.  I'll have to take that into account in the future as well.

However, the website and login functions are fairly secure, I still have a bunch more security to add as well, but for now I'm happy with the deployment.

The next step is using the generated internal token to authenticate e-mails by sending automated e-mails so that visitors can Opt-In to the news feed.

Exciting stuff!  I'll start work on that next weekend, so hopefully I can start authenticating e-mails automatically in the registration process.

Cheers and go register at the website!

-Jason C.

Sunday, September 21, 2014

Updated Website Deployed - but... have to rebuild the back end.

Well I deployed the new website to my HostGator web hosting account... ONLY to realize they don't offer Tomcat Apache support for my plan.

And since my back end is built in Java, that pretty much means I need to learn PHP and rebuild my entire back end.  Delightful.

All snarkiness aside, I'm glad to have the front end built out, even if rebuilding the back end is going to be a pain.  There's a lot to see on the web site, with a galactic map on the home page and 5 game pages to check out, feel free to browse and let me know what you think!

So I guess I'll be learning more PHP to get the back end up and running, but at least I know where to go from here.  It probably means I'll have to set up a WAMP stack on my home machine too which I don't currently have installed.

It's 100% my fault for not reading all the details, but I read they had Tomcat support and never bothered to do any kind of testing.

Anyway, at least the back end stuff isn't visible to the user so I can just work on that and deploy it when it's ready.


Thursday, September 18, 2014

Creating a Rotating Gallery - Game Page Links for new Website

So the games page was supposed to be a simple panel of images that linked to pages for each game I have created and/or worked on.  But I thought to myself, "That's Boring!" so I created my own rotating gallery page viewer that flips through all the options as you click on them.

The rotating gallery uses JQuery, Javascript and CSS3, so knowing a bit about those will help you understand what's I'm doing.

First, here are a couple screen shots of the gallery:
When you click on a panel to each side, it rotates through the selection to that panel:

It also uses CSS transitions so it has a nice easing effect as well.

For each panel, they will link to a page specifically for that game.  Right now you enter via clicking the button at the bottom but I might change the coding so that when you click on the main picture, if it is active you will go to that page.

The code is a bit long so I won't go into too much detail, but I'll highlight a few of the places of note in the script and CSS.

The Main Page:

So the goal was to just add divs as I needed and to have the JavaScript file manipulate and add the divs to a list and control them that way.

I wanted the main page to be easy to add things to and all the work to be hidden in JS.

As you can see it's pretty intuitive and makes a lot of sense what's going on.  You have 5 game pages, each with a title and an image.  I kept the actual links in the JavaScript as well, but that's something I could pull out into the HTML later if I needed to.


The exciting thing about the rotating gallery is using CSS classes and ids with the CSS3 transitions to create neat effects just by swapping the classes and ids of the divs.  It makes putting neat transitions in your website a lot of fun and fairly easy to do.  I know this isn't new to a lot of web developers, but if you're somewhat new to web design and development, this stuff can be pretty exciting.

Let's take a look at the CSS file and see how it's doing a lot of the work for me:

You can see here, we wrap our boxes in a holder with position relative, so that we can use absolute positioning.  Also the neat work is done with the transition tags.  All it's saying is that between changes in the class to modify position, we're going to give all transitions a .5 second ease between the divs, and the browser will do all the animation work for us.  Neat!

Here we're specifying the size and dimensions of our Previous node, our Next node and our Hidden nodes.  You can think of this gallery like a linked list.  We're going to be rotating through images, and the first image will always appear after the last one and vice-versa. For this gallery I wanted to make it seem like the pages were fading away so I set the opacity to 50% and the size to 50% for the images to the side.  

You'll also see I set the Z indices up so that the main one was the highest and the next/prev ones were in between and the hidden nodes were the lowest.

Note:  It's important when you set your Z-Indices, to keep them positive if you want the divs to be clicked on.  If you don't it's likely click functions won't work because they'll be behind the main layer of the page.

So now all we have to do is link the divs together and add some click functions!


The first part of the script is the set up.  I call this to push each ID into an array for my divs and set them all up to be ready to be called by the rotate functions.  I set all the divs to invisible and hidden and add the on click functions to each of the divs (only called when visible and not the current one), so essentially only the previous and next ones can be clicked (but I could expand this out later if I wanted).  Then I call the rotate function to set up the screen properly.

The next is our rotate function.  This calls out to a few other functions that I've made, the GetPrevious and GetNext functions just check the next and previous number based on the total number and the current number (so GetPrevious(1, 5) is 5 so that we have a linked list) and then the RotateNext and RotatePrevious functions change the classes on the divs accordingly.

I'll show you a snippit of the RotateNext function so you can get an idea of what it's doing.  Basically I need to shift all relevant divs, which means, 2 before, 1 before the current and 1 after are the relevant divs, since all others will remain hidden.

Then I set the currentShow (the currentDiv, not sure why I named it that) and we're good for this rotation!  Then if our current one isn't the one we wanted to click to, it will continue to rotate until we reach our destination.

So that's a little bit about the Rotating Gallery that I made,  next steps are working on all the pages for the actual games and getting A Slight Anomaly up on it's own page as well as a playable demo, and then testing and pushing to live!  Exciting stuff.

Hopefully this weekend I can power through the game sites so that I can start prepping to push the new website live.

Subscribe to stay tuned into the updates and to learn some neat tips and tricks about web development!

Jason C.

Monday, September 1, 2014

Website Press Page Finished - Custom Gallery instructions

I just got done with the new Press Page for the new website.  There are some neat things I'm doing here so I figured I'd share some of it for newer web designers and developers who might read the blog.

The first is that every page is dynamically loaded, so when you click a button link, the page is loaded from a separate HTML page and then included in the main div that stores the page information.  This means there aren't many redirects which saves resources, but also means you can't link to pages directly, you have to navigate to them.  I'll have to look into adding a way to load a page with additional header information.

The second cool thing, (a little thing, but I like it a lot) is creating a fixed position menu bar for the Press page that sits at the top of the page, but won't overwrite the header image.  I'll show the code for this as well.

And the final thing is a custom gallery for the Press page that loads images and titles from an XML page and displays the images in a miniature gallery bar and then when they're clicked displays them and the title in the main frame.

Dynamic Loading

So for each page, I'm dynamically loading the HTML into the main "div" that holds all of the page information.  This div sits below the header and is emptied out and replaced with current page information on button click.

Here's a snippet of what the button is doing when clicked to load the Press page:

I use JQuery to load the page in and then when it finishes, I add in the functionality for the Menu Item slide panel, and the Gallery.

Sliding Menu Panel

This brings us to the next neato thing, the Sliding Menu Panel.  As you can see below in the next two screen shots the menu panel sits below the header, but as you scroll down, it locks to the top of the screen.

Sits Below Header

But Locks to the Screen as you scroll down

This isn't tremendously complicated, but it involves adding a little bit of JavaScript in order to get it working correctly.

As you can see in this snippet, I'm changing the CSS dynamically depending on the scroll location of the page.  And if my current page is not the Press page, I remove the scroll listener so it doesn't affect anything I don't want it to.

Custom Image Gallery

The final cool thing I did for this page is create a custom image gallery.  I wanted to be able to add images quickly and without touching the JavaScript or HTML and I wanted to include information with each image (such as a title), so I'm storing the image information in an XML and retrieving it when the Press page loads.

In the second screen shot above, you can see the gallery as it's loaded.  Each miniature image updates the main image frame when clicked.  (Also you'll notice I customized the scroll bar's CSS, there's a nice article on that here).  

First let's take a look at the XML structure.  It's not very complicated and you can add whatever kinds of data you want and you can use JSON if you prefer, but I think for simple things like this, XML is much easier to read.

Once I had my structure set and my XML page filled with all the titles and image locations I needed, I then wrote a simple script to load in that data (in the function loadGallery() that you saw earlier).

Here is the script, including the function I used to update the main gallery frame:

I won't go into too much detail, the script uses an AJAX get request to grab the XML and then runs through each image's data to create a list with each miniature gallery item, including an on click function to update the main gallery frame with the image when clicked.  Then I get the first image from the XML and load that into the larger frame.  Then it's just CSS to get it looking right.

These are just some little tips and tricks I thought you might find neat.  The site is coming along great, all that's left is a bit more security checks (like encrypting passwords in my database, HA!) and the Games page.

Of course the Games page will have links to pages with information about each game, so that's still quite a bit of work, but it's all relatively simple stuff.  The Press page was the big one for styling and formatting work, but it's looking alright.

Also, the website will release with a brand new game to try out!  It's a VERY rough demo, but I want to get some feedback on the game before moving further with it.

That's it for now!  I'll keep the blog updated as I finish up the website and get it up and running.


Saturday, August 30, 2014

Web Security on the new website

Today I'm spending some time on implementing some web security for the website.  On my to do list (Trello is a great resource btw)  I have double checking the SQL Parameters to make sure they're parameterizing inputs properly, adding input scrubs on the server and client side to stop XSS attacks, and a few other things that I'm adding to the site.  Also I need to encrypt all my password data as well, but that's not on here yet as you can see below:

There is a lot to do for security alone, and I still need to add my press page, the games page (and all the game pages for each game, and build in an automated e-mail system.  The e-mail system I might leave until I start integrating the page into host gator but we'll see.  I might have to use their SMTP since I don't have one set up locally.

It's fun and coming along, and I'm glad I have a bit of time this weekend for labor day!  Work got off early yesterday and the Professional Services team went out kayaking Thursday and got off early as well.

It's been a pretty relaxed week, but we're about to hit the busiest time of the year, so the rest will be well used.  

That's it for now, just another small look at the website and how it's coming along. 


Saturday, August 23, 2014

Website Updates, RSS Link to this blog, new test game in the works.

So I've done a little bit of work to the website, namely pulling in the RSS feed from this blog and displaying the four latest posts on my blog page.

And I'm always changing up the formatting trying to find a color scheme I like for the page.  So any feedback on whether it's too cluttered or not exciting enough etc, helps.

Here's a screen shot of the blog page, pulling data directly from this blogger site.

Also I've begun working on a new browser based game.  The first iteration will launch with the new website under the games tab, and I'll probably keep the game javascript/client side (which lets you cheat super easily) for the first few iterations until I figure out if the game is fun or not before building in server side verification.

The game is going to eventually be a mobile game, and is a take on pattern recognition.  It's called Anomaly, and that's all the teaser I'll give for now, but as I get free time I'll try to finish up my website and get that info out.

That's it for now, the website is slowly coming along as I have bits of free time here and there to work on it.


Thursday, July 17, 2014

New Website in the Works

Well it certainly has been tough setting aside enough time to blog.  It's been the farthest thing from my mind lately!  Lot's has happened over the past few months, I've traveled, I've loved, I've lived, I've climbed mountains and well... it's pretty hard to top climbing mountains while staying moderately truthful about my past few months.

Anyway, I'm working on a new website, full with registration capabilities, some fancy JQueryUI modals, and all sorts of goodies.

It's still a LONG way out, I need to link up some MYSql Databases to store users in, build in some anti-spam functions (thinking about doing this custom, captcha is ever so annoying), and then actually add in all of the CONTENT for the website.

Right now I have the bones of it up.  It's going to use JQuery to dynamically load the html into the main page, so there's really just 1 main page that will be updated.

Here's a sneak peak at what it's looking like so far:

I'm definitely going for a sleeker look but I'll add some flair to it later and spiffy it up a bit.

Once the website is finished and up, I'll probably start working on my next game.  I'll likely just release a tower defense for android/iOS in the vein of SBX: Invasion, but that's a LONG ways out and who knows what will change in the meantime.

Anyway, I've got work in the morning so I should probably get some sleep.


Wednesday, July 2, 2014

Vacation! Life and some loose ideas for next projects.

So first things first, I ended up canning my review of ESO.  I got partway through and lately I've stopped  playing so it hindered my research into giving a good quality review of the game.  The game is good, but I've been busy and I'm honestly just looking for a more sandbox style MMO.  We'll see if EQ:Next is ballsy enough to be a true sandbox world that gives the player unparalleled freedom to be the type of player they want to.

Anyway, at the moment I'm on vacation out in the mountains of Colorado, which is giving me some time to catch up on my blog and relax a bit.  My consulting projects at work are ramping up quickly and I have 3 development projects as well so I've been extremely busy and tanked out during the week, and thus haven't spent any time working on my own projects.

I do have a few ideas I've been knocking around, first is rebuilding my website to be a more solid website and include a database of users to register with my website.  I do need to get a better version of Visual Studio on my home machine, but likely I'll rebuild the website in C#.NET ASPX pages with a couple html pages sitting on the front end.

I want to make my website a very interactive, fun place for people to go to and check out my projects.  So that's the first task I need to start working on.  The second is my next game project, which will likely be a mobile / web project.  I'm thinking of making either a traditional Tower Defense in the SBX Universe, or possibly combining Tower Defense with an RTS/MOBA style game.  When I say MOBA I mean imagine League of Legends without any champions where you build your towers and spawners and the "minions" have automated AI based on the type of ships you build.  Just a loose idea, I'd have to iterate on it a bit to get a solid working plan, and I might release a traditional TD first and then make that style of game after.

These are just some of the ideas and plans I have at the  moment.  My programming knowledge in C# .NET has been improving quite rapidly as I have 3 projects that are entirely in C# or use C# as the web application back end language, so I've had lots of opportunities to learn in that area.  Next will be using Java and Eclipse as I'm less comfortable with those compared to VStudio  and C#.

That's it for now, I know it's been a while since I've posted.  I'll likely do a 4th of July Sale on Indie Game Stand so stay tuned for that!

Auf wiedersehen,

Sunday, May 4, 2014

May the Fourth Be With You Sale!

It's been QUITE a while since I've posted but things have been crazy busy (which is a great thing.)  My new job is going great so far and I'm learning new things about web development every day which is a lot of fun.

Today is a special day.  For me it is an especially special day as it is both Star Wars Day and my first anniversary with my wife.  So I decided to throw a special sale of SBX:Invasion at Indie Game Stand for just 99 Cents!  That's a whopping 80% off!  Nifty.

I'm also going to be writing up an extensive review of Elder Scrolls Online as I've been playing it a bit (some even with my wife!) and it's a lot of fun but there are some glaring issues I want to touch on and how they could be improved.

It has been nice to distance myself from game development for a bit to reset and not become so attached to my projects.  It's good to become more objective when viewing my own work to learn and become a better designer.  I've been staying very, very busy as well so there hasn't been much time to work on my own projects but I'm getting the itch to design something again and work on something creative.

Likely I'll start on some smaller projects (perhaps an Android App now that I have a phone!) and try to finish a few more small games.

Stay tuned for an ESO review soon, and go pick up SBX:Inv at Indie Game Stand!


Friday, March 21, 2014

New job, the end of my time as an Indie and , ESO out soon!

Things have been going well lately.  I'm stepping back from some of my projects to give myself some time and room, particularly because I got hired on as a Professional Services Consultant at Experian Data Quality.  My new job starts this Wed and I've been enjoying my last couple weeks relaxing, playing with my dog and redditting (a lot).

I plan to come back to my projects on the weekends eventually, but I think a good break will give me some space to think about where I want each project to go and what I want to do with them in the end.  Being an indie has been a TON of fun and opened me up to a world I'd never experienced before, but for now it's time to get a stable job and start planning for the future.

So, things have been going great and I've got an exciting career ahead of me in systems development and consulting and it's pretty exciting.  PAX East is also in a few weeks and The Elder Scrolls Online Launches next weekend.

I convinced my wife that we should play ESO (Elder Scrolls Online) together when it launches and gave her a friend key to try the beta out.  She's not much of a gamer, and has only dabbled in making characters on some other games, but she really liked ESO so we'll be playing together on the weekends as an extra hobby to do together.

I'm actually surprised at how much I've enjoyed ESO so far, I went into the beta weekends thinking:  "Eh, maybe this might be good but we'll see." and didn't have high hopes for it, but the immersion factor has really drawn me into the game as well as the freedom to create neat builds and customize your character to how I want to play.  It's kind of a breath of fresh air.

Anyway, the updates to the blog will likely be slower as I'll be working full time, but I'll keep things updated about when I continue working on my projects and other things that come up as well.


Jason C.

Thursday, February 20, 2014

New Homepage with a Minigame - Interview!

Lately things have been coming together.  The past few days have been hell getting Git integrated on our server for Tzarr but it's finally working and we can start making progress on getting an online multiplayer version up and running.

Also, I've been teaching myself JQuery and JavaScript integration into HTML/CSS this week so I reworked the homepage on my website to include a minigame.  It uses the sprites from SBX: Invasion to create VERY basic galaga style minigame.  I'll expand on it later, but for now it has simple functionality.  Working on getting the minigame running today has been a royal pain, but I worked out all the bugs.

I probably spent a good half the day today staring at my screen thinking:  "WHY AREN'T YOU WORKING?"  and then realizing I was missing a colon or a comma or something stupid.  Half the time I had the syntax completely wrong too and spent a lot of time looking at the API.  BUT... I completely custom made a little game entirely in JQuery and custom JavaScript.  It  may not be super special, but I think it makes the home page just a little more fun.

Check out the new homepage here:  My Website Home

I also have an interview this coming up week in the Software Development Industry so that's exciting.  Having a stable job is something that seems more and more appealing as my wife and I get closer to having kids.  Not that I don't love being an indie mind you... it's just not the stablest of jobs.

I'll still continue on my projects of course, I still have a lot of ideas for EvoDash and Tzarr that I want to do.  And of course the 'next' project after Tzarr.  Hopefully there will be enough time for that one :).

Everything said and done, the past week has been pretty eventful and I've enjoyed myself.  I'm looking forward to more opportunities to learn and grow in the future as well.



Tuesday, February 18, 2014

Mid February Update - Life and Work

Well it's been a few weeks since I've posted but things have been going along well.  Business has been as usual lately.  I'm still working on Tzarr and EvoDash and working on getting some new builds out.  Also I've been learning a bit of JQuery to integrate into my website as well and build a stronger skill set for myself.

So as far as projects go, EvoDash has been coming along nicely.  Our Global Game Jam group decided we would all build our own versions of the game and then get together in the future and merge them into one combined game and take all the best ideas.

I've been reworking the way Procedural Generation works in the game and updated the UI a bit.  The movement system still needs some fine tuning as well but here's a sneak peak at the new UI and the basic Level Generation:

Also I've reorganized the way unit commands are issued in Tzarr which is getting us ready to start working on an online multiplayer build.

Things are going alright, but I've been looking for some work lately as well to supplement income while being an indie.  It's a hard balance to strike between doing what I love and planning for the future.

Also, our young dog, Max, is learning how to behave indoors and is finally becoming trustworthy unattended.  Here's a little picture of him playing in the snow (we've gotten too much of it.)  

Other than that, things keep moving on.  SBX: Invasion just had a sale on IndieGameStand for Valentine's day and we sold a few more copies there as well.

All in all things are going well lately.  Hopefully I'll have some more exciting news in the future and I should have a new build up for EvoDash in the next week or two.

That's it for now, auf Wiedersehen!


Wednesday, January 29, 2014

Global Game Jam 2014 - EvoDash - Postmortem

Well it has certainly been a busy week.  This past weekend was the Global Game Jam and what a time that was!  It was a wonderful time creating games alongside a bunch of other talented people.  Fire Hose Games also just did a live stream play through of SBX: Invasion as well today at noon.

So let's start with the Global Game Jam.  It was exciting, it was exhausting, it was all around a good time.  I left for the Jam on Friday and took the Commuter Rail into the city.  The Jam location was at Northeastern University in the Digital Commons (which is quite an impressive area) in the Library.  The site was open for 24 hours a day so I planned to stay for the entire duration and brought a blanket and neck pillow accordingly.

The first day was a lot of fun, and right at the start I knew I wanted to get our team together and start work asap.  After all, 48 hours is not a lot of time to finish a game.  So during the mingling a group of people kind of came together, and I asked if anyone knew C# and wanted to work in Unity and two of them said they were fine so we set out a group quickly.  The theme was "We don't see things as they are, we see them as we are." and we grouped in a corner of the library with a white board and started hashing out ideas.

Our final idea that we decided would come to be known as 'EvoDash'.  The concept was that the game was essentially an infinite runner / survival game, that evolves based on the player's actions.  The player also changes based on the way they play as well.

For instance, the player can move through the world by sprinting, jumping and dashing in addition to the normal run.  These actions require endurance, which is a limited, regenerating resource.  As the player jumps during the game, their jump becomes stronger, as the player sprints, their speed increases, and as the player dashes, their dash becomes longer and on a shorter cool down.  However, if they don't use these skills, they will decay down to a minimum over time.

In addition, the world will generate obstacles based on the current stats of the player, so if you jump often, there will be jump obstacles, if you dash often, there will be dashing challenges.  All of this being procedurally generated.  That's the high goal at least.  We accomplished this to a degree for the Jam, but it will certainly take some refinement to fully realize this.

Then we set out to create the game.  We located a table with some screens set up and assembled our workplace.  Our team was comprised of 6 people:

  • Lead Designer & Gameplay Programmer...............................Jason (Me)
  • Lead & PCG Programmer.....................................................Kevin Cavanaugh
  • 2D & UI Artist......................................................................Christian DeSilva
  • Musician & SFX Artist..........................................................Harry Lodes
  • Programmer & Git Specialist.................................................Jeffrey Robbins
  • Programming Assistant..........................................................Jacob Ginsparg
The screens at the tables were extremely nice with adjustable mounts, so we set them up to the side as our script screens.

Kevin and Jacob Programming (note the awesome screen)

My Side of the Table (And Jeff's Foot)

A Selfie of Jeff:

Unfortunately we don't have any pictures of Harry or Christian as they were off by themselves grinding away for most of the weekend.  We didn't really focus on taking pictures or making the video.  We were fairly engrossed in creating the game.

There were a lot of challenges as well.  The first night we had some massive problems with Git integration with Unity.  I'd say over the whole weekend, trying to get Git to work properly with Unity cost us around 5 hours.  And when you only have 42 hours or so after all of the announcements and what not, that's a lot of time.  So, GIT was our number 1 challenge.

Sleep was also tough, the first night I passed out around 6 a.m and slept until 9 a.m and then Sunday Morning I finally let myself sleep from 9 a.m until noon once we at least had a solid build out.  I don't think I've ever stared at scripts for so many consecutive hours, but it was fun (as a rare event!).  Also, on Sunday Night through Monday Morning I slept 14 hours to recuperate.

The experience was amazing and we actually finished a game!  A fellow jammer actually lent us a SNES USB controller to use for testing and EvoDash is a lot of fun on a SNES Controller, by the way.  You can play the game as well on my website.  The controls are there, you just need to have Unity player installed.  I also got used to the 2D Workflow in Unity which is actually very nice!  I'm ten times more comfortable with 2D in Unity now.

For now, we all agreed to evolve the game in our own ways and the idea is that we can take our versions of the game in the future and make a new version that's much better and takes from all our ideas.  So I'll be working on my own version of EvoDash alongside Tzarr.

So THAT was the Global Game Jam, if you like making games and haven't done it yet, set aside the time next year!  I highly recommend it, even if you are new to game development.

In other news, Fire Hose Games, creators of Go Home Dinosaurs and Slam Bolt Scrappers, and recently in the news for their Indie Incubator announcement on Joystiq and the Boston Globe, did a live stream of SBX: Invasion today at noon.  You can check out the video on Twitch.TV.  

It's been a CRAZY weekend, and a lot of fun!  Some friends of mine, Ben Taylor and Dawn Rivers were in the GGJ as well and created Snub Titles, a neat meta game that challenges people to think critically when they review games.  It's pretty interesting so far, I look forward to seeing how it develops.

I should also have a playable build of Tzarr by Friday for Feedback Friday and our goal in February is to have an online multi-player matchmaking system in place.

That's about it for now, but I'm sure you're tired of reading words by now.  Subscribe to the blog to stay in the loop!  Lots of neat stuff is in the works so you won't wanna miss out!


Jason Carter / WakeskaterX

Wednesday, January 22, 2014

First Look at Tzarr - Global Game Jam 2014!

Good Wednesday!  I've got a video taking a look at the results of week one of production on Tzarr, including the rough basics and turn based game play.  Tzarr is coming along nicely so far, yesterday was tough, as I had a bug that baffled me for the entire day.  Finally I figured out what was wrong and fixed it and wham, everything magically worked exactly like I wanted!

The problem code snippet was this:

As you can see if you click on it, I was setting unit_grid which was the entire 9x9 grid to a shifted version of the move_grid, which was only 7x7 and contained the movement ability of each piece.

But the problem was that I was using different indices so it was rewriting over old sections of the array with 0 when I didn't want it to be.  I was already initializing the unit_grid array to 0s anyway in ClearUnitGrid(); so I just removed that line and everything worked perfectly!

But enough programmer talk, let's take a look at the video on Tzarr:

Honestly the game rules right now need to be changed a lot.  I played a game with myself and it was very easy to stalemate.  I'll be doing extensive play testing and making all sorts of builds to find a good balanced and fun rule set for Tzarr.

In other news, I'll be attending the Global Game Jam this weekend!  I'm super excited, I didn't think I would be able to get in, but because I signed up on the main site, even though they ran out of tickets, the head honcho said I was alright to come.  It's been a while since I've participated in a Jam (Since SBX: Invasion for the GMC Jam January 2013!) so I'm super stoked to get out and meet some cool people and stay up late like a youngster again.

I've been thinking of tons of ideas for all sorts of topics and my work on Tzarr has enabled me to work quickly with C# and Unity.  I think with a good team we could turn out something truly awesome!

Also, I just tried out Infinite Crisis, a MOBA by Turbine Games Inc that's still in Beta, and it's still under NDA so I won't say too much but I'll say this:  Sign up for the Beta, it's fun!

That's all for this update, I'll likely have a large update after the GGJ this weekend with the project my team has created and updates about how it went.


Jason C. / WakeskaterX

Thursday, January 16, 2014

A Week of Greenlight - New Project - Boston Post Mortem fun.

Well it's been a week since I've put SBX: Invasion up on Greenlight and it's doing... not as bad as it could be.  For the first few days the game sat at about 20% Yes Votes which honestly isn't that bad considering how niche tower defense games are, and there isn't a very good category to put them in.

Currently the game is at 14% Yes Votes, 3% Unanswered and 83% No Votes.  I haven't managed to get much publicity out yet, and I'm going to be trying to get some info out there about the game and see if I can drum up some excitement.  Hopefully driving some customers to the Greenlight page will increase the Yes to No Ratio and get more eyes on the project.

It's been tough getting the game out there, but I think it's probably time to shelf the project for a while and move on to new stuff.  I've learned a lot about game development and grown a lot as a developer on this project.  And I have already started on my next project as well.

The next project is going to be a smaller project in Unity called Tzarr.  I'll be working with a programmer I met in the GDU skype group, Derek, who will be handling the network side of things.  We're working on Tzarr in order to see how well we work together and make something smaller in preparation for a larger project later.

Here is a screenshot of what the board set up might look like:

The game will play similar to Shogi and Chess with some key differences, and we'll be going through various rule sets to nail down one that makes sense.  

The goal at the moment is to build a powerful flexible system to create all sorts of board set ups and rule sets quickly and effectively.  We're striving for a turn based playable build by the end of January to put out for people to try.

And then finally, last night was the Boston Post Mortem!  My good buddy Ben Taylor spoke on Game Jams and going into them with the right kind of mindset.  He gave a bunch of ways to "win" at Game Jams, whether it be coming out of it with a prototype, art, money, or new work partners, you should always focus on "winning" and planning on something you specifically want to gain from them.

It was a great time meeting people and networking as well.  I was introduced to Ken Rolston, the Lead Designer of Morrowind and Oblivion, and we got to chat for a good half hour and I was able to pick his brain on all sorts of things.  That was a great experience and it was fun talking to him about his start as a designer just making pen and paper games and how he got into the industry.

Boston really has some awesome companies.  One guy I know from Turbine told me I should check out Infinite Crisis, a DC Comics MOBA and it looks pretty interesting.  If you like League of Legends or DOTA you should sign up for the Beta too!  

It's been a very fun week and I'm excited about Tzarr and prototyping out a bunch of different game modes and rule sets.  Things are starting to come together in 2014!  I might even do a talk at BPM at some point about my first year as an indie and about the launch of SBX: Invasion! 

So subscribe to the blog for the weekly updates!  Cheers and Good Day!

WakeskaterX / Jason

Thursday, January 9, 2014

SBX: Invasion is now in the Greenlight Process! - Update 1.2 is out too!

Well, I finally started the Greenlight Process for SBX: Invasion.  You'll be able to vote at the link below:

Also Update 1.2 is now out at Desura, IndieGameStand and will soon be out at FireflowerGames.

What's new in Update 1.2?

Well quite a bit!

  • New Movement system:  The player will no longer bounce off walls and reverse direction and the movement system feels a little more slippery like you are in space.
  • Upgraded UI and Planet Graphics:  The planets look a lot nicer now, I ran a Posterization filter over them to bring them in line with the games graphical quality and then added a glow effect.
  • Updated Tutorial: The tutorial is a bit longer but the game lets you go free a bit sooner.  There a little less tutorial stuff after the tutorial, but more is included at the start.
  • Optional Tutorial:  The tutorial is now optional to new players as well.
  • New Loading Screen: The loading screen now says "Loading" and also gives a little tip about using Ghost Mode.
  • New Voice Overs! My lovely wife voiced the entire monologue by AIUA in the game.  Instead of a computer rendered voice, my wife tried to stay monotone enough that the computer filters would work.  It was a pretty fun experience and we had to stop ourselves from laughing on a few occasions.
  • Minor QOL Improvements across the board:  You can now use arrow keys to move between levels in any way, before it was locked for some weird reason that I can't remember.  It's better now.
And there is ALSO a new DEMO at IndieDB that you can play to try out all the changes!

Check out the demo HERE

Over the next few weeks I'll be doing some advertising and I'm really hoping we can get Greenlit as that would be a phenomenal boost!  I'll also be working on my NEXT project a little bit this month so stay tuned.

Cheers and Happy New Year!