Archive for September, 2009

iPhone MMO in Development

Sunday, September 20th, 2009

Thought that headline might grab ya!

Though.. it’s not *just* iPhone. It’s more accurate to say that it’s a cross-platform MMO, but it FEATURES an iPhone client. Which makes it a front-runner in that arena anyway.  Here is the full post, which I broke on Touch Arcade:

This has been an exciting summer! A new baby for me, born on 9/11/09, and the release of my third solo game (Arcana: Spell Duel) on 9/12/09. I’m quite proud of both :)

It also marks the time when I decide to get a team together to work on a game that we’ve been wanting to make for a long time.  The timing is perfect. I’m between updates for Arcana and CastleGuard2. Working alone is great sometimes, but you really miss having some help when companies like Gameloft are cranking out really nice and well-polished titles.  My art skills are somewhere between non-existent and horrendous after all, and I’ve had a rough time getting by on my own. It’s time to raise that bar, a thousandfold.

It is therefore my pleasure to announce:

New 3D iPhone MMO in Development

A new MMO with the working title ‘Gryphon’ is currently in development. This MMO is being built from the ground up as a cross-platform MMO. This is not the “text and pictures” style game that is prevalent in the App Store now, but a full 3D real time online game: with everything you would expect from (yesterday’s) and today’s Massively Multiplayer Online games, and more.

  • massive areas to explore
  • pvp as well as pvm
  • quests
  • immersive and strategic combat
  • brilliant spells and spell effects
  • skill-based character system
  • full array of stats and leveling to create a unique character
  • online chat and emotes
  • diverse crafting: perfect for casual play or long term play investment
  • property ownership
  • thousands of inventory items
  • build your own section of the world and influence the main story
  • unique gameplay elements [B]not found[/B] anywhere else
  • staged releases, with new features being added with each new release

A key differentiator for Gryphon is that it is being developed from scratch with an iPhone client and casual gameplay in mind.  So, while you can play at home on your Mac or PC, you can also play using your iPhone using 3G or WiFi, your iPod Touch using WiFi, or even your favorite web browser!  There will be additional platforms developed in the future.  This cross-platform design will let you take the game as seriously as you want to, wherever you want to!

The development team is using a rapid prototype and development release cycle which will facilitate an organic growth model in response to user demands and overall story arc vision.  This means frequent releases and content updates focusing on key gameplay features in a manageable way, giving the players something new to look forward to each release.

Who is the team behind Gryphon?

They are a motley band of foolhardy gamers and Indie developers who have created a secret club and handshake to do something which moves quickly and sweepingly into your daily life. Small, but powerful. Like Yoda. If forced to answer the question “What is the game going to be like”, they might say something like this: “Our unofficial Gameplay Influences are games like Asheron’s Call and World of Warcraft, and the art team is heavily influenced by brands such as Lego, Dr Seuss, and the Muppets.. which are trademarked and copyrighted of their respective owners, of course.”

What is the Story of Gryphon?

Rumor has it that the design team has accidentally discovered an interdimensional window to a parallel universe and is focused on recording and making drawings of the things they see going on there, which serve as inspiration for the game. There’s no telling when the window will close, so this is a very busy time indeed!

One thing is clear. This story has never been told, and it’s going to take quite some time and many episodes to do it.

You..the player.. will have a part to play in it

Right now we are about at the point where we’re deciding what will go into the initial release and plotting out the map to get to initial release in early November. The World/Story Team and the Art Team are about formed up, and the Development Team is close behind.

New Baby: Chase David Young

Sunday, September 20th, 2009

I gotta take a sec to post about my son: Chase David Young, born 9/11/09.

He was born at 5:07PM EST. He’s been really quiet and he’s just a little cutie. I’ve been spending tons of time with the family, and my two-yr old daughter too, so that she isn’t so jealous :)

It’s very exciting to have another boy around!

Click-To-Move is Alive!

Sunday, September 6th, 2009

I went to bed late last night with visions of sugarplums dancing in my head. I actually wrote that previous blog post from bed, my wife was asking me “what are you doing?” and I told her I just needed to get my thoughts in order. I had great hopes that click-to-move (I’m gonna use the acronym ‘CTM’ for now on) would be a holy grail. The bottom line is that it would save a tremendous amount of network messages that would normally get sent out many times per second, per user. So at the rate of 10 times per second, if you had 20 other people in the scene with you, you would be receiving 200 network/positional updates per second, and sending out 10 messages yourself.

