Created: Sunday, 09 June 2013 16:49
Last Updated: Sunday, 09 June 2013 16:59
Written by Ingo
Sometimes, I have difficulties entrusting my data to software that I do not understand. With regard to web content, this has led me to inventing the wheel or at least rebooting my sites several times over by now.
I started in about 1999-2000 with creating my own web pages completely by hand, learning how to do so with the help of SelfHTML. I learned soon that it is quite a lot of work to manually handle folder hierarchies and internal links. Of course, there is nothing a little Perl script cannot fix, and as a student I could not afford a proper server, so manual web pages it was.
Website management with Perl
My first hand-written CMS system was using Perl and CGI. I learned how to store content in MySQL (and why it is not a good idea to use the name of a page as its primary key). Then, during my vicariate, I wrote a website management system with Perl and CGI::Application. The main goal was to have a simple system with which non-technical people could add pages to the parish's website. And it offered a user interface in German, which was quite rare those days.
I could have used a PHP CMS / blogging system, but those were the days when every time you opened a IT news page, you would see another report about an expoit in a piece of PHP software. So I decided to keep my server's pages free from PHP (:poop:). And CGI::Application is quite powerful - I have encountered it later in my first IT job and used it to write a medium sized web application for SMS messaging (before starting with Catalyst).
Later, I would use a simple script based approach to generate my personal web pages, because I didn't really need dynamic features then.
But why create your own Web-CMS, when there are hundreds of viable alternatives? And some of them even sported a good security track record, like Plone. Plone is written in Python and is incredibly complex. It comes with its own database and a lot of plugins. So, tired of tinkering with my little CMS, I decided to go for the professional solution and deployed Plone. "I just want it to work" ... which it did. Sort of. My Plone experience was one of an easy setup and then slowly discovering that there is no real learning curve, just a hard wall. Which I hit every time I wanted to change something like user management, permissions, installing plugins etc. You see, Plone has been around for some time and it has embraced the Perl motto of "there is more than one way to do it" - but without a clear path to do so. Of course, it may have been my reluctance to dive deeper into this ecosystem to learn it properly. When an upgrade broke one of my sites completely (without *any* way of getting it to work again), I decided it was time for a change again.
You may use Plone if you have to maintain a large website with many editors and you can afford to have someone on staff whose sole responsibility is to manage your site. As for creating personal blogs, it's complete overkill.
Octopress is quite nice. You can write posts in markdown format (which is as close to pure text as you will probably get) and then have a Ruby script run and generate a static site and deploy it to your web server. It offers syntax highlighting for code, which is useful when adding little code snippets to your blog articles. Of course, even a simple blogging system may break completely if you update it. I could have done a rollback, but I lacked the motivation to do so, as by now I wanted something a little nicer, preferably with the ability to edit my pages from different machines (tablet, smartphone).
Yeah, it's written in PHP. But then, it has been around for some time, the obvious security bugs should be gone and I do not recall reading much about core Joomla security breaches in recent times. And the administrator's GUI sure looks nice and it was easy to setup. And they promise that upgrades will be easy, which is important to me...
So, I have started with handwritten HTML code, wrote my own Web-CMS, used a professional enterprisy piece of software followed by a simple script-based approach and now I am trying to "just get stuff done" with the current version of Joomla instead of falling prey to the NIH-syndrome again and spending weeks to extend the Cinnamon webclient with a web-CMS interface for public pages. We will see how that works out...
Created: Sunday, 09 June 2013 14:11
Last Updated: Sunday, 09 June 2013 14:18
Written by Ingo
Thoughts about money, browser games and virtual goods.
(Intended audience: independent game developers and those who always wanted to have written a game. I have not yet earned money with browser games, so I may be wrong in some aspects here. I have just been reading a lot over the years, played a couple of games and paid for in-game items and have read many forum discussions)
The fastest way to test test your asbestos lined forum flame protection suit is to visit a browser game developers forum and spam for you new mafia game clone which pretends to offer real cool ways of playing but in reality is just a thinly veiled attempt to fleece your players’ pockets with the hundredth copy of a worn out game concept. Game developers seem to hate the get-rich-quick-schemes which rip of other people’s work and contribute almost nothing to the fascinating world of browser game beyond a dilution of player focus.
That said, there are ways to monetize your game which will have proven to work and are not cheesy or detrimental to the fun that your players have.
Do you need the money?
If you are in it for the money, ‘it’ being the wonderful world of game design and implementation, don’t quit your day job. Your chances of creating the next Minecraft is quite low, about on the level of writing a bestselling book or comic. But you never know until you try.
I wanted to create a game for some time now and it seems like I am finally on my way to do so. I do not primarily want to create a game for financial reasons, but for the fun of it. And yet, even a little game costs money - and if I want graphics, I have to pay for them (or draw some stick figures myself). A game with hundreds of items and monsters quickly reaches costs of a couple thousands of € or $ if you employ professional artists. And that is for 2D images, no animation, no 3D models etc. So, to fund the further game development and improve the overall game experience for all those participating, I think it is good for the Little Goblin framework to offer some features for monetization - you can always choose to not use them, of course.
A commercial game
You can create a game that is only available for people who pay up front. In the browser game genre, I have not yet encountered one that matches this description. And with the market moving to pay-for-virtual-goods, I think we will not see many games like that (if at all). To get players to pay in advance requires the promise of an (at least visually) outstandingly good game, and in most cases you only get those with huge investments. If you work hard and are clever and lucky, you may write an Angry Birds game which does not require quite the man power that Diablo 3 takes.
Most browser games focus on free-to-play for the basic version and then try to entice the player to spend more and more money in-game. This model is called Freemium: the base game is free, but there is a premium version.
If you want to sell virtual goods to players, you should create a mechanism to convert money into a virtual currency. The harder it is to mentally convert Euros and Dollars to coins, credits, mega-bucks, “rainbow colored unicorn farts”, the better (for you). If the player knows “1 credit = 1 Euro”, he will start to think about each transaction. “A magic sword +3 for $5? What a rip-off!” - but if a game-coin costs 1,38$ and you get 20% off for buying a larger amount, and then the same sword costs 530 Lolcats (which cost 1,2 game coins each) - people will have difficulties calculating this and just compare the prices inside the range of offered goods. “A hammer for 1000 credits is expensive, but a sword for 800 looks like a good deal”. [See: Dan Ariely for more background]. Also, once the player has converted his $ into virtual gold, he is unlikely to leave as he now is invested into your game…
There are a couple of ways to implement a free to play game with premium features, and though I do not endorse them, they do seem to work and may be what you need to pay for the server’s costs and buy your forum moderators a beer once in a while.
Pay to play less (Free-me-from)
Some games are designed to be addictive and tiring, so players who are hooked on the game will pay to play less. In a gardening game, you can pay 10€ to have a gnome come and water your plants. Or you can click on a hundred plants to water them yourself (Wurzelimperium). After 100’000 clicks most people will do anything (including paying hard cash) to get away from this mindless work and continue with whatever game content there is besides doing the repetitive stuff.
If you implement this feature, you will need some forum clowns to fight the disillusioned players who come to the message boards to complain about the unfairness of it all. Those clowns will insist that there is nothing problematic about making a player’s disposable cash the primary cause of game success. After all, they do not spend cash at all but enjoy clicking a million times.
Pay to win
Those games give you game advantages for money. The game features do not change very much (like in “pay to play less”) - you can simply pay 10-30€ a month and gain a 50-100% income increase in experience points or mining income or combat strength (Ogame clones, Shakes & Fidget). Many players are ok with this if it, because paying will ensure the game stays online. You will have to determine the sweet spot, where the player base does not protest the in-game advantage vs. the amount of money they are willing to pay for a certain benefit.
Note: when parting with cash, players feeling of entitlement rises by a huge factor. You will need good forum moderators to douse your burning message boards if you ever encounter a game server outage and a thousand players descend upon your forum because the service they paid for is not available. You can make or break your reputation in such a situation - most companies will just send some poor sod into the discussion, who will enrage the player base even further with his postings. In contrast you can do better: if something breaks, admit the problem, communicate clearly and treat your players with respect.
Pay for comfort & prestige
Some games can be enjoyed without playing money, but they have some extra features that are useful for advanced players (e.g. Die Stämme). You can add people to the list of game sponsors, offer characters named after them or T-Shirts etc. If you are looking for an inspiration, have a look at the games at kickstarter.com, which offer a lot of stuff for people who support the development of a game (this is about the prestige part). The reference implementation of Little Goblin will probably have a feature to create more than a limited number of game characters. Playing multiple chars in a game where they cannot combine their strength to unbalance game play can be fun (like multiple characters in WoW), but it is not something you need to have, so non-paying players will not whine (at least, not very much).
As a game developer you can use the Little Goblin framework to implement any or all of the Freemium options, or perhaps you have “a cunning plan” to do things a little bit differently. You should stay away from implementing gambling features (games of pure chance were the player can earn real money) because that is a legal mine field in many countries.
The following three aspects are not yet implemented but could serve as a starting point to develop your own monetization strategy.
Pay to create
There will always be people who have good ideas and the means to make them real - for example artists and story tellers. You can offer them a place in your game world if you let them pay for the privilege to create content. The product will of course need quality control and a set of stylistic (and legal) guide lines, but your game can probably become larger and better if people contribute on a professional level.
Note: the open source spirit would suggest that you enable this for free, so people can contribute like they do in the Wikipedia or OSS. How about having both? You can offer players to create their own quests, but if they want them approved the next day, they should pay for someone to check everything is ok. Otherwise, they will probably have to wait some time… You will need good social skills to handle difficult contributors. And you absolutely must have moderation / quality assurance to prevent your game server from becoming a cesspool of the internet’s worst imagination. No one wants to fight a monster with the Goatse man’s image.
- Source of money: Creative people (and those who think they are)
- Money involved: small - mid sized (have your 10-step quest checked and translated into 2 other languages: $50)
Pay for content
Little Goblin makes it possible to create your own content - how about taking ideas from affluent players and turn them into in-game reality for a price? As Little Goblin is open source, you may also able to sell content to others who just want to run a goblin server without working day and night on game balancing or item recipes. Perhaps one can build a QuestExchange of some kind, where game packages can be traded. Note: this is probably not easy, but I think it can be interesting and fun.
- Source of money: People with ideas and money but little time or artistic talent. Also, those who would like to sponsor certain types of content.
- Money involved: mid-sized “Build me a goblin dungeon” is going to take some time.
A combination of freemium (to pay the server owner) and re-usable content (so you can sell your “titan quest” a couple of times) may be possible.
Pay to develop
Even though the reference implementation includes many of the possible features, the game is by no means all-encompassing. There will always be areas or features that would be cool, but no one has gotten around to write the code or improve the web design yet. the current version of Little Goblin does not offer many attributes or races for the player to choose from. It also lacks a map / world with 2D (3D?) areas to explore…
- Source of money: People who want their own game and are interested in using an existing framework to develop something great.
- Money involved: large sums. Software development is expensive.
Another option may be to develop tools for those who want to create / run their own game. Like the saying goes, during the gold rush you want to be the one who sells the shovels and pickaxes.
Currently, a user account has a field for “coins” which can be used for non-transferable credits. The demo game gives 100 coins to a new character and the creation of a order costs 10. You can assign a cost in coins to SkillSets so that only players who have coins are able to learn certain skills. (This may change).
At the moment, the API is under development, as are connectors for payment providers. The goal is to make it possible to create everything from a free-to-play to a pay-for-everything game (good luck with the latter one).
If you have comments / ideas / constructive criticism, please contact me.
Wikipedia: Virtual Economy
[originally posted in 2010]
Created: Sunday, 09 June 2013 14:09
Last Updated: Sunday, 09 June 2013 14:09
Written by Ingo
Planned or possible features regarding interaction between players
A standard feature of browsergames is the guild or faction. It is more fun to play and interact with a known subgroup of people than with 10000 anonymous player. The problem at the moment is: Little Goblin is mainly a single player game. You go out, hunt down monsters, receive rewards and return to improve your character.
But … it does not stop there.
I think it is time for guilds to become more than a loose coalition of people who just happen to know each other or wish to protect themselves from griefers (in many strategic browser games you need a guild so other players do not farm you for your resources with repeated attacks). A guild should provide a bonus to the player (like the gold or experience bonus in Shakes & Fidget). For Little Goblin, the possible bonuses / features could be:
- Tax reduction: Guild may bribe the tax inspector (again and again…) to receive a tax reduction for their members. Of course, this could also happen if their members do solve extremely hard quests…
- Block or unlock special quests. The reputation of the individual members affects the entire guild. Be aware that negative reputation is worse than a low positive rep (having one member who killed the dwarf king is much worse than having ten who have trespassed on a dwarven gold mine [while questing for gold ore])
- Guild loot chamber (put items here for all to use)
- Reduced healing costs: pay some cash to have all guild members receive reduced rates at the Guild of Healers.
It should be possible to send messages to
- other players (who offer services / items)
- guild members (=> message board for guild members or should they provide their own guild web page?)
This requires a send message page as well as an inbox. An inbox => email feature should be possible.
Twittering about the latest achievements may be fun, but I think something like that has a high aggro-factor with non-players.
The game should have a forum. Sadly it will also need administrators who monitor this forum, if outside users are allowed. But a forum is mandatory to show people that a game has a lively community - and it is also a form of advertisement about the quality of Customer Management. A game where the forum is dead and where complaints go unheard does not leave a visitor with a positive impression.
Comparing yourself to others is something that comes automatically to most people. In a game like LittleGoblin, where there is no clear winner because the game goes on for a long time, this is especially important. A statistic about how good your character is compared to others helps you to get a feeling for your status and place in the game world. Achievements
I am not quite sure if I want this games to have achievements or not. Perhaps a later version could have tournaments?
Affiliate Links and advertisement
Players can get a bonus by bringing in other players. This has to be closely monitored to prevent spam.
Banners for forum signatures are another nice feature.
Created: Sunday, 09 June 2013 14:08
Last Updated: Sunday, 09 June 2013 14:08
Written by Ingo
Stuff that could or should be implemented in the game
The goal of this document is to collect central features of the game that I would like to implement. It’s both a collection of ideas as well as a plan…
Quests are one of the central concepts of Little Goblin. Quests come in several types and each quest consist of several steps that need to be completed. A quest has a quest level, and upon completion, the character attains that level. He can only embark on quests that are rated higher than his current quest level. This way, the game ensures that a quest is only available once. And it also opens up interesting choices if two quests have the same questlevel - then the player has to decide which quest he takes and which he ignores. One design goal is to prevent the inflation of meaningless automatic quests. It is not really fun to run 100 quests where each is just the same monster, adjusted for the current level of the player.
- A quest has a start page. On the start page the quest description is shown, along with an option to accept or decline.
- A quest has an end page. At the
- Quests have decision trees. (An encounter type: decision). If the player does not hurl a fireball at the chicken crossing the road, it may lay a golden egg…
- Implemented quest rewards and effects. The golden egg in the previous example can be added to the PC’s items. Reputation is not yet implemented.
- Quests may have prerequisites, like a UserProperty of a specific level. For example, a quest to help the dwarven king will probably not be available to an elf or orc.
Items help the PC to survive and complete the quests. They
- are indivualized ( based on a template, but each item is unique. This enables improvements which can be added to items as well as charges and other enhancements.)
- can be traded / sold (to a bot, or to other players)
- can applied / used once or multiple times (if they have charges)
- can be equipped
are scriptable (or use special classes) to enable effects. This is related to the “can be used” effect, but it goes further than “this item gives +5 to strength” - I would like for items to have a nethack-esque complexity. Or something like it, so you can damage a undead with holy water - and heal a holy creature with it, while a fire elemental would take normal damage.
can be counted. (99 Arrows should not take up 99 slots in the backpack. Especially because the backpack has definitely fewer than 99 slots).
(Those features are not implemented yet).
Monsters appear as part of a quest. The PC has to fight or evade them by some means to get on with the quest.
- Alternatives to fighting:
- bribe a monster
- hide from monster (skill!)
- reputation based mob evasion / aggression [depending on UserProperties]
- Treasure and Items of monsters should be distributed via treasure tables.
Fight / Combat system
A fight is currently round based between one PC and one mob. The idea was to allow several PCs to band together under the leadership of one player.
Current combat modifiers are:
- initiative (determines who strikes first)
Planned modifiers are:
- armor class
- multiple attacks
- attack types (based on creature attributes or item properties, for example: Sword of Flame)
Tech Tree / Skills
PCs should be able to learn skills which help them in combat and during quests.
For the first version of Little Goblin, there will be the following skills:
- Target practice (=> strike)
- Defensive maneuvers (=> parry)
- Strategy and perception (=> initiative)
- Power training (=> damage)
There is at the moment no plan for a tech tree per se. See strategic browsergame project stratbrog for a ideas for a tech tree based game.
When completing quests and defeating monsters, the PC is rewarded with experience points. A PC has an experience factor, which is reduced with each quest he starts each day. This means that you can solve quests for as long as you like on a given day, but you will get diminishing returns quickly. Once the factor turns negative, it will be a question of how urgently do you need this quest vs. how much experience points do you spent. This game mechanic should create a balance between power gamers and casual players.