Friday, June 13, 2014

Never Say Skyrim Again

Now that Elder Scrolls Online has been out for a wile and the beta non-disclosure-agreement I signed doesn't matter I'd like to tell those who care about such things why I think it sucks.

It is litterally no different than any other MMO.  This is my #1 issue.  I really wanted to like it.  I honestly did.  But they took the ONLY thing that made Elder Scrolls, or Skyrim specifically, the best RPG I've ever played and threw it away.  Skyrim was amazing because it was basically a First-Person-Shooter in a fantasy setting with stats that level up.  Skyrim's controls are what made it fantastic.  Lots of RPGs have awesome lore and game worlds filled with cool stuff.  A few are even somewhat open-world.  Skyrim's controls are what made it so engaging for me.  MMOs utilize the 'click on an enemy and the game will auto attack once every second or so' mechanic that pisses me off.  It makes them festivals of standing around waiting for your 'big' abilities to finish their cool-down.

Would it have been so bad to simply make a multi-player, online version of Skyrim?  Hell, some rather industrious modder could probably pull that off.  Such a mod would instantly make a MMO that is thousands of times more appealing to me than any MMO that has ever been.

But there is a darker force here that causes me to hate the game.  One that didn't even hit me until well after I gave up on the beta.  The WoW effect.  I've coined this term.  WoW destroyed the Warcraft series and ESO will do the same to the Elder Scrolls one.  I say this NOT as some sort of fanboy who read the book first and thinks the movie 'destroyed' the story.  No, what I mean is much worse.  WoW ensured that no regular Warcraft game will ever be made again.  Or at least, there hasn't been one in over a decade and there doesn't seem to be any sign of a new one on the horizon.  Why?  Because any new game in the franchise would compete with the MMO for players who are fans of the series AND any plot twists or new story-lines that are developed would need to be already in the MMO the preserve the consistency of the game universe and thus... wouldn't be twists as everybody would already know about them.  You can't carve out a new narrative without applying the events of that narrative to the MMO.

Its like this:  There was once a summer when 2 different James Bond movies came out.  Both were James Bond movies and one even had Sean Connery, but only one of them was in the official Bond universe.  Look up 'Never Say Never Again'.  This would be the fate of Warcraft 4 or Elder Scrolls 6.

Friday, August 9, 2013

Want to live in space?

Here is some food for thought.  I threw this together today because I feel, as a species, we are being robbed of our true potential.

Wednesday, July 17, 2013

iOS ontouch event lag

Quite some time ago I was building a javascript app for my work that would run on an iPad.  It was a survey app that had options for the user to touch and then it would thank them for their input when they were done.  Something I noticed though was that compared to when I ran the app on my PC the iPad version seemed very sluggish.  The buttons used onclick events which one would use on any average page but I knew there was a special iOS only event called ontouch so I thought that if I changed all my events to those instead it might fix the issue.

I was wrong.

To illustrate this for you I have put together a simple little "game" that has arrow buttons and a little "character" that those buttons move around the screen.  I use the terms VERY loosely.  At any rate, if you run the following code on your iPad/iPhone/iPod Touch you will be able to see what I'm talking about.

To play around with this you will need to put this html file on a web server.  If you don't have access to a real one you can set up a local one on you wifi network using WAMP.

Once you get it up and running it should look something like this -