CTM allows me to broadcast the requested target position of the player, and the code will set basically a navigation target marker. Then at your own leisure, you update the position of the target object until it is where it needs to be.

There is already a navigation pathfinding framework in Shiva which I tried to use. I’ve used it before for CastleGuard2, all the monster AI relied on it. Basically you build a level/map, and then you build a path node grid of navigation points. When you want to use it, you pick a target spot, ask the navigation system to tell you what the nearest navigation point is, and the system finds you the shortest path between those two points, using only the navigation grid. Then you move a navigation object along that path over time, and update your player to be near that navigation object to create a nice smooth transition. It works quite well.

Unfortunately it comes with a couple drawbacks. The first drawback is that you do have to build (manually) a navigation map for your entire level. That takes up memory (albeit probably not much) but could potentially be quite painstaking. I plan on having a free-roaming and possibly large game world, and some of it I wanted to procedurally generate. This means I can’t manually build nav meshes for every level.

One of the other drawbacks is the feel of it.  As a player, I want precise control, as precise as I can get it. When you use a nav pathfnding system to move a player character, he will always face in the direction of the nearest path marker he is journeying to. However, the path might not be in a straight line, even though there might not be any objects between you and your destination. That’s due to the granularity of the navigation mesh. It’s way too expensive to have navigation nodes everywhere, so you pick a granularity number, say 1 unit, and nodes are placed every 1 unit. However you don’t move (or turn) in values of 1 unit, unless you’re making Frogger. So the effect is crooked paths to represent the shortest point between A and B. This is fine for enemies, as they can use it to avoid obstacles and what have you, but bad for players.

So I took a chance and ditched the navigation pathfinding experiment, and rolled my own.  It works in a similar way in that a destination navigation target is set, and a navigation object is used also, which your player object updates itself towards in a smooth manner. The difference is that as soon as you place a new destination, your navigation object orients itself towards that destination object, and then moves FORWARD towards that navigation destination in a smooth manner.  It also will continue to point at the destination. The end result is that you turn and point in the direction you wanted to go to, and you walk towards it. Just like you would in real life. This means no strafing possibly (unless I combined the CTM system with a tiny bit of normal multiplayer movement).

I am quite happy with the result, and it feels *great* so far. A heck of a lot less clunky than the FPS style movement or dual sticks that everyone complains about on the iPhone, and always draws comparisons to the latest greatest dual stick mover.

Time to have some breakfast with the family, and then see what’s next :)

IPhone mmorpg framework

Saturday, September 5th, 2009

I had rapid success with creating drag and drop inventory this week, so I started in on an online multiplayer framework that would work on the iPhone. Arcana showed me that turn-based is quite doable, but I had a hankering to have more realtime play, mmo style. I had a multiplayer prototype pretty early on this year actually but I wasn’t going to use it soon and I didn’t keep it around.
I’ve also learned a bit more about nuances and timing gotchas that happen on the iPhone.

So I created a timer loop which sends out updates 10 times a second. On the other side, the remote client receives the update and interpolated the physics object attached to the player object and creates a smooth update. I tested it first with two players, then after figuring out how to use the interpolation and physics object to smooth things out, I turned sown the update frequency and tested with four players. Two web browsers, an iPod touch 2g, and my iPhone 3gs. It ran pretty smooth all around, but I have a nagging idea that just won’t go away…

If I were to use click-to-move gameplay, where the player clicks a spot on the ground and then moves towards it, I would *dramatically* cut down the net traffic. I’d also be transmitting rotation, but then the iDevices could handle many more players in a scene. I’m going with a crazy low poly count on the player model: 559 right now. It would be a tremendous competitive advantage if I did something no one else is doing and made it high capacity as well.

The real crucible is that the average gamer likes a certain style of player control. So CTM could be a nasty failure. I need a success. Well, as awkward as it may be, it is a magic dust to the game technology so I am going to begin thinking of it as a gameplay feature. Diablo was a CTM game.

So tomorrow I will prototype that concept and see how it pans out. While using traditonal multiplayer networking means I can’t even come close to the MMO moniker, CTM could very well help that to reality. The big prob with iPhone multiplayer is that it’s hard to find pol to play. Lots of games and casual gameplay needs make multiplayer a flash in the pan. I plan on countering that by going cross platform with the client, allowing web, mac, pc, iPhone. This should help ensure that players will be online to give the persistent world the life it needs.