Twitter  Facebook  Google+  YouTube  E-Mail  RSS
The One Man MMO Project
The story of a lone developer's quest to build an online world :: MMO programming, design, and industry commentary
By Robert Basler on 2011-05-05 21:43:45
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

This week I'm working on a tool to generate a navigation mesh for my world. The world is currently made up of about 200,000,000 triangles. For each of those triangles I need to evaluate if they are walkable, and then combine those triangles into larger convex polygons, removing any unneeded vertices so that the navmesh is smaller and more efficient for searching.

The example I have been looking at builds its navmesh by comparing every triangle in the world with every other triangle in the world to see if they are connected. Thats 40,000,000,000,000,000 comparisons. And you end up with tens of millions of triangles in your navmesh. Even on a quad-core hyperthreaded Core i7, I need something a little more efficient.


By Robert Basler on 2011-05-04 14:09:45
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

In a few days I'll have been working on this game for 18 months. Longer if you consider previous projects that are now incorporated into this one.

That's a long time. Longer than any other project I've done. In the past when I reached the year mark, I wanted that software out the door. And it went.

At 18 months, this one isn't ready yet. And that's hard.

Persistence, determination, confidence, they all fail at some point. This takes faith.


By Robert Basler on 2011-04-27 12:26:41
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

A few years ago I built a credit card processing system. It used 2048 bit RSA encryption to encrypt the credit card data on the customer's own computer, then stored the encrypted information on our server until the order could be processed. Then that encrypted data was transferred via floppy to a PC which was never connected to the internet where the decryption key was stored so the order could be processed. That system was pretty secure against outside breaches.

I had to shut it down when the credit card PCI data security standard came out because the cost of security auditing the software plus annual third party security audits for the rest of the company combined with the potential for $500,000+ fines levied by the credit card companies in the event of a security breach made it totally not worth the hassle and financial risk.

So I feel a lot of irony today with Sony saying this about their 77 million PSN accounts:

we believe that an unauthorized person has obtained the following information that you provided: name, address (city, state, zip), country, email address, birthdate, PlayStation Network/Qriocity password and login, and handle/PSN online ID ... profile data, including purchase history and billing address (city, state, zip) ... PlayStation Network/Qriocity password security answers ... your credit card number (excluding security code) and expiration date may have been obtained.

Wow. All that information. Apparently none of it encrypted. Too bad they're big enough that those PCI fines won't really hurt. I expect their security auditor will get hung out to dry.


By Robert Basler on 2011-04-22 16:17:59
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
mmoeaster.jpg
Read more... (1 comments)
By Robert Basler on 2011-04-16 01:39:22
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
This week I built the other major component of my game's user interface: my own HTTP 1.1 server. The server is now built into the client to serve up web pages to my Chrome UI. At some point I might also put it into my servers so remote monitoring tools can check for server status via a simple web page request (a server I worked on previously dumped an XML file of status variables any time a browser did an HTTP GET request to it.)
By Robert Basler on 2011-04-07 10:28:46
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

Something I struggled with for quite a while was trying to figure out how to build a good-looking and functional user interface. I could certainly have built my own, but that would have been a major undertaking, as a lot goes into a user interface. You need a layout engine to manage where everything lands on the screen when you resize the window, you need widgets such as buttons, text areas, password boxes, scroll bars, radio buttons, progress bars, and more, and you need a way to author all that that is easy enough to use that if you change your mind, you can afford to do that.

That's a pretty tall order. And ideally I wanted it to be free.


By Robert Basler on 2011-04-03 19:07:38
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

There was a bit of a scandal recently when it was revealed that Rogers Cable here in Canada was throttling its World of Warcraft users. Rogers quickly came out with a release that this was a mistake, but it turns out the reason they are (still) throttling, is that World of Warcraft uses Bittorrent as the primary means to transfer its multi-gigabyte client patches. And it does it in the background while you are playing - so when Rogers throttles your connection, it kills gameplay at the same time.


By Robert Basler on 2011-03-16 12:02:44
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
This week EA banned a user from their single player games as a result of a forum ban, which got me thinking. Why is it a game company's responsibility to punish someone for bad forum behavior? They bought and paid for those games, they are customers.