As you can see.  It takes a bit from the time you touch the buttons until the time it actually moves the hero.  I did a lot of digging (so you don't have to) and found out that there is ANOTHER iOS specific event called ontouchstart.

Replace all the ontouch events with ontouchstart and fire up the "game" again.  See the difference?  Instant gratification.

At first I had thought that perhaps iOS devices were just really bad at handling javascript but it turns out the little bit of lag is there on purpose.  As they say "its a feature not a bug".  The reason for two different events is that if somebody accidentally touches something they didn't want to, like a submit button, the user can still change their mind by swiping their finger to change the behavior from a touch event to a scroll one.  With ontouchstart though, there is no turning back!

So, in the event you were wondering why your javascript buttons were functioning like crap on an iOS device, now you know.          ...and knowing is half the battle!

Sunday, January 13, 2013

Make an HTML editor like W3schools "Try it yourself" feature

Hey there!  Long time no see right?  I come with gifts!!!

One of the things I love to do is code.  HTML is something that I started playing around with much too long ago to give a date.  I prefer to write my HTML/CSS/Javascript using plain text.  This way I know that I have total control over what I'm getting as opposed to an editor which allows for quick and easy editing but may not always be as flexible as you want it to be.

The problem with coding in plain text via a program like Notepad or Textedit is that you have to save the file, switch to your browser and refresh the page every time you make an edit to see the result.  If any of you have ever visited W3schools and gone through their tutorials you will have come across a rather awesome feature to their pages: the Try it yourself editor.  This is an in-browser tool that lets you write code in a box on the left side of the page and then see the resulting page in a box on the right side.  Every time you edit the code on the left, all you need to do to see the updated change is click the Submit button which refreshes the box on the right.  It's an amazing little tool.

I decided that it would be cool to have one of my own, right on my desktop, that I could use to do my coding without having to run two separate programs and keep going back and forth, saving and refreshing.  It seemed simple enough... but after a lengthy Google-ing spree and combing through many forum pages I came up empty handed.  So I did what any good code-monkey would do.  I wrote it myself.  And now I will share it with you so perhaps your Google-fu wont fail you as mine did.

First, I add a textarea and an iframe. The ids are mycode and display respectively.  I also add the button that will make the magic happen and link it to the function I'm about to show you.



Next, I add a function called "display" in the Head of the page that takes the text from the textarea, converts it to a variable named "x" and then sets the innerHTML of the iframe equal to "x".


Finally (though I won't go into the details of it here), I spice it all up with some CSS styling to make it all look pretty.

Throw in your html, body, head tags and some CSS in the right places and the code will create a page that looks a little like this:

Tuesday, July 31, 2012

Codecademy Update!

I just popped over to Codecademy to continue with my coursework and POW!!!  There is a whole new track of stuff to learn.  They added Python to their courses.  Guess I know what I'm working on next!  I still plan on running through the Udacity courses as they seem to cover quite a bit more ground, but it's nice to see even more cool FREE stuff being offered.  I also really like the format Codecademy has.  Udacity integrates video as the primary mode of teaching and though this does make it much more like a real college lecture based course it also expands the amount of time required to complete the units.  If a unit contains X number of minutes of video you know that it will take you at least that long to go though it all.  But like I said, they take it WAY further than the basics.  By the end of Udacity's programing classes (I think there are three dealing with Python) you have built a search engine, a blogging platform and a freaking web browser!!!

Sunday, July 29, 2012

Get your Code on!

So I've been away... again... for a very long time.  Sorry about that.  But I have returned to bring you awesomeness!!!  Free awesome programming courses!!!

I'm currently doing the Code Year program at Codecademy.  It's super detailed and easy to follow.  It starts you right in with interactive coursework on Javascript and moves you into HTML, CSS and finally Jquery.  It's designed to be like a college course program and is divided into lessons by weeks.  BUT you don't need to wait that long.  I've blasted through the first several weeks in only a few days.

I've had previous (though limited) experience with Javascript but already have found TONS of new stuff out by working through these exercises.  Its really fun.  They also give you "Badges" as you progress to help you feel motivated and to point out when you've accomplished cool stuff.

One of the things that really made this program stand out for me was that many of the lessons feature aspects of creating games.  Some of the lessons focus on creating a dice or blackjack game and this is really cool for someone hoping to one day be a game developer.

Another place to pick up some free programing lessons is over at Udacity.  They have a series of computer science courses that focus on programming with Python.  These courses are LITERALLY set up like college classes and mirror ones taught at Stanford.  Pretty snazzy huh?

Finally, though not as in depth, there is a really neat interactive tutorial on the Ruby programming language called tryruby.org.  The design of the site is super cute and based on a book/comic and features some art from it.  This tutorial leads into a series, but alas, you must pay for those classes.

I plan on working all the way though the Code Year program and then perhaps try my hand at Python. You can feel free to try them all of course.  I'll (try) to keep you posted on my progress and perhaps post a few tutorials of my own based on a couple of simple games I've put together using HTML/CSS/Javascript.  That is, once I've had a chance to go back and clean up the code now that I've found I have been doing it a bit.... shall we say.... less than elegantly.

Sunday, November 27, 2011

Minecraft Pocket Edition

Minecraft has become a phenomenon. If you haven't heard of it yet, you have been seriously missing out. Minecraft is a sandbox style game where you have the ability to shape the game world around you and construct anything your imagination can come up with. Oh, and when the sun sets, you get attacked by zombies. It is the only game I know of that started selling butt loads of copies while it was still in Alpha. It has multiplayer modes and the ability to save and share worlds you have created.

The Pocket Edition is the new mobile device version available for Android and iOS devices. It lacks most of the full versions features and scales back the number of block types you can use to build with but with that being said, it is still one of the best games I've played on a mobile device and I'll tell you why.

The game starts and you are in a vast open world that has been randomly generated just for you. You are all alone and your goals are not defined. Most would wonder what fun you could possibly have playing a game that seems to have no purpose. The appeal is in exploring, seeing what is out there and building cool stuff. The goals are really set by you. You decide what to build and take pride in building something truly impressive. It would be worth noting that building impressive stuff is disgustingly difficult and time consuming.

There is something profoundly old-school about Minecraft PE. Something that is lost in most modern games. When the original Legend of Zelda was released the game simply started. You were standing in the middle of a vast world and had no weapons or direction as to where to go. It was hard. Very hard. You had to FIND the objectives. You didn't need to complete the dungeons in any specific order. You didn't even need to get the first sword if you didn't want to. You could skip it and still finish the game by getting a different sword later on and doing so was a badge of honor amongst gamers. Back then, gamers did things BECAUSE they were hard. It took dedication, time and skill. It wasn't enough to beat the game itself, gamers would invent new challenges like beating it without dying or doing it in a small amount of time or doing it without the primary weapon. Why would they do this? Simply to say they did.

For a game with no objectives Minecraft PE has absorbed a great deal of my time since I got it. I started by tunneling deep into the ground and hollowing out a series of chambers. My own personal dungeon to lord over. Then I spent a few hours making all the rooms aesthetically pleasing to me with uniform floors walls and trim. Then I built a stairway back to the surface world (which took a considerable amount of time). Then I added a second level to my dungeon. Then I decided to build a massive sculpture of the 3D-ized 8bit Darknut I had once made. It now stands, a colossus, at the edge of my lands as a testament to my glory. Then it dawned on me that I haven't yet explored the vastness of the world I posses.

So, long story short, I'm in love. This old-school gamer gives it two-thumbs-up.