Dungeon Runners is doing the same thing I'm planning to do with this project, releasing data in XML to everyone: http://www.massively.com/2008/01/31/dungeon-runners-releases-characters-in-xml/
I'm already doing this on a smaller scale with Chasing Tortoise. Here's an example how this data can be used: click
Thursday, January 31, 2008
The reason behind the web service
Missed Metaplace's chat... for a good reason at least
Well, I just forgot. I had my head busy pushing my new server code to my VPS.
I've learned a lot doing this project and I'm still learning. So far, the server code was running inside the web service that provides data to the client. It's all good as long as there are some sessions active but when no one's around, it stops. As I understand it, it's normal.
So I moved the server code to a windows service. Using .NET remoting, it's able to receive and deliver the data. Some things are still unclear but it should be more stable that way. Time will tell if I was right or if I missed something.
Moving the code really just took 5 minutes but figuring out how to use .NET remoting was a bit more harder. But when you get it all figured, you realized it's quite easy to do.
Now I'll just have to wait to check if it made it past the night!
Monday, January 28, 2008
First look at Metaplace on January 31
I guess it's pretty safe to say that Metaplace's chat will actually take place in an instance of Metaplace.
The first post hint that it won't be in IRC and there's a note in the last one that suggest to upgrade to the latest version of Flash.
Now I could "beat" them by announcing an in-game chat (on my test server) on January 30 but I doubt the buzz would be the same! :-)
But now that I'm thinking about it, that's tempting... Anyway, I'm excited to take a look at their work and hopefully get some answers about Metabucks and if there's any possibilities I'll be able to use this in my own game.
Tuesday, January 22, 2008
Resource gathering 2.0
After much thought and testing, I don't like the mini-game approach I did. It wasn't much to code so that's no big deal. I guess the best way to get a good idea on the topic was to try it.
It's boring, meaningless and you still doesn't get the feeling that you are actually gathering resources. Let's look at version 2.0.
Mining
Joe need some iron to craft a big Iron Golem. He find a mine and enters it. Yes, he goes underground!
To get iron, he needs to find rocks to mine. Well, he's underground you'll say, he can just dig the wall. I'm not going for a mining simulation so we will stick to "he needs to find rocks to mine".
After walking a bit in the mine, he finally finds a rock. He right-click it and select "Mine" from the context-menu. With no delay, the rock disappear and Joe receives a message telling him "You found iron!".
Joe was lucky. He could have found nothing in this rock. But he knew that there was good probabilities to find iron in this mine. He could have been even luckier and find some gold!
The rock that disappeared will reappear at a random location in the same zone, in a random number of minutes so others can also mine here. Joe don't have the time to wait for it to reappear so he moves on to another rock and so on until he has enough iron.
Woodcutting
Joe wants to build his own house. He will need wood, a lot of wood. He finds some trees, right-click on it and select "Cut wood" from the context-menu. Some wood is immediately put in his inventory.
A group of trees can provide a fixed number of wood units. When all units are taken from a group of trees, the graphic changed and all trees appears as cutted. The trees will come back in a random number of minutes. Joe still need some wood and doesn't want to wait here so he'll have to find more trees.
I don't plan to provide upgrades in mining and woodcutting skills for now. Later, I might revisit this to add more variety but that will be just fine to begin with.
I think that this way, there will be a more valid reason to explore the world to gather resources. Rocks and trees disappearing will also make resources a bit more rare and will also provide a more valid reason to buy resources from another player instead of just getting them right from the source.
Sunday, January 20, 2008
First test passed!
It might not seem like much but now I know for sure the whole concept will work on the web.
After testing this on a local machine for so much time, it's a quite a relief to know that the performance is about the same on the web, on a real server dedicated to it. There's a lot of code optimization to do but for a first test, it's great!
Back to work now!
Thursday, January 17, 2008
Got my VPS!
So last sunday I ordered a VPS with SolarVPS and until today, I had yet to receive any notice that my server was ready.
I used the "Live Sales Chat" they have on their website and in no time, I had my issue fixed and received my server's info in my inbox. Fast service, online chat, great!
I took the Microsoft Managed VenusX plan. For now it should be more than enough for my needs and after having done extensive research, it's a very good price for the level of support they give.
So I'll guess I'm gonna have some fun tonight setting this up!
Friday, January 11, 2008
Mining mini-game
Since crafting will play an important role, it also means that there must be some way to gather resources. My first idea was something like this:
1- Go to a mine
2- Select mine
3- Enter the number of time points to spend on mining
4- Get resources
Of course, there's a really big problem with this system: There's nothing to stop someone to create 10 characters and mine an incredible quantity of resources in less than 5 minutes... I need to add some kind of process that also require time and not just "time points". That way, mining will really become an activity in itself.
No matter how mining is handled, it will always be boring for a lot of people. I have yet to hear someone say "hey, let's go mining, it'll be fun!". You mine because you have to or because you are working toward some goal, not because you enjoy it (well, some might but I'm sure it's a minority).
So no matter what kind of mini-game I make, it will end up boring for a lot of players. Mining is just not for them I guess. But I need a way to somehow limit how resources are gathered.
So here's the mining mini-game (it might change with testing):
A player with the mining skill go to a mine and right-click on it and select "Mine" (or double-click or whatever). The first form won't have the players actually enter the mine (though doing underground zones is not actually a challenge, the current system can handle it).
A 10x10 grid appears with a nice picture of rock as a background (just for immersion). The goal here is to discover in which location the gold or iron is located. So he clicks a first square.
The number 1 is only to help explaining here. The player didn't discover a resource spot but his mining skill tells him he needs to be searching right.
The mining skill allows a player to mine (duh) but also gives him better chances to find the resource location. So if a player has "Mining basic", each time he clicks a square, there's 40% of chance that he receives an hint as to where to search. A player with "Mining advanced" might have 80% of chance to receive an hint (as always, temporary numbers).
So the player clicks another square at the right of the first one.
As you can see, he didn't received an hint on square 2. However, on the 3rd square he clicked, he now knows that he needs to search even lower. So the resource spot is located at the right of the first square clicked and below the 3rd.
The player received an interesting hint at his 4th click. The square is now yellowish, meaning he's getting closer of the resource, and he receives another hint to look even lower.
After 2 more clicks, the player finally found the resource. Notice how the color changed at the 5th click (it doesn't looks like much, I badly chose my color).
On his 6th click, he receives a notice that he found the resource. The resource is put in his inventory and he can start again to mine another spot. Each click while mining cost him 1 time points (or more), simulating the time it took to mine (here it took 6 time points to mine 1 unit).
To protect against bot mining, a limit might be to set on the number of attempt a player has to guess the resource location (like 10). This way, I'd also limit extreme mining by someone that would still create multiple characters and hit every square without "playing" the game. That wouldn't stop someone that really really really wants to use multiple characters but I feel the problem is pretty much taken care of with this.
Will everyone have fun mining? No. Do I think I came up with something interesting while not too complicated? Yes. Each click simulating the player digging in the rock, I even feel this mini-game is somehow not totally unrelated to mining.
Thursday, January 10, 2008
My new favorite game as a non-player
Since there's only 24 hours in a day, I have to make choices where to put my time. Unfortunately, this currently means that I'm out of all interesting MMO out there and the only game I still play is Dicewars for 10 minutes just before going to bed.
I often talked about how Eve Online was fascinating to me but I guess my heart is now set on Pirates of the Burning Sea.
I've been lurking this game since... well, since the website opened. Now that it's ready to go live, there's some neat things over there like this PDF, which is a preview of a game guide. Reading this preview I feel like I was 16, reading over and over the D&D books for hours to build my next character.
Recently, I discovered Joe Ludwig's blog. Wish I knew about it before. Reading about others' experience on releasing games is quite interesting. It can only be good for me, taking some tips here and there.
One of the reason why PotBS is now my favorite game as a non-player, beside interesting mechanics, is how close the devs are to the community. The process of building a MMO being never really finished (since it's always evolving), I believe you really need to be close to your players to know some success.
I've been following this approach with CT and now I can say I wouldn't have been able to get to this result without the help of others. Here's the words of Mr. Ludwig for this post: "Some things don’t change when you go live. Communicating honestly and frequently with your community remains essential ... Of course keeping them involved in your decision making process is just as important in beta as in live".
This is the same reason why I've set my choice on a new VPS hosting provider. I'll go with SolarVPS because I've read only very good things about their customer support. I'll probably pick the managed service just because I really hate to deal with weird Windows issues. I can handle the coding and database but when it comes to network, that's not where I shine.
Even if I'll pay more than I would have with 1and1, I'd rather pay more but have good service than stay cheap and be left in the dark because of poor customer service.
Saturday, January 5, 2008
Latest screenshot and state of development
Here's a look at the current interface (click to zoom). New art credit goes to Lost Garden.
I wish I had more graphic skills (and more graphic patience...) though I'm happy with the result. After trying over and over to get some nice borders, I figured that it was best for my mental health to use pre-made graphics.
There's still work to do on this but for now, it should be enough to really test it all.
So where am I right now? I stabilized a lot of small stuff, mostly related to buildings and the login interface (I was using update panels from .NET and it proved to be more trouble than anything else so I switched it all to straight javascript).
I worked on my administration tools to speed up world building and new items conception. I also added logging in the code. In theory, if I didn't forgot some, all errors should be handled and logged in the database with extensive info allowing me to quickly spot causes of errors.
More recently, I started to work on my test scenarios. Those are little stories that will be given to testers to focus testing on specific systems, telling what should happen when a given system is used. If a tester receive a result different than the story, that's an hint to me that there's either a bug or some scenarios I haven't think about. My goal is to first go through those test scenarios myself at least once before inviting others to test.
While I was away for Christmas, I worked on my "real" game idea. I've talked about the possibility of a "gameless game" before which is still a possibility and could provide me with a testing ground, but my ultimate goal would be to have a goal driven world.
My design had to respect some constraints coming from my abilities, the framework and the time I'm willing to put on it. While I'd like to build one of my dream idea, I'm still set on my objective to release something this year, at the end of spring if possible. It's not my intention to rush things but I must remain realistic.
I'm not yet ready of talking much about the concept I came up with but I can say that it's players driven, PvP and PvE will be linked together. Crafting should play an important part and yes... it's High Fantasy.
My very first idea (before starting to code the framework) was more of a Dark/Low Fantasy (if you know the city of Lankhmar, you might have a clue of what I had in mind) but some factors drove me away from this idea. If the first project goes well enough, I'd really like to revisit this idea, keeping it for when I'll have some experience.
So in the following days I'll do testing, testing and testing though it won't be long before I set up my server. After 6 months of coding, the code only ran on my machine and I don't want to wait to long before testing it on the web since this might require some changes. Maybe next week-end...