Wouldn't it be better to allow each customer to choose who they ban? It seems it should be pretty easy to implement, just put a "ban this guy" button next to each user's name in the forums. Manage a global ban list for each user. Apply that ban list to forum posts, in-game chat, trade and messaging. If someone was on that list, they just don't exist as far as the player is concerned.

Now granted, some people are just troublesome, maybe the company should offer a banning service for their customers with moderators adding certain persistently troublesome players to a special section of all players' ban lists for them (that they could opt out of of course.) Maybe this is the place for the 72 hour ban the Dragon Age 2 guy got?

Now EA claims the game ban was a mistake, however given that their Terms of Service says explicitly that they can do that, I'll let you draw your own conclusions on the veracity of that claim.
Read more... (2 comments)
By Robert Basler on 2011-03-10 20:36:18
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
One of the big pains of using OpenGL on Windows is that the Windows SDK only ships with OpenGL 1.1. There's probably a really good technical (and non-political) reason for this, but the fact remains, if you want to do anything with OpenGL on Windows, you're on your own.

What you need then, is something to bring the Windows SDK up to current standards (OpenGL 4.1 as I write this.) When I was originally trying to solve this problem (around the time of OpenGL 3.0), I came across GLee which is a cool library which makes the full OpenGL spec available easily. I didn't like their license, so I decided to write my own extension loader.

I don't think anyone should ever have to do this again, so I'm making this one public domain, do with it as you will. I'd like to hear if you use it in something, but that's not a requirement.
By Robert Basler on 2011-02-02 10:47:59
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

Sometimes you design something and it seems like it is a good solution, efficient, easy to implement, and then there's the reality.

My system for updating entities across the network was based on a simple idea. Everybody who is interested in a particular area gets updates for all entities within that area. Sounds simple right? But here's the problem. The areas are relatively small, so entities move from area to area pretty quickly.

Each time an entity moves to a new area, it needs to be synchronized with everybody interested in that area, ie the game needs to send the full entity definition to the new guys. There are a couple ways to do that, one is to send everything to everybody, the other is to send full updates only to the new guys. I implemented the latter since it is more bandwidth-efficient, but it turned out to be pretty expensive anyway. Too expensive in fact, but not in the way you'd think.


More Posts

Project Line Counter in Visual Studio 2010 - 2011-06-04 00:01:45 (5 comments)
A Chrome UI - 2011-04-07 10:28:46 (6 comments)
Looking for a Fast Square Root - 2012-03-29 11:19:56 (4 comments)
Enabling NVidia GPUs on Optimus Laptops - 2014-12-03 02:31:40 (3 comments)
Bug Fixing and Little Features - 2016-10-11 02:10:00 (0 comments)
UI Updates - 2016-10-04 01:53:36 (0 comments)
Pick a Fight Friday - 2017-06-06 14:45:53 (0 comments)
Trailer Update - 2017-04-03 00:05:02 (0 comments)
Setback - 2017-05-24 23:14:05 (0 comments)

Recent Comments

Bug Workaround: If you are attempting to get a Nemesis match and it is not matching, try placing your base in an exact horizontal line from your opponent's base (look for the red flag on the base layout map and select a square in the same row.)
Here are some better images showing the Foundation Extension in action.

The Imperial Realm - Miranda - Steep Cliff_Lo.jpg
[Too steep a cliff for a building]


The Imperial Realm - Miranda - Steep Cliff Consumable_Lo.jpg
[Used one of the Foundation Extensions]


The Imperial Realm - Miranda - Steep Cliff Positioned_Lo.jpg
[Tadaa!]
So How's it Going? - 2017-08-04 13:27:26 (1 comments)
Any news on updates ? been a while ?
The 5% Problem - 2017-07-27 18:22:17 (4 comments)
That all sounds like a pretty reasonable summary of the state of RTS multiplayer. Mostly I played co-op multiplayer with friends because in 1v1 I would slaughter them. While you can play 1v1 in Miranda's Nemesis mode if that's what you want to do, ...
The 5% Problem - 2017-07-26 13:35:05 (4 comments)
One of the major reasons there is so little competitive multiplayer in RTS (the scene is almost exclusively made up of starcraft, along with some other extremely tight communities) is that in most cases the competitive MP is designed for 1v1 ...
|<      <<      19      20      21      22      23      24      25      (26)      27      28      >>      >|

  Admin Log In



[The Imperial Realm :: Miranda] [Blog] [Gallery] [About]
Terms Of Use & Privacy Policy