Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Wednesday, December 1, 2010

Which language to learn for web game dev?

There are a number of different options these days when making casual games. Here is my take on the order of usefulness today:
  1. Flash/Flex
  2. HTML5
  3. Java
  4. Unity
  5. Silverlight
  6. etc..
Depending on your goals, any one of the above could be put to use. So why did I put in in that order?

The majority of casual games right now are being developed in Flash. If you look at sites like Games.com, Mochi, Mindjolt, and so on...you'll see that 90% (or more) of the content is Flash. Does this mean that Flash is better than the others? Nope. It just means that it's the most common use-case for developing casual games right now.

The question really is how long that's going to be. HTML5 is hot on Flash's heels, and it's really shaping up to be a powerful ally to casual game developers. I just don't think it's ready to usurp Flash's position just yet. The progress is substantial, though, so give it a year or two and it'll be a formidable contender. Adobe knows this too. They have been working on Flash->HTML5 conversion systems, and I wouldn't be surprised if they created a Flash-like IDE for the HTML5 (focusing primarily on the canvas support). As John Nack put it in his article regarding the conversion tool, "Adobe lives or dies by its ability to help customers solve real problems." This does seem the case and I would argue that Adobe's doing a pretty decent job of it. If they did create a full HTML5-IDE (ala Flash), I'd buy it.

Java is a great language for developing games. It's been around forever and has had a lot of push. I'm not a Java game developer, but I've tinkered lightly in the past and I had to do a few projects in college (non-game) using the language. The power afforded by the Java gives the developer a lot of options. The issue I see is that when Oracle took over the company they seemed to have put games off to the side. This doesn't mean that Java no longer offers gaming as a possibility. Far from it. It just means that the company-backing to grow that area of the language is no longer in the forefront...unless something has changed that I'm unaware of.

Unity is a nifty language with a robust graphics engine. It's powerful, 3D, supports builds on various platforms and distribution channels, etc. I've dabbled only lightly in it and I can say it is a very nifty world. Issue: the documentation is less than awesome. There are a lot of things that you just have to figure out. Now, if you're the tinkering type, this may be cool to you; if you're part of a team that is taking Unity and extending it to fit your particular game, then it's a very smart path to go. But if you're a hobbyist or a developer working on time-constrained projects, the learning curve may just be too great until they get their docs in order.

Silverlight is interesting, but I wonder how far it's going to go. With Microsoft behind it, one would imagine it has decent longevity. I wonder why they'd bother pushing money in its direction when HTML5 seems to be heading swiftly toward front-runner position. Personally, I've not developed in Silverlight, so I can't talk to its particular strengths. Still, as time permits, I will create a least a little something so I can see how it all comes together. I just don't see it as an area to spend too much of my time since Flash already has the lead and since I'm guess that HTML5 will soon take the #1 spot.

There are others out there that are available to learn as well, but I think the ones listed are the primary contenders at the moment. Of course I may have completely spaced on one of the other big players. If so, smack me. I'm not proud. :)

The bottom line is that any of the above languages (and more) have their advantages and disadvantages, but if you're looking to pick one or two to learn at this point, I feel that picking the more relevant one makes the most sense. This isn't a case of me saying (or thinking) that Flash/ActionScript is the best and everything else is crap. I don't believe that at all. Actually, there are parts of AS3 that drive me nuts. The point is that I see little value in spending my time deeply learning Unity and Silverlight for web-game development at this time, unless, again, there is a particular need (or job-opening) that requires that expertise.

Playing devil's advocate: There are a load of Flash and Java devs out there already. Companies that are invested in Silverlight, WildTangent, ActiveX, Unity, Torque, etc. are on the lookout for developers that know those technologies.

It's a catch-22. You either focus your time on being a know-it-all about one or two technologies, or you play the jack-of-all-trades card and just be decent in various technologies. I've always gone the second route. The way I see it is that I'm a developer regardless of the language I use. If I am tasked with developing an application in Java, I'll focus my efforts on learning it for that purpose. Same with Silverlight, etc. So I purposefully do not try to be an expert at any single language. To do so, for me, is limiting. ...but that's really a different discussion.

Wednesday, July 28, 2010

One year anniversary

I can't believe it, but yesterday was the one year anniversary of when I stopped drinking sodas. After downing 4-6 sodas a day (on a slow day) I decide that it was time to stop.

So, I did. And...it sucked, but I ended up dropping lots of weight and my mood evened out. It took thirty days or so before I could stand being in a room with soda and not wanting to imbibe. Even now I long for an ice-cold can of Mt. Dew.

Point is that I stuck with it for a year. I'm glad I did it and I'm not going to go back to sodas, but...but...but damn do I want that Mt. Dew.

Tuesday, July 20, 2010

Moved stuff around

In order to take the writing life more seriously, I've decided to go with the recommendations of a few industry folks I've talked to.

One of the bigger dealios for this is that I had to set up a separate blog specifically for my writing adventure. That blog will have nothing but stuff about writing. This blog will still go on for the other crap that I do, which seems to be dwindling slowly to a crawl. :-)

Anyway, by the time I'm done I'll have three total blogs going:

1 - This one, which is for games, coding, and general nerdery.

2 - The writing blog

3 - The music blog

Yeah, I know that's nutty, but separation of church and state seems to be needed these days.

Sunday, June 27, 2010

My Grandparents

My grandmother passed away this morning. She and my grandfather (Pap-pap, as we called him) were awesome people, and I just wanted to take a few moments to thank them for all the memories.

Grandma was a strong woman who told it like it was; she never pulled any punches. She was funny, kind, caring, somewhat irreverent, and a bit sarcastic. She was awesome.

Pap-pap was always on the go. He was in better shape at 80 than I was at 30. He was funny, mischievous, and always joking around. He kept us on our toes!

I remember growing up and faking a number of illnesses so that I could a) get out of going to school, and b) get to go to my grandparent's for the day. Every time I went there I was treated to the best southern iced tea money could buy (homemade, of course), grilled cheese sandwiches that were simply amazing, and a guaranteed trip to the toy store. Looking back, I know that she and Pap-pap knew that I was faking being sick most of the time, but they didn't say anything. I know they knew when I was really fine, though, because I'd end up doing yard work with pap-pap. This mostly consisted of Pap-pap chasing me around the yard with hedge clippers saying that I looked to need a shave. :)

I also remember how grandma and pap-pap's house was the hub for me and all my friends as I got in my teen years. We would ride our BMX bikes all over the place, but I would always call Grandma and ask if it was okay to stop in for lunch. My friends would ask me constantly, "Are we going to Grandma and Pap-pap's?" They called them that too, which my grandparents seemed to quite enjoy.

Pap-pap would take to looking over the bikes to see if they needed a tune up or not. He did this, of course, with his hedge clippers. At first the fellas would be looking to me with a "what the heck is he doing???" stare of horror, but soon they understood he was just joking around, especially when he would say things like, "Looks like these tires need work. I'll go get my hammer." Grandma would call him an "old fool" (to which he would giggle, as it seemed that if he could get a rise out of her it made his day) and wave all of us in for a round of grilled cheese sandwiches and iced tea. Ah, those were the days.

A lot of people tell me that I should have been a comedian or an actor. I think I get a lot of that from my grandparents. Their interactions were hilarious at times. Grandma would play the role of Dean Martin while Pap-pap played the role of Jerry Lewis. Occasionally, they'd even go as far as Laurel and Hardy. While I have no designs on being a comedian or an actor, I hope my writing reflects the comedic view my grandparents ingrained in me. Most assuredly they will both find themselves as lovable characters in my world as I can think of no better dedication to two people who so highly impacted my life.

Grandma and Pap-pap, thanks for being lighthearted, fun-loving, caring, entertaining, and the best grandparents a kid could ask for. I love you both!

Friday, May 21, 2010

Origins of BlitzCoder

I received a request from one of my long time friends, Malcolm "Chiefy" Brown, to write up a piece regarding a site that I ran a number of years ago. The site was called BlitzCoder and it was all about Blitz Basic development. Chiefy happened to send me a bunch of questions to help get things started. I'm going to go ahead and answer his questions here. If there are more questions from anyone, just post a comment and I'll do my best to answer. This will make it more interactive than just an article. :D

Chiefy's Questions

1 - What sparked you to start the site?

I was looking at the current blitzbasic.com site and was finding very little information on how to code up stuff using Blitz. I basically studied the demo stuff and the commands list and did up a few simple things and then decided to write a full game in one day. I created Rocktoids, which was a cheesy little Asteroids clone. People asked how I did it and I thought I'd write up some tutorials on that. But where to put them? That's when I decided to open up BlitzCoder.

2 - Did you do it on your own?

I did all the development stuff on my own, yes, but I had big support at the time from Paul "Snarty" Snart. He was the biggest cheerleader, giving tons of ideas and support as I plodded through the development cycle.

I never expected it to be more than some tutorials, but then a forum got added and I had to start picking up PERL in order to build things into it. Snarty was managing the community along with me and he was telling everyone to come check it out. We started growing and people started asking for more and more...and more...and more. hehe

3 - How did you get all the parts to work together? e.g. people could LOAD their projects ONTO the site, did you know all the www coding to do that or was it part of some website package?

The only thing on the site that I didn't code was the UBB bulletin board system, but even that I spent countless hours modifying. All of it was PERL with flat files for storage. Looking back, it was simply horrible coding practice. Regardless, I learned a heck of a lot.

4 - The absence of advertising made it a really clean slick place - did you ever consider having advertising?

Not at first, no. I personally hated the whole ads thing, but in the third year I was paying a fair share of my own money to keep the site running because it had gotten quite popular. So then I started looking for ways to make some money on it to at least break even.

That's when I started writing the Blitz book. It was a very rewarding project to work on, but man was it HARD. Anyone who says that it's easy to write a book has never written a book. :)

After it was published it was a double-edged sword. On the one side, it was making enough to help me break even on the site costs; on the other side, it made the site more popular and filled my email with tons of requests and questions about game coding and development, etc. I was slammed.

