Well, this is exciting! I found a new Silent Death Online clone on Facebook! It's called "Stellar Dominion Online" (Clever, huh? It managed to keep the same 3 letter acronym.)
They apparently had a "free weekend" a while back, but I was unable to get a "free access key." They sell early access keys on their website (of the same name.) but I wasn't about to do that. I'm a little offput by the lack of updates on the Facebook page, I would have expected to see some captures from their recent testing... so I don't know how well that went or if it even went at all.
I know from personal experience that making online games is hard, and publishing them, especially self publishing... is not for the faint of heart. There are a LOT of details to make work in there! As such, I'm really hoping these guys can get a game going there, and am rooting for them. You go, Chris! Good luck! I'm rooting for you!
The Smoking section
Just my views on online game playing and development. I've been playing online games since 1993 and developing (mostly writing code) since 1996. Before you ask, no. I don't smoke. The name comes from an area in the forums for Kesmai's "Mutiplayer BattleTech: EGA" game back in 1993.
Tuesday, November 22, 2016
Monday, November 21, 2016
I want to make a quick post about the tools I use to develop. I write code for both the client and server, and use similar tools for both.
On the server, I use CentOS Linux. I like Red Hat, and CentOS is the open source distro of their enterprise version. The server runs on an old quad core pentium that I used to use as a Windows machine. This is usually my pattern, when I replace a desktop box, (Assuming it survived...) it becomes the next server. I use SSH and Samba to access the server from my Windows desktop machine. I only use the text interface on Linux, no graphical display, nothing. In fact, I usually have the monitor turned off.
The Windows machine is where I do all the work. I save all files on the Windows machine, do all code editing on the windows machine, and administer the server through SSH terminals on that machine. Having all my source files in one spot makes backups easier (I just dump the entire directory as a .zip archive to an encrypted flash drive on a daily basis.) I keep the flash drive with me on my key chain (hence why it's encrypted.) so as to provide off site protection in case my house burns down or something.
When I compile the server, I run a batch file that copies the server source to the server via Samba and run a BASH script on the server that compiles everything in sequence. There are 4 of these scripts, "cleanall"and "buildall", which clean the .o files and rebuild the server processes respectively, then "start" and "stop" which start and stop the server. The game server is a group of processes, each specialized to do a certain task and connected together through sockets and a messaging protocol. I monitor the processes as they run by tailing the log file they generate as they go along.
As a source file editor, I use PSPad. I really like it. It's fast, has a nice project manager, and it's fast. Did I mention that it's fast? I have all the client and server files in one project.
Given that, as you can imagine... my server code is really low level. Although I use the C++ compiler, I use little C++ itself, favoring straight up C. File and socket access are strictly through the low level C routines like fwrite() and send().
I take the same kind of low level approach in the Windows side as well. I use the base C windows libraries, no "Frameworks" or "Object shells." As a compiler, I use MinGW running in a shell window, very much like the server side. Sure, the makefile is more complicated, but the interface is essentially the same.
So when I turn the computers on in the morning, I first connect Samba by clicking on the share and entering my password, then I start an SSH terminal for administering the server, and an SSH terminal for each log tail I want to run (How many depends on what I plan to do.) I then start up a cmd window for MinGW to run from and start PSPad. By now, my trusty coffee maker has done it's part and I can get a cup of coffee and get to work.
The work flow is straight forward, I edit code... then run the batch file to copy it to the server, stop the server, makeclean, buildall, then start the server. If I'm working on the client, I make it on the WinGW cmd shell and double click the executable in the Windows Explorer window to run it.
Heh. When people come to my house and see me work, they probably think I'm hacking the Pentagon or something. Nope! Just a totally old school guy working on some game code!
On the server, I use CentOS Linux. I like Red Hat, and CentOS is the open source distro of their enterprise version. The server runs on an old quad core pentium that I used to use as a Windows machine. This is usually my pattern, when I replace a desktop box, (Assuming it survived...) it becomes the next server. I use SSH and Samba to access the server from my Windows desktop machine. I only use the text interface on Linux, no graphical display, nothing. In fact, I usually have the monitor turned off.
The Windows machine is where I do all the work. I save all files on the Windows machine, do all code editing on the windows machine, and administer the server through SSH terminals on that machine. Having all my source files in one spot makes backups easier (I just dump the entire directory as a .zip archive to an encrypted flash drive on a daily basis.) I keep the flash drive with me on my key chain (hence why it's encrypted.) so as to provide off site protection in case my house burns down or something.
When I compile the server, I run a batch file that copies the server source to the server via Samba and run a BASH script on the server that compiles everything in sequence. There are 4 of these scripts, "cleanall"and "buildall", which clean the .o files and rebuild the server processes respectively, then "start" and "stop" which start and stop the server. The game server is a group of processes, each specialized to do a certain task and connected together through sockets and a messaging protocol. I monitor the processes as they run by tailing the log file they generate as they go along.
As a source file editor, I use PSPad. I really like it. It's fast, has a nice project manager, and it's fast. Did I mention that it's fast? I have all the client and server files in one project.
Given that, as you can imagine... my server code is really low level. Although I use the C++ compiler, I use little C++ itself, favoring straight up C. File and socket access are strictly through the low level C routines like fwrite() and send().
I take the same kind of low level approach in the Windows side as well. I use the base C windows libraries, no "Frameworks" or "Object shells." As a compiler, I use MinGW running in a shell window, very much like the server side. Sure, the makefile is more complicated, but the interface is essentially the same.
So when I turn the computers on in the morning, I first connect Samba by clicking on the share and entering my password, then I start an SSH terminal for administering the server, and an SSH terminal for each log tail I want to run (How many depends on what I plan to do.) I then start up a cmd window for MinGW to run from and start PSPad. By now, my trusty coffee maker has done it's part and I can get a cup of coffee and get to work.
The work flow is straight forward, I edit code... then run the batch file to copy it to the server, stop the server, makeclean, buildall, then start the server. If I'm working on the client, I make it on the WinGW cmd shell and double click the executable in the Windows Explorer window to run it.
Heh. When people come to my house and see me work, they probably think I'm hacking the Pentagon or something. Nope! Just a totally old school guy working on some game code!
Sunday, November 20, 2016
That was quite a hiatus!
I stopped blogging after only a few entries not because I no longer wanted to blog... but because I lacked direction. You either have something coherent to say... something that carries a theme... or you should shut up.
I've been working on games off and on since then, a project I was working on for a while was "Dominion Pass", a text based client / server game (I specify "client / server" to differentiate it from telnet style muds that don't have dedicated clients.) I have considerable experience writing text game clients (I wrote Windows clients for Darkness Falls and Bladelands when I worked at Mythic Entertainment.) I also wrote a DOS client for AUSI's "Dragon's Gate" while it was on GEnie, but that wasn't widely used, or really got out of a beta state.
The wall I ran into with "Dominion Pass" was I'm not a good writer. There are 4 crucial game development skills, writer, artist, designer, and programmer. Writer and artist are "creative skills", where as designer and programmer are "engineering skills." I'm an engineer, I do engineering skills well. I can do the technical aspects of writing, like spelling and grammar, but bending the written word to produce an emotional response? Not so much. Art? Forget it. I thought I could get away with Dominion Pass because as it's text game, there is little art. But I forgot about the writing. Fantasy RP games are heavy on lore and writing, so it wasn't working.
And then there was the 800 pound gorilla in the room. There is a game I NEED TO MAKE. One I started 18 years ago and never finished. Well, I did "finish" it 17 years ago. But only as a simple spaceship based arena fighter where you fought as one of 4 sides in MOBA style matches. People loved that game, and have tried to redo it to this day. But there is so much more that can be done with that game. The MOBA matches are fun, and will be the initial thrust, but there is an RP game aspect to it that needs to be explored.
So here's how it's going to go down. I'm going to blog about the development of my new game, "Sol One." The game is based in a near future where space travel is available to the common man, and the Earth is controlled by a small group of mega-corporations that will loan you the money to buy your first ship. After that, it's up to you! The pinnacle of human engineering at the time is the "Bemaeshal Drive", which is a star gate under construction outside of the orbit of Pluto. It's designation is "Sol One", being the first star gate in the Sol system. The long term plan is to build star gates in other systems, too. But we have to get there first.
This is going to be quite a ride!
I've been working on games off and on since then, a project I was working on for a while was "Dominion Pass", a text based client / server game (I specify "client / server" to differentiate it from telnet style muds that don't have dedicated clients.) I have considerable experience writing text game clients (I wrote Windows clients for Darkness Falls and Bladelands when I worked at Mythic Entertainment.) I also wrote a DOS client for AUSI's "Dragon's Gate" while it was on GEnie, but that wasn't widely used, or really got out of a beta state.
The wall I ran into with "Dominion Pass" was I'm not a good writer. There are 4 crucial game development skills, writer, artist, designer, and programmer. Writer and artist are "creative skills", where as designer and programmer are "engineering skills." I'm an engineer, I do engineering skills well. I can do the technical aspects of writing, like spelling and grammar, but bending the written word to produce an emotional response? Not so much. Art? Forget it. I thought I could get away with Dominion Pass because as it's text game, there is little art. But I forgot about the writing. Fantasy RP games are heavy on lore and writing, so it wasn't working.
And then there was the 800 pound gorilla in the room. There is a game I NEED TO MAKE. One I started 18 years ago and never finished. Well, I did "finish" it 17 years ago. But only as a simple spaceship based arena fighter where you fought as one of 4 sides in MOBA style matches. People loved that game, and have tried to redo it to this day. But there is so much more that can be done with that game. The MOBA matches are fun, and will be the initial thrust, but there is an RP game aspect to it that needs to be explored.
So here's how it's going to go down. I'm going to blog about the development of my new game, "Sol One." The game is based in a near future where space travel is available to the common man, and the Earth is controlled by a small group of mega-corporations that will loan you the money to buy your first ship. After that, it's up to you! The pinnacle of human engineering at the time is the "Bemaeshal Drive", which is a star gate under construction outside of the orbit of Pluto. It's designation is "Sol One", being the first star gate in the Sol system. The long term plan is to build star gates in other systems, too. But we have to get there first.
This is going to be quite a ride!
Tuesday, May 26, 2015
The problem with raiding is the boss drops.
The biggest problem with
raiding is that people do it to get gear. That's a messed up
motivator designed only to pile bodies onto it.
Imagine if pro sports
players only played to get better uniforms, equipment, etc. No, they
do it for the perceived fame it affords them through honest
competition.
World of Warcraft's LFR?
That's not even raiding. That's “Practice mode” I see no reason
why you should NOT get gear from there. Certainly, doing LFR does not
prepare you for actual raiding like practicing an actual sport would,
but it would familiarize you with the mechanics to a degree, and give
you a chance to get the gear you need to start raiding for a low
cost.
What about the rest of the
gear? The expensive, hard to get gear you currently get from raiding?
Crafting. Using daily cooldowns. And daily per ACCOUNT, not this
absurd per Garrison stuff Blizzard put into World or Warcraft.
You LFR until you have all
the LFR gear, a few weeks tops, then you join a raid team for the
real deal.
You kill bosses... and...
nothing drops. Ever. You're not there for the loot, you're there to
get better at raiding. To get gear, you earn gold through other means
and buy it, or make it yourself. People that are just there for the
loot have no reason whatsoever to show up. People that run raids have
no incentive whatsoever to let your “alt” who “needs gear from
this boss” to step in. Your “alt” that is better suited for
this particular fight, and is geared and ready for it? The raid
leader has every incentive to let you switch. Serious raiders would
have a brace of alts available as you get into the higher tiers.
You would need a lot of
tier levels, 5 at least, in order to accommodate teams at all skill
levels. Me? I would probably be stuck at tier 1 or 2. But that's my
choice because of the amount of effort I'm willing to put into it. It
would be like being limited to AAA Baseball for my entire career.
What do you get from
raiding? Ranking status. You team is ranked against all others in
your tier. Gear is limited to the tier cap to prevent seeding teams
with geared ringers. Once your team has dominated a tier, you can
progress to the next one. You as an individual also have a “Tier
rating” And can only participate in tiers you have progressed
up to. You can drop down a tier, but are then limited to the gear for
that tier.
The same basic principle
could be applied to PvP Battlegrounds. Blizzard just banned hundreds
of thousands of dip shits for botting battlegrounds. Why would people
bot battlegrounds? Because all they have to do is show up and they
get free rewards. You should be in Battlegrounds because you want to
improve your Battleground ranking. Where do you get Battleground
gear? Yup. Crafting again. You have to buy it or make it. Both
methods require you to put in effort outside of the Battleground to
be able to compete in the Battleground.
Just like in real sports.
Monday, May 25, 2015
I fly in Draenor all the time!
Unfortunately, I haven't been ably to blog because of work, and I haven't figured out how to do both at the same time effectively. So, I'm just going to put up a quick note:
I don't comprehend the "No flying in Draenor" attitude.
I can understand the dev's apparent point, that they want to force you to do what they want you to do, but I don't agree with it. I think it's self centered of them to force you lo engage in their content.
But I don't understand the players who claim to be OK with no flying in Draenor once you have explored a zone.
I fly in Draenor ALL THE TIME. I don't think I go anywhere without flying or using a teleport mechanic. I don't see the difference between flying 80% of the way on a Gryphon / Raven / whatever and flying 100% of the way on my own mount.
I also don't see why I need to kill every pissed off beast in Nagrand if all I want to do if gather wood for my Lumberyard. Even if I could fly, I would still have to kill SOME of them, because they guard those precious trees with their lives.
I just don't get it. The only reason that even starts to be valid is the "But then you would easily get to that hard to get to cave to do that quest..." Ok, fine. Put that quest in the list of quests you need to do to unlock flying. Solved.
I would bet money that the majority of players that claim to by fine with no flying in Draenor fly around in Draenor just as much as I do.
I don't comprehend the "No flying in Draenor" attitude.
I can understand the dev's apparent point, that they want to force you to do what they want you to do, but I don't agree with it. I think it's self centered of them to force you lo engage in their content.
But I don't understand the players who claim to be OK with no flying in Draenor once you have explored a zone.
I fly in Draenor ALL THE TIME. I don't think I go anywhere without flying or using a teleport mechanic. I don't see the difference between flying 80% of the way on a Gryphon / Raven / whatever and flying 100% of the way on my own mount.
I also don't see why I need to kill every pissed off beast in Nagrand if all I want to do if gather wood for my Lumberyard. Even if I could fly, I would still have to kill SOME of them, because they guard those precious trees with their lives.
I just don't get it. The only reason that even starts to be valid is the "But then you would easily get to that hard to get to cave to do that quest..." Ok, fine. Put that quest in the list of quests you need to do to unlock flying. Solved.
I would bet money that the majority of players that claim to by fine with no flying in Draenor fly around in Draenor just as much as I do.
Monday, May 11, 2015
My problem with classes
I don't like classes. I
think people should and will specialize their characters without
having to be forced to. And then when a new situation arises that
needs a different specialization, then they should be able to
completely reuse the parts of the character that work, that they have
already developed, towards that new specialization without penalty.
You should not have to
level it up again, etc.
Eve Online is classless,
there is nothing stopping you from training in any skill you want,
and since only one character on your account can be training at a
time (Unless you basically pay for two accounts) there is little
point in training up two characters unless you need two for purposes
of hiding activities from your main's corp or the convenience of
never having to leave the trade hub.
World of Warcraft is not,
you are forced into a skillset at the point of character creation.
The problem arises when you need to do things your "class"
cannot do. And since classes are designed to be unique and special
snowflakes in relation to the other classes, you are then pigeonholed
into those skills.
This arises conditions
where your "casual raid group"... (And I'm going to define
"casual raid group" as a group that does not prioritize
raiding to the point that they create alts specifically to match the
raid content.) does not have the class breakdown needed for the
encounter. If you need "Hunters" for a raid boss, and you
don't have any, you are in trouble.
Classes that are
specifically designed to each be their own special snowflake cannot
to "generic" enough to circumvent the need for specific
roles. Blizzard had a campaign way back when when to "Bring the
player, not the class." when they were trying to "standardize"
classes more. What a waste of effort! They were basically saying
"Yeah, we know classes don't work, but we're compelled to keep
them."
In a classless system,
people can step up and learn those roles as they become needed,
without having to re-do their entire character. There's always room
for more tools in the classless character's toolbox.
The pure “roleplayer”
will say “But I like the fact that my class is different! There is
lore involved.” Great! Build your character with a specific lore
and history! Knock yourself out! You are free to do as you wish in a
classless system.
There are also people that
can't make decisions on their own and need to have their hand held.
That's fine too! Have “templates” for the major defined “classes”
that list out what skills would be important to that classical role
and make them available. A player can just work off that list to
develop skills. The advantage here is that without specific classes,
any classical role... be it the classic rogue, wizard, or a specific
one based on a fictional character can be modeled.
Fans would even step in
with their own versions of their favorite fictional characters.
Thursday, May 7, 2015
Innocent until proven guilty
So, another blogger
accepted a donation in WoW gold. Certainly, that's perfectly innocent
in that no real money, good, or service was exchanged. It was a tip.
His opinion is that doing
that is perfectly within TOS, and that even IF banned , he could
prove his innocence. His belief being that we have rights and are
"Innocent until proven guilty."
That works in a court of
law because the prosecution has special abilities that can be brought
to bear. Money is trading hands? They can get a warrant for your
financial records, etc. Blizzard can't do any of that. Selling WoW
gold for real money isn't a crime of any kind.
Certainly, the TOS clearly
specifies that your rights as a customer are granted by them and can
be revoked by them at any time. Of course they try to be fair about
it and will allow you to appeal. They also have the ability to
investigate only what goes on on their network. They cannot, for
example, get a warrant for your bank or credit card transactions to
find out if you really bought that game time legitimately or what
have you. Their only real tool is to look for patterns of activity
that points to possible out of game connections. There is no “Burden
of proof” on Blizzard as if this were a criminal case. They do not
have to prove you are engaged in RMT, mere suspicion is sufficient.
And accepting donations is
going to look pretty suspicious. Suddenly you have a character that
gets sent gold in the mail for no reason and can now afford to buy
game time and vanity items? Let's assume they buy the whole “Those
were donations!” line. You're still on a list. The first time you
buy an item from another person that is being watched, action will
probably be taken.
The more donations you
accept, the greater the chance of that action being taken. It's just
a bad idea to paint a target on yourself like that.
This leads me to my point.
How draconian should a game company be in their “donation”
policy? On one end of the spectrum, anything goes, and no records are
kept or analysis done. That was the way it was done at first before
anyone even heard of RMT and the world was viewed as innocent and
pure. On the other end of the spectrum, totalitarian control where
every transaction of any kind is analyzed to be sure it's value for
value. Obviously, that would be unacceptable for players, as they
would feel like they're being watched “Rockwell” style.
I think trades should be
value for value with in a range of about 50% to 100%. Some
transactions should be exempt, like transactions within the same
account and transactions within the same guild, assuming guild
hopping is not evidenced. Some transactions have to be investigated,
like if you send your girlfriend's character 50K for a pet as a
“Birthday gift.” The cost of that investigation is part of the
cost of doing business. Some transaction patterns would be highly
suspicious to the point of warranting an immediate ban, like hundreds
of “gift” transactions in a month.
Now, you could come up
with theoretical scenarios for pretty much any of these bannable
events that are perfectly innocent, and that would be unfortunate if
innocent people got banned and had to appeal. But you can't just
throw up your hands and say “Welp! Can't do anything about RMT.”
You have to investigate and be ready to ban.
This is a reason why I
like the concept of the RMT token. If done right, (As I detailed in
an earlier post.) and in conjunction with transaction analysis and
investigation, RMT can be made to be so painful as to be not
profitable.
Subscribe to:
Posts (Atom)