So, as some (or perhaps none) may have noticed, I haven't updated in days. Turns out I don't have the motivation to write while I'm sick. But, I'm better now, and I'm back. Today, instead of beginning on Puzzle Pirates, I'm going to make my first post about the game I've been developing, because frankly, it's more fun to write.
(Click for full size.)
Here you see the title screen of Online Game, which is the working title of my project. I thought it would be rather humorous to hear people say they play 'Online Game' so i decided to use it until I came up with something better. This screen took about a day total to code. Since this is my first major project in Java, finding a suitable network connections package and graphics package took a while. Then I had to lay the framework for the various interactables on screen, coding and debugging the StaticImage, TypeableTextbox and Button objects took about two hours total.
[Note: Here begins technical mumbojumbo. If you don't care, I recommend skipping the next paragraph.]
Also behind the scenes, my two server programs run flawlessly, and the client (the program players use, as seen above) can connect properly and send and receive information. Currently, I'm using two server programs, one for handling incoming connections, the Login Server, and one for handling player interactions as well as controlling the NPCs, the World Server. I already know of a few problems with this setup that I will have to tackle eventually. One problem is that the Login Server can only accept one incoming connection at a time, so if two players attempt to log in at the same time, one will be told that the server is busy. For the time being, this is not an issue, as both servers are running on my modest PC, rather than a true server machine. I can probably only support ~30 players, maybe less, so I don't think simultaneous logins will be an issue in the near future.
It may not seem like I have much done, but really, nearly all of the grunt work has been finished, and next time the coding bug bites me, I can start programming actual game content. That, plus my small mountain of design notes means that from here on actual progress should be rather rapid. It's an exiting time to be involved with my project.
Speaking of content, next on the slate (besides some housekeeping immediately after login that I need to code) is PvP. Why PvP? Because it's easy. No, I'm not claiming balancing PvP is easy, but rather that one of the first things I'm going to do is get player controls working. You know, moving around the map, not wlking through walls, swinging your weapon, etc. Then I'll want to get combat working. So, I can either make a working NPC monster and write a rudimentary AI for it, or I can use what I already have and just do PvP. So that's what I'm doing. Next status update will probably be some crappily drawn stick figures walking across a grid, and then the week after that it'll probably bee the same stick figures beating the crap out of eachother with wireframe swords.
Now for something a bit more interesting, my design ideas! Contrary to what the above paragraph may suggest, I'm not a huge fan of PvP in an MMO. I do believe it has a place, but that place is not the core, but rather a supporting role, kind of like trade skills. (Speaking of which, You All Just Got Pwnd has a great video on the subject.) So what am I building my game around? Well, from my previous articles, you know that I hate grinds, and think the endgame is important. Now here's something you may not know. I'm a semi-hardcore raider in WoW (or at least, I was.)
I'm building my game around challenging PvE. Difficult 5-man dungeons will be the requirement for my game's equivalent of a level up, with an extra difficult Master Boss as an option for challenge seeking players that will yield loot appropriate for fighting the next Master Boss. Since I'm opposed to grinds in any form, all boss loot will be on a 100% drop, except for items with random stats, in which case you'll only get one of the possible types. Ideally I'll have every boss drop 1-2 Bind-on-Pickup items for every build that I recognise, and a few with some odd stats for players with more original builds than whatever I imagine. I also plan to have the engine examine group composition at the time of a kill, so that in case of duplicate class/build combos in a group the server can drop some extra items of those types and they will not need to split their build's loot.
Raiding is likely going to be something mostly reserved for noninstanced locations in my game, since I probably won't have enough playtesters or server capacity to properly test a raid during development. Such are the woes of being an indy dev, I guess. That said, I do plan to have a raid dungeon as a hard mode alternative when players reach levels 5 or 10 for their class change dungeon.
So where does this leave solo players and/or people without enough time to form a group? Well, I do intend to have 3-7 solo dungeons for every 5man dungeon I create. A solo dungeon won't allow someone to level up, so a player that never groups will be stuck at level 1, but they will instead grant new class abilities. So if a player is having excessive trouble with the regular levelup boss, the party can disband for a while and meet back up after some solo dungeoneering with a new bag of tricks to try out. Since solo dungeons are meant to be the refuge of players that are having trouble completing the levelup dungeons, the majority of them are likely to be easier than the 5mans. However, I'll be sure to have at least one each of a challenging and a seriously difficult solo dungeon at some point.
As far as class skills go, I intend for most skills to be relevant all the way to max level. The way I have designed the current abilities, almost all of them are speciallized for specific uses, and mechanically they tend to use %modifiers and 'absolute' debuffs that are not going to be dwarfed by weapon damage as players gain better gear. (By 'absolute' debuffs, I mean full effects like immobility, blindness, etc.; these effects don't have any linear or even geometric components, they simply change an entire mechanic.) I'll need to edit the magic abilities a bit, since currently most of them have a listed damage and magic gear tends to mod them by a %. I could just keep damage more-or-less constant across current and future spells, but that restricts my design too much, and will complicate balancing magic equipment versus physical combat equipment.
So, that's that. Hopefully I'll get a post up within 1-2 days this time, and it'll be back on my usual topic.
For now, I'd like feedback on your thoughts regarding my design choices. Leave a comment and let me know what you like or hate in the above, and what you think may be impossible to pull off.
Also, I have a bit of a poll I'd like to conduct. I've been considering potential revenue structures for my game, and the two I'm looking at are either subscription-based for all content past some level, and/or microtransaction for cosmetic/convenience items. Which do you prefer in a game and why? One of my specific concerns is whether or not people feel that microtransaction cheapens a game. I'd be thankful if people could comment on the topic.
I'll probably take both of these questions to the forums as well, but I wanted to ask here since people who have read the article will be more informed of the specific circumstances.