Fortunately, Charles "Specis" McCrimmon was fully supporting the site at that point…to the point of basically administrating the entire thing. If it hadn't been for him, I'd have lost my mind.

5 - In the early days there must have been just a few members there, how did word spread? How did people know it was out there?

Mostly Snarty was responsible for starting the influx of people. Then I think my tutorials started pulling more and more folks in. Then I went to a couple of BlitzCoder conferences in the UK (and a number throughout the US) and that added even more people. Finally, the environment that was set up was one that fostered help and didn't allow snapping at people simply for asking questions.

The goal was to be helpful, not elitist. I've always felt that just because I'm better at something than someone else doesn't mean I haven't traveled the road that they're currently on. Also, I'm smart enough to know that there are MANY people out there better at that same thing than I am…and it's quite likely that this person I'm helping today it going to end up surpassing my skills in the long run. Plus, frankly, I just can't stand people that act elitist. They're clearly hiding some type of inferiority or they wouldn't be that way. I think this attitude spread from me to the moderators and to the rest of the people on the site.

People weren't afraid to ask questions. They weren't afraid to participate in discussions, even if they were still noobies. It was about coding prowess, it was about enjoying the geekiness of coding in a mostly obscure language.

When it's all said and done the community ultimately made the site as popular as it was...they deserve the credit.

6 - Did you have bandwidth warnings/ data moving up to maximum levels to contend with?

In the end, the site was being slammed with so much usage that the Webhost I was using contacted me and said I had 30 days to remove the site from their servers! LOL. I felt a mix of pride and panic. I didn't have the money to do anything with this so I was going to put up a message that I was taking the site down.

I happened to be talking to George Bray (then of Idigicon) about some book fixes that I needed to make before the next run and I told him that BlitzCoder was in trouble. He talked to Giles Hunter and they offered to take over the running of the site. From there I slowly moved away from Blitz stuff and into other languages, doing another book for Idigicon on Pure Basic.

Well, that's about it I guess. It was a fantastic experience and there are so many fond memories of all the people that I got to meet on that site. Most of the people I know only by their Aliases, which is kind of cool actually.

Monday, April 26, 2010

Shoulder separation - Not recommended

I was playing ice hockey the other night and all was well. There were two minutes remaining in the game. We were winning 6 - 2. Then it happened.

I was heading into the boards to poke a puck around. It was just me and one of the fellows from the other team. Neither of us was going all that fast considering a deficit of 6 - 2 is not easily changed in 2 minutes. Sadly, our feet got tangled and I went shoulder-first in to the wall.

Now I've been checked full force before and everything was dandy, but a little harmless fall at like 5mph and CRUNCH. Yes, I heard an audible crunching sound. Oddly, it didn't hurt at all...for like three whole seconds. For those three seconds I was having thoughts like, "Well, a crunching sound can't be good" and "Maybe it's like when the chiropractor adjusts your spine?". Turns out that the first thought was the correct one. When the three seconds of interested-third-party thoughts concluded, the in-the-moment me returned to find a searingly horrific pain like few others I've felt over the years.

I sat on the bench for the remainder of the game carefully holding my arm in place. It was less than fun. After getting back to the locker room my teammates helped me get everything together, and one of them did a makeshift sling (impressive, actually), and then I called my wife since I was in no condition to drive.

We got to the Emergency Room and waited a while (something I'm sure will get better now that we have universal healthcare coming...) before they did x-rays and such. At first they couldn't find anything wrong. Then they tried a different angle. I believe I heard an "oh...hmmmm...that's not good." I asked what was up and was told the doctor would see me.

The doctor showed up sometime later. She told me I had a fractured clavicle and likely a torn AC joint. I asked what this meant for my hockey playing days. "You'll be out 6-8 months," she said. "Blehgang?!?" I replied, or something akin to that.

The following day I was able to get to a specialist (again, we're still not at that full-on universal healthcare stage here so getting an appointment is still possible). He went over my x-rays, did a few tests on my shoulder and said that the people at the ER jumped the gun a bit. He said that there is no fracture and that both my joints are intact. "You have a grade-one separation," he said. "Am I out 6-8 months, doc?" I asked, hopeful as ever. "No, probably 2-3 weeks."

At first I was elated, then I thought "2-3 weeks???" and said, "Blehgang?!?" again. It just seemed fitting. He explained that I needed to use the arm and that it's basically going to hurt like hell. He's right about that. It does. Fortunately, I have little happy pills to help with the pain. Unfortunately, I don't like taking meds so I'm avoiding them as much as possible.

So now I'm doing stretches and such in order to work myself back to being able to play again in the next 3 weeks.

I'm just glad I'm able to type fully again.

Thursday, April 1, 2010

The Big Move

I decided to move Krylar's Kreations over to the blogging format because I was tired of looking at the static page of my website. My hope is that this way I'll be able to write stuff more often in order to keep the content fresh.

For now, though, I've still got some integration work to do. So...more later!