According to the latest stats from www.riastats.com, Silverlight is NOT installed on 39.97 percent of computers. That means it IS installed on over 60%. Nice.
According to the latest stats from www.riastats.com, Silverlight is NOT installed on 39.97 percent of computers. That means it IS installed on over 60%. Nice.
I’ve been working lately on the main character for krashlander. The game is named after the main character.
Thought I’d throw out some sceenshots and a video to show how things are progressing.
Here is how things look in Expression Blend. I have some custom joint (blue circles) and rigid body controls (orange rectangles) that map to physics entities when the game loads.
Currently everything is rectangles, but I can define custom collision polygons for all the body parts.
Here’s a video of krashlander in action… keep in mind this is all just developer graphics.
That’s all for now… gotta get back to coding!
About 2 months ago I blogged that I was jumping back into XNA to build a game or two for the XBox 360 Indie Games platform.
Things change quick these days. Shortly after I made that post and started digging back into XNA, Microsoft announced details of their new Windows Phone 7 and caused me to stop and re-evaluate my direction.
I’ll spare the details and just sum some things up. I decided I wanted to create a game for the new phone. I went back and forth on whether to use XNA or Silverlight. In the end I chose Silverlight because I like the platform and tools and I love working with vector graphics.
What game am I developing?
I’m also going to try something to keep myself blogging more frequently. I’m going to take a lesson from twitter and force myself to write no blog posts longer than 1000 characters. I’m very close to that now, so time to wrap it up.
In future blogs, I’ll try to go into more detail on the development of Krashlander.
(~975 characters not counting these.)
Let me start by saying Silverlight is an awesome platform for game development.
(Silverlight Games: Diver, Tire Storm, Diver 2)
However, something is missing. . . <pause for dramatic effect>. . .COMMUNITY.
Having developed Silverlight games for the last 2-3 years, I have a pretty good feel for the ecosystem that makes up the Silverlight game development community and currently I can only describe it as a bit scattered.
While there is a Silverlight game development forum on the Silverlight.net site and some good 3rd party websites and blogs (Silverlight Games 101, Mashooo, Cameron Albert’s Site), there really is no single place for a Silverlight game developer to call home.
I am pretty confident the Silverlight game development community will quickly grow to become as large(or larger, if the Flash game dev community is any indication) as the XNA game development community.
For this reason, I hereby request, on behalf of all the future and present Silverlight game developers, an awesome Silverlight game development portal along the lines of what exists for the XNA Creators Club Online community.
In fact, given that Silverlight and XNA are beginning to cozy up to one another and technology like Silver Sprite is working to blur the lines between Silverlight and XNA development, maybe the XNA Creators Club community site could just be expanded a bit to include us Silverlight game developers.
I would love to see the kind of education and resource content that is currently provided for the XNA developers also provided for the Silverlight game developers.
Just like the Windows Phone 7 Series breaks things into hubs of similar content, it makes sense to group all the Microsoft game development resources into their own "Hub". (Just using the WP7 hubs as an analogy here)
With Silverlight adoption on the rise, it's just a matter of time before the big online flash portals begin to acknowledge Silverlight games. Given this and Windows Phone 7’s emphasis on games, I think Silverlight games are close to reaching a tipping point.
Silverlight is a 1st class game development platform and us Silverlight game developers would love a cool place to hang out, share ideas and code, and create awesome games.
Thanks for your time and keep up the good work.
p.s. If you are a Silverlight game developer and you agree with the above. Please help spread the word.
Here is a quick video I made of my Silverlight game, Tire Storm, running on the Windows Phone 7 Series Emulator.
Took me about an hour for the basic port an another 45 minutes or so of tweaking things.
After finishing Diver 2, I decided to step back and think about where I wanted to go next with my game development. I still had a ton of ideas for what I thought would be interesting games, but at the time, from a platform standpoint, I was not sure which direction to go.
Originally, there were really only two options I was considering: Silverlight or Flash.
I've been a Microsoft developer professionally for about 10 years, so Silverlight, Visual Studio, and C# all just fit like a glove. The development environment is a joy to work with.
The biggest downside of developing games with Silverlight is its current lack of any sort of game development ecosystem. No major game portals support it (there are some up and comers however: www.mashooo.com, www.silverarcade.com), few forums exist for Silverlight game development, and only about 50% of the potential players have it already installed on their computer. (This number is growing every day: www.riastats.com)
This all boils down to one very important thing. Right now, It's very difficult to monetize Silverlight games. Counting all my games combined, I currently bring in about 20 to 50 dollars a month. Pays for hosting, but not much else.
I've had my eye on Flash ever since I started using Silverlight. Flash is where I want Silverlight to be. It has a massive game developer ecosystem. All major online game portals: www.Kongregate.com, www.AddictingGames.com, www.ArmorGames.com, www.NewGrounds.com, etc.., specialize in Flash games. There are micro-payment systems that can be used to sell in-game goods, there are API's for just about anything you want to do in a game (high scores, achievements, network play), advertising options are everywhere... It's just busting with game development goodness.
It also has some very nice game engines that are very enticing. One in particular, the Push Button Engine (PBE), with it's component based architecture intrigues me to no end.
So, why not go with Flash? Well, I actually did start down that road, but a couple things, very recently, drew me in a different direction... for now.
When I was just beginning to get more serious about game development the first version of XNA Game Studio was just coming out.
Needless to say, I jumped in with both feet. With the promise of being able to eventually deploy games to the XBox 360 and the fact that I could use Visual Studio and C#, how could I pass it up? At the time, I couldn’t and didn’t.
Shortly after developing and releasing the Farseer Physics Engine for XNA, Silverlight came out and Bill Reiss ported my physics engine over to it. Long story short, Silverlight intrigued me enough to eventually pull my attention away from XNA. I eventually handed the Farseer Physics Engine development and community management off to Ian Qvist (genbox) who has been doing a stellar job with it ever since.
I kind of lost touch with XNA while working on my Silverlight games. However, a few weeks ago I happened across a Gamer Bytes article discussing what some of the top XNA Indie games made in 2009. Lets just say it piqued my interest.
Now I don’t have grand delusions of making it rich developing XBox 360 Indie games, but I have some good game ideas and I think the platform has great potential…. and did I mention I get to use Visual Studio and C#?
So I’ve officially decided to jump back into XNA and develop a game or two to see how thinks shake out.
I’ve already begun work on my first XBox 360 Indie title. I’m starting out simple in order to get a feel for the platform. and developing a fleshed out version of my We Are Bugs game, which was originally an entry for a Silverlight 10k coding contest. I have some good ideas on how to expand the game.
After that, who can say, but I’d love to try and bring something like Krashlander to the platform. Will need to prototype the controls though…
Well, this has been a monster post. I’m looking forward to getting back into the XNA community. Wish me luck!
Diver 2 is now finished and live on the Farseer Games website.
Special thanks to all the beta testers. You were all a great help and the game is better because of your feedback.
I plan to spend most of this week getting the word out about Diver 2. (Marketing! yay! …sarcasm)
Once marketing is done I think I will take some time to experiment with the Push Button Engine. I’d love to get some of my games running in Flash so they can reach more people.
I may also play around a bit with some ideas I have for possible future versions of Diver and/or Krashlander.
That’s it for now.
Enjoy the game and spread the word!
(UPDATE: Kongregate has temporarily stopped excepting Silverlight and Unity games. They are working through some user experience issues with offering these type of games.)
Quick, name an online games portal. Now tell me what platforms they support.
I'm guessing your answer to the second question was Flash. Flash is a behemoth in the online games ecosystem. Today it pretty much IS the online games ecosystem.
Thing is, while Flash has been and still is a great platform for building online games, it's no longer the only show in town.
Still other early adopters are beginning to toy with game development using the still-in-the-works HTML 5 spec.
It's been my contention for a while now that Flash-ONLY online game portals are the present, but not the future of online games.
The online game portals of the future, the next-gen game portals if you prefer, will open themselves up to these other ,non-Flash, platforms and their devoted legions of game developers.
To be clear, I'm not contending that Flash becomes any less relevant in this new open ecosystem, it's just getting some new friends to hang with.
From the Konduit website:
Personally, I've been wanting to get my Silverlight games on Kongregate since the first day I found Kongregate on the web. The morning after I read the Konduit announcement I submitted my game, Tire Storm, to Kongregate using the new IFrame option offered by Kongregate. It took much less than an hour!
The game went into preview mode and went into a queue to be reviewed by Kongregate. A few hours later I received the following email from Jim Greer, CEO of Kongregate:
Hi Jeff -
I published this for you. Congrats, you're the first Silverlight game on Kongregate...
You can see and play Tire Storm on Kongregate here.
For those that don’t feel like jumping over there, here’s a screenshot.
I look forward now to digging into the Konduit platform API and livening up my current and future games with the services the new system offers to us non-Flash game developers.
Finally, on behalf of all us non-Flash developers, A BIG, BIG THANK YOU to the Kong!
Wait, wait, wait… how do you submit a non-Flash game to Kongregate, you ask?
Ok, that’s all… have fun.
Gaston Hillar recently contacted me to let me know about a recent book he’s written that uses the Farseer Physics Engine. (I built the Farseer Physics Engine a few years ago and have since handed it off to Ian Qvist, who has been running it for the past year or so.)
Here’s a link to the book on Amazon: 3D Game Development with Microsoft Silverlight 3: Beginner's Guide
Here is the description from Amazon:
A practical guide to creating real-time responsive online 3D games in Silverlight 3 using C#, XBAP WPF, XAML, Balder, and Farseer Physics Engine
- Develop online interactive 3D games and scenes in Microsoft Silverlight 3 and XBAP WPF
- Integrate Balder 3D engine 1.0, Farseer Physics Engine 2.1, and advanced object-oriented techniques to simplify the game development process
- Enhance development with animated 3D characters, sounds, music, physics, stages, gauges, and backgrounds
- Packed with inspiring, realistic examples offering impressive graphics, strong performance, and a rich interactive experience
Looks interesting and definitely worth a look.
The fine team over at Mashooo has just released the beta version of it’s new reward system.
By playing certain participating games, players can earn “Mdollars” that will eventually earn them various tangible prizes.
Tire Storm is currently one of the games you can play to earn these “Mdollars”. Each day, the top score in Tire Storm will receive 4 Mdollars.
Mashooo also runs periodic contests that can earn you even more “Mdollars”. See the “Last man standing” challenge in the screenshot below.
Very cool stuff. I really like where Mashooo is going with their site. Why don’t you head on over an earn some “M-ching”.
I recently started building out the 30 dives that will make up Diver 2. Things will hopefully move pretty quick now that level building is all that needs to be done. Keep in mind though “quick” is a relative term when everything needs to be done in my spare time. I hope to be able to average a level per day or so.
So far I have 2 levels complete… well almost complete. I still need to create some new background images. I’m tired of the existing three backgrounds from Diver 1
The 2 levels I have completed aren’t really anything too new. Just some simple straight in dives to warm players up. The next level I’m going to build will introduce the new “spinner” obstacle. It’ll knock you around pretty good if you have the fortune of hitting one.
Anyway, here are some screenshots of the first 2 levels.
Now, back to work…
Just a quick posting of where things are with Diver 2.
I had to add one more thing to my list that I forgot to add originally. I needed to build the web page to host the game and decided to clean up the rest of the site a bit as well. I’m working on that now and I’m close to done.
After that, it’s nothing but the fun stuff… making levels!
Here is the updated progress list. The crossed out items are things I decided to cut in the interest of time.
Thanks to James and Silverlight Girl over at www.Mashooo.com, my Silverlight game, Tire Storm, has a high score system again.
Let me know what you think or if you run into any bugs with it.
First things first, I’ve decided to ditch the name “Diver 31-60” for the next version of Diver. I’m just going to call it . . . . wait for it… “Diver 2”. It’s just the logical thing to do.
This week’s development on Diver 2 has gone well.
The biggest item completed was getting the code re-factored to a point where I could create all the new Diver levels using Expression Blend. I can now set diver’s start position, draw out landscapes and collision polygons, place and configure diving boards, and place and configure the buoys all within Expression Blend. I use to have to muck with the code to get everything going.
None of this is anything fancy, but it’s very functional and should make level building much easier.
I’m a big fan of pictures, so here are some screen shots of a prototype/test dive.
The first screenshot is what the dive looks like inside of Blend. The red depicts the collision geometry, the green circle is the start position for diver, the blue rectangle controls where the buoys are placed, and the red sticking out of the cliff that looks like a diving board is, ta-da, where the diving board is placed.
In Expression Blend (editing)
This second screenshot is the in-game view of the same level.
If you are tracking my development progress, here is the updated task list. As mentioned last time, this list is broken into three categories: Things I still need to do, things I’m currently working on, and things completed.
For those interested in tracking development of the next version of Diver, which I’m calling Diver 31-60, I thought I’d go ahead and post my somewhat informal list of things to do.
I put the tasks into categories based on where they are in the development process. Each task falls into either “To Do”, “Working On It”, or “Completed”. You can think of this as a poor man’s scrum board.
Enough talk, here is the list. I’ll re-post this periodically as development progresses. (Note: these tasks are in no particular order.)
One thing you may or may not have noticed was mention of something I’m calling a “spinner”, for lack of a better term. My original goal with Diver 31-60 was to simply make more levels and make near zero game-play changes. Shortly after I started designing the first non-diving board level, however, I decided I needed a way to add a little more variety. Something to mix things up a bit.
I thought about it for a while and decided to create a new diving obstacle. I call it the spinner.
So what is a spinner? Well you probably don’t have to thing very long to figure it out from it’s name, but just in case you can’t. Here is a visual clue. This is a screen shot of a spinner prototype, not an actual level. I’ll show more in future blog posts.
Here is the screenshot:
Prototype of a “Spinner”