Wednesday, April 22, 2015

Quick TV Review Of Doom: The Flash

So I watched the Flash last night as I was trying to fall asleep. It kept me awake! Man, there is something about the Flash that keeps me coming back to it week after week. It has a certain amount of drama and superhero that does overbear me with any one thing. Grant Gustin has a way of exuding a happiness that I've come to associate with the Flash from the comics. The character of Barry Allen was the kind of person who would have a drink with you, and talk you out of doing something just as much as he was to punch you in the face.

With all this, the Flash seems to be on point with being just the right amount of quirky for me to enjoy. Last night's episode was just a culmination of a season that just keeps hitting the topic of what it means to be a Flash tv show. It is completely worth it to watch, whether you like Flash from the Justice League cartoons, the comics, the new 52/Flash Point Paradox, or just casually as a really fast hero.

Check it out on Huluplus or CWtv.

Monday, April 20, 2015

Nothing To Talk About?

I've been at a loss on what to talk about here for a while now. I've tried starting some posts, but I honestly didn't feel I had enough to contribute in those particular cases. In an attempt to get back into blogging, and as part of my, start it when you feel like it philosophy, I decided to go ahead and post about my lack of posts.

Much like a writer, who writes about being blocked, it can have a way of unblocking the mental paths required to do work. I've been stagnating now for quite a while, and I feel the need to break myself out of my funk.

I've been doing a few different things recently, and they're all kind of working me towards getting back to work. I've had so many set backs in a row, that I lost a great deal of motivation, and being stuck in a situation where it is already difficult to set time aside to do any one thing, let alone the cornucopia of projects I have for myself. I want to get motivated again, and part of it is saying it.

Current Projects:

Unreal4 Version of Hexahedron Puzzle game
GameMaker Simple Strategy Game (for beginning concepts of mouse click unit control)
A novel (any novel, my god do I need to get back to writing again!)

Current Pastimes:

World of Warcraft (need to get another time card, ran out)
Magic: The Gathering (a store opened up near my house, and so I'm getting back into it)
Heroes of the Storm (though honestly it feels like I'm just grinding to buy more heroes)

Blogging Plans:
Quick Movie/Series Review of Doom (this is a call back to what I used to do on my geocities page over 18 years ago)
Weekly Check In (I should establish at least one day a week where I blog about my week)
Updates (as they happen)

Well, this seems like a nice plan. Now to do it (or not, remember, missing a day is not a big deal, just make it up asap, and get back into your groove). Fatalism (the way of thinking where either you only succeed or fail with no gray area in-between) can really mess with your ability to succeed.  The key is to remember that failing to succeed in plans you make yourself is not the end of the world (unless your plan was to prevent the end of the world).

Sunday, February 16, 2014

Chrome Store Manifest

  1. {
  2. "app": {
  3. "launch": {
  4. "local_path": "TetrahedronTwister.html"
  5. }
  6. },
  7. "icons": { "16": "logo16.png",
  8. "128": "logo128.png" },
  9. "manifest_version": 2,
  10. "minimum_chrome_version": "23",
  11. "name": "Name of Your App or Game Here",
  12. "offline_enabled": true,
  13. "permissions": [ "storage" ],
  14. "version": "1.0.3"
  15. }
 So here's an example of what the manifest will look like. You'll save it as manifest.json and its just a simple text file.  So what do we have going here?

Declare what to open:

1  {
2     "app": {
3        "launch": {
4           "local_path": "NameOfYourWebUsually____index.html"
5        }
6     },

or if you want one of those "desktop" looking apps:

1  {
2     "app": {
3        "background": {
4           "scripts": "main.js"
5        }
6     },


  1. /**
  2. * Listens for the app launching then creates the window
  3. *
  4. * @see
  5. * @see
  6. */
  7. {
  8. // Center window on screen.
  9. var screenWidth = screen.availWidth;
  10. var screenHeight = screen.availHeight;
  11. var width = 1280; //Size of your game's screen resolution's width, add space for ads
  12. var height = 720; //Size of your game's screen resolution's height, add space for ads
  13.'NameOfYourWebUsually____index.html', {
  14. bounds: {
  15. width: width,
  16. height: height,
  17. left: Math.round((screenWidth-width)/2),
  18. top: Math.round((screenHeight-height)/2)
  19. }
  20. });
  21. });
Next is the icons. This is simply letting it know the name of the png files you are using. Make two of them. One will be 16x16 and the other will be 128x128. Keep manifest version and chrome version as is unless you need a newer version of chrome. Manifest needs to be 2 to use the main.js example. Name is as self explanatory as possible.

Offline enabled doesn't need to be there if you are pointing to a page on your server, but if you are submitting the whole thing to the app store to be stored on their servers, then you do this so that the game will download to their computer and they won't have to connect online to play the game unless it does connection tests etc.

Permissions has a long list on their website, but I used "storage" for the ability to save in the future.

Finally version is your current version and should be updated each and every time.

Monday, February 10, 2014

What I learned about releasing my first game for FREE

I released my first officially done game (not counting school work and games I made for friends) to the Chrome Web Store on January 27th. The game was meant to be a variant on a Rubik's Cube style puzzle game that I played on the Atari as a child, called Atari Cube. I used that game as quick inspiration when I created the game in Perlenspiel for class over a year ago.

I liked the game so much, and I felt the scope of it was small enough, that I decided to tackle it as my first game. This turned out to be an good choice, and I made rapid progress in getting the game set up. I hit a snag for about 6 months though, when I couldn't figure out how to get a system to work and between my job and real life, I was unable to focus enough to really give it a try.

So I thought of solutions, and eventually I did some flow charts in pen and paper while on the bus between work and home. These flow charts eventually led me to writing out pseudo-code for the system. After working on it, I finally had it figured out, and in one week, I had it implemented and was running full bore into finishing the rest of the game.

Two weeks after solving the system, I had almost everything ready, and I felt confident enough to set myself with a release date for the game. Before deciding that though, I did a "link only" upload of the game on Chrome as a test. I figured even if it was "released" 2 weeks earlier, I'd just not advertise it, and finish the other bits of it before I started doing so. With all this in mind, the journey led to some insights that I didn't have before releasing the game on Chrome.

The Bad

1) Not everyone has Chrome installed

Friends and Coworkers who did not already use Chrome would promise to install and end up not following through. Too many steps to getting to the game can severely limit your prospects. Though some did, overall I'd say most did not even bother.

2) There's extra work involved to get the game on Chrome that has nothing to do with the game

This means setting up 3 different sized banners, two different sized icons and creating a manifest. You are also encouraged to do a link to a youtube video as well as screenshots. This wasn't the worst possible thing, but I wasn't ready for it, and you kinda need some of it to get your stuff set up.

Banners (or "Tiles") are 440x280, 920x680 and 1400x560. Icons are 64x64 and 128x128. Screenshots are 1280x800! All these weird and different sizes! At least I know to think about what the main eye draw for the game should be.

3) Selling the game requires an external service

I haven't set this up yet, but I'm going to have to figure it out for my first game that I put up for sale. For now, because of how unclear the Chrome store was about setting things up, I skipped this to give myself more time for research.

4) Protecting yourself with an LLC can get expensive (especially if you hire out for extra services)

Went to Legal Zoom and I will tell you, that if you are like me, and want to reduce the amount of effort you have to put into the legal/business side of things, then the cost goes up from $99 to over $400 with some yearly recurring costs further down the line! Either that or do it yourself and risk messing something up or pay for it.

5) Tutorials are hard

Getting the game to set up a separate tutorial ended up with me rewriting a ton of code. Not only that, but guiding without handholding is very difficult to pull off elegantly. 

The Good

1) Pushing new updates is easy

Actually, Chrome will autoupdate everyone's download, but it does take some time for it to distribute. Take that with a grain of salt, upload a day early and announce two days later for safety (So update Saturday to announce for Monday, though people should notice by Sunday depending when you updated on Saturday)

2) Chrome has a way of making the game look like a "native app"

Though I was unable to set this up on this pass (it requires pointing to a .js file to begin with and pointing to an html file at first will negate your ability to do this.

3) HTML5 can easily have ads added to it (though I haven't done that yet)

If you don't take the native app road, you end up with the game inside a webpage. You can left it left aligned, and depending on the size of the game, you can easily set up some ads around the game by going into the html file and adding in the correct codes.

4) Though exit doesn't work,  you can link to your websites

I replaced the exit button on my game with a link to my twitter. You can link to your shopify webpage, or any other things you want.

5) I can finish a game

This is by far the most important thing I learned. All these things has convinced me to move on to my second game, and doing certain release things "right" (the way I want them done). Thankfully I won't have to pay another $5 for Chrome, and I'll be ready to upload the manifest correctly the first time to get the results I want.

I'll be posting more info on the manifest on the next post, coming soon.