Friday, February 24, 2012

The light at the end of the tunnel

Dsc01594

In the picture above, Othello looking at the new arrival, our dog Skipper.

I'm starting to see the light at the end of the Loren Amazon Princess tunnel :) If you follow me you know that last week I made public a sort of sneak peek, to see what people think. So far the response was very positive. People like the art, the story/writing, and beside a few bugs (all my fault though!) even the gameplay.

After the public preview, I made a big spreadsheet document with all the bugs and suggestions. I spent the following 2 days fixing them and evaluating the suggestions, and today finally I started to get back into the "content creation" phase.

Yes, because even if the plot is done until chapter4, as I play the game I'm adding the fights, creating new enemies, and also adding some extra movement steps on the map to make the game seem less linear (even if in reality it is, but nobody complained so far!).

The goal is to have the plot fully scripted by mid-March, and Aleema (my writer) said it would be possible, and I self-imposed myself the deadline of end of March for the almost-final release. It won't be easy, but I'll try to make it!

The next appointment with Loren is 1st March when I'll start pre-orders and release a new improved demo.

And the other games...?

I know that not everyone who follows me is a RPG fan, and they might be wondering what happened to the various games I have announced!

Well, to be honest I underestimated the amount of work that was needed to make a huge game like Loren. So while I am still waiting for the artwork and the writing for most other games, I was so busy that wasn't able to use my traditional "motivational techniques" to encourage my collaborators. In other words, the famous "spanking lazy collaborators"! :D

So the progress speed for my other games has been slower than usual, but until I finish Loren I don't think will have time to follow/encourage them.

Also, this week I decided to move the main Winterwolves site into a cloud server, so this added some extra delays (those kind of things are always problematic!). But better do that before Loren is released, just in case somehow it becomes a popular game!

Anyway, just to reassure that the other projects are still going forward, here's a sneak peek of Heileen 3 male romances:

Heileenmaleromances
From top-left to bottom-right: Heileen with Sebastian on the shore at night, Heileen with Jonathan in an artist atelier, Heileen with Morgan on the ship bridge, and Heileen and John... in bed! :)

Heileen 3 is still missing some art, and the whole Marie subplot, but I'd say that is 80% complete (of course, I still need to put everything together and test it).

And below is Jeff, one of the four pursuable characters of the mystery/otome game "Nicole":

Jeff
I am at good point in this game too, story and art is about halfway finished, even if being a sort of mystery/detective game I'll have to review everything to make sure that there aren't spoilers early in the game or plot holes.

That's it for this week, see you next Friday!

Friday, February 17, 2012

The end is near!

No, I'm not talking about the Mayan prophecy :) Sadly, I'm not even talking about the Loren RPG, since I think will still take a few months before is finished.

I'm talking about two scary news I've read this week. They regard the upcoming MacOS Mountain Lion and Windows 8. As you might know, they both will come with a built-in appstore. But the scary news is that both will DISABLE BY DEFAULT "non signed" apps.

What does it means? It means that if you install the new MacOS and download one of my current games, you won't be able to play it. Of course, at least in those first new OS versions, there will be a work around. For Windows, you'll have to switch back to the "desktop mode", while for MacOS you'll have to enable the app by right clicking on it.

So, it's not as scary as it seems right? No, it is. First, because it's a first step towards a "walled garden", which will probably lead to the impossibility to run non-certified apps at all in future versions. Second, not all users are tech-savy, so for them running the app might become too much of a trouble, which means that my niche will become even smaller. Others might even not trust installing non-certified apps anymore, despite they are completely safe.

But it's not over yet, now comes the good part: from what I gathered reading those articles, even if I pay the annual fees to get my games certified (so they can run without any trick), Apple can still disable/ban any app remotely. Let's say I make another RPG game like Loren, which has some VERY HOT romance scenes at the end. Some users don't like that and complain. Apple might disable the game permanently! (not saying that they will for sure, but the possibility is there)

Of course, all of this is just a conjecture for now, and the danger is not imminent. I believe will take at least 4-5 more years before all of this will be very common. But still, the future is NOT promising at all.

Considering I sell mostly directly, I have really few options, and the most rational seems to abandon the downloads to move into webgames using HTML5 or Unity web plugin. I have to say that personally I DON'T like this, but is a kind of a forced choice. I don't want to make more games, knowing that in a not distant future they might become obsolete, forgotten. I'd like people to be able to play my games for years and years to come in an easy way, and right now using downloads it seems a very risky path.

Loren The Amazon Princess beta demo this weekend!

Anyway, for now I'll concentrate on finishing Loren RPG, since I definitely cannot port the game to another language now! Expect a demo tomorrow or Sunday. Will post the news on my twitter, on Facebook and will also send the newsletter.

How long will be the demo? Well, I am not sure if today will manage to finish chapter1 or not, but will try. In any case, considering you can take two paths early in the game (side with humans or elves) I believe that should be at least a few hours of entertainment.

As for the pre-orders I am not sure if I'll start them with the demo or wait a bit more. Is something that I will decide in the next days based on how much work I can put on the game before the demo is live.

Friday, February 10, 2012

Frozen development!

Img_1517
In the image above, the view from my office window!!!

The title is a joke but explains well my current situation. I'm working on several games, mainly Loren RPG, and every 2-3 hours I go outside with temperatures ranging from -4°C to 10°C (even during the day) to shovel an incredible amount of snow!

It has been snowing since the first days of February, and this situation HAS slowed down considerably my development, since beside the time spent shoveling, when I get back to work I'm exhausted :D

Anyway, I got almost all the items artwork for Loren, and hopefully by next weekend I'll have it all. Code-wise we added some more features, like the possibility to randomize a bit each vendor. So the items on sale will change through the course of the story, based on your progresses and the current equipment you have.

Also, each vendor has a specific "lore": the human town of Grimoire is specialized in heavy blade and armors, while in the capitol of the Elves, Grandtree, you can find many excellent bows and magic items.

Not only RPGs!

But progresses are being made also in other games, in particular Heileen 3 and Amber's Magic Shop. For Heileen 3, I got a bunch of sketches for all the ending images, and I can assure you that some are VERY interesting...! The writing is also at a good stage, the writer reached the 60th scene, so more than half is finished!

Now admire an image of Morgan in a more casual outfit. What do you think, girls? ;)

Morgansexy

I must also say that even if the writer isn't a native English speaker (so had to ask a friend to proofread the script) her writing is really very funny, and perfect for Heileen 3 mood. I laughed lots of times reading some of the scenes she wrote, in particular those with Juliet and John :)

For Amber instead I got already the lineart of many of the characters. As I said, I was lucky to be able to hire Loren's artist again, and the results are great. They're still uncolored, so for now will just post an image of Vin, the witch and adoptive mother of Amber:

Vin
I really like her "floreal dress" :) but even the other characters are all quite cute. Once I have the finished colored images will post more previews!

Friday, February 3, 2012

Vendors, quests and random encounters

Foto_029
Even my cat Gilda is waiting impatiently Loren RPG release! ;)

It has been a long week. I spent it testing, adding lots of small details, and so on. This process is was is commonly known as "polishing". I am trying really to make the game the best I can, but of course I also want to release it soon!

As the post title says, the three main things missing were vendors, quests and random encounters. So far I have implemented only the quests (more below) but the vendor is at good point too, while for the random encounters very likely will need to implement the map first.

Tooltip
In the image above, I added a tooltip with a detailed explanation of all the 3 base attributes, to help the player decide better how to spend the attribute points. The basics are quite clear though: Warrior need Strength, Thieves need Skills and Mages need Will :)

Newquest

Another thing I recently added are the quest. The code was already done, but I added a simple but efficient screen to inform the players when they got a new quest, like in the image above.

Quests are useful especially in the beginning to "boost" the experience of players, since the battles without many skills lose a lot of their charm. So I wanted the player to level up quickly at least in the beginning, so they can learn new skills. The level-up speed is something I need to tweak and will take some time as well.

Doraquest
I did also many minor changes to the party information screen. I enlarged the number of party portraits displayed at once, so you have to use less the up/down arrow to scroll between the various party members. I am also planning a short tutorial for each screen, including this one. The battle tutorial is already implemented instead, but will need some feedback (I think might be too long).

What about the other games?

Fear not! Heileen 3 is going forward very well, the total plot is already 81,000 words and there are still Marie and Lora's romance arc missing, so will definitely be a long game.

I also should get new art and texts for the various other projects (including some that I'm keeping secret), but as you know until Loren's Beta is finished, I'll be working almost exclusively on that!

One thing I can announce though, and is that I had the chance to hire again Loren's artist by pure luck for a limited amount of time, and I had him work on Amber's Magic Shop art. So finally I'll be able to get the art for that game! :)

Friday, January 27, 2012

Grinding or not grinding, that's the question!

Dsc00973

In the photo above, Gilda and Leon sleeping "head to head" :)

I was hoping to announce the start of the beta pre-order for my fantasy RPG "Loren The Amazon Princess" but alas, I am going to delay it by a few weeks. I'm hoping by mid of February to have the full chapter 1 finished.

Below some screens of the vendor (WIP) and the battle with a 99% final layout:

What's left ?

You might ask what exactly is missing? The biggest part of the game is done, but there are a lots of small things missing. To be clear I could release the beta at the end of this month, but it would miss a several interesting features like:

  • working vendor - the vendor code is still half-done, and even if the coder probably could finish it in 3 days, it would be greatly untested. Also I would need to define the vendors inventory, check what kind of items they might have available, and so on!
  • side quests - I'm thinking what to have as side quests. In the game, there are already side-quests but they appear later in the game, in particular in the expansion when you can choose if to recruit Sauzer, Mesphit and Chambara. I want to add a few more, nothing complex since the game is already VERY long, but still...
  • map system - it will be a simple map system like Planet Stronghold (nothing complex) but still I am missing the art and good part of implementation (like random encounters, and so on)
  • battle effects - there are SOME battle effects done (nothing fancy!) but when you have 80+ skills to do, it starts to be a LOONG task. I don't want to spend much time on this, because it doesn't make sense to make lots of efforts for a 1-2 second animation, but still I don't want it to look like a total crap :D

So as you can see, nothing really ESSENTIAL to the game, but I don't want to rush out the beta, and have people test an already outdated version, since I will add most of the things above.

What about the grinding?

The term grinding, as defined by Wikipedia:

"Grinding is a term used in video gaming to describe the process of engaging in repetitive and/or boring tasks not pertaining to the story line of the game. The most common usage is in the context of MMORPGs in which it is often necessary for a character to repeatedly kill AI-controlled monsters, using basically the same strategy over again to advance their character level to be able to access newer content."

As you might know, I make heavy story-based games. However, Loren is the first game that has a very solid RPG gameplay. It's much deeper, detailed and also complex than Planet Stronghold. And you can reach up to level 30 (I decided to lower the level cap from level 60 !).

I know that some people hate grinding, while other consider it an essential part of RPGs. Of course, not an excessive grinding, but if the battle is well done, it's cool to kill monsters to gain more experience and unlock new skills.

In my case though, it also helps the game. As much as I can test it, and even if I offer different difficulty levels, I cannot know every single player skills. So even if I give out more experience points at Easy difficulty level, I cannot know if it will be enough for everyone to win the battle with Jul in chapter 4 of the game (it will be a hard battle!).

A solution is to leave some zones of the map with "wandering monsters", so that if the player is stuck in a battle and cannot seem to win it, he can visit those places and fight some grinding battles to gain more experience and level up. As consequence, he can retry the previous battle but with a strongest party, increasing the chances of winning.

I think done this way, grinding is not a bad thing anymore, but is a sort of "approved cheat mode". You can win most battles at your selected difficulty level? Good. You can't? Try playing in a easier mode. You still cannot win that specific battle? Try grinding a bit, and then come back with a strongest party and kick the enemy's ass!

The other games

I know recently I'm completely absorbed into Loren and haven't updated much the other games progresses. This is because Loren is a very long and complex game to make, and I want to finish it soon. However don't worry, since after it's finished I'll release some new dating/life sim, including Heileen 3 (probably this summer).

Here's a picture of Marie with the "new look". I find her very cute:

Newmarie
And she is a romance option ;)

Friday, January 20, 2012

Old school vs modern RPGs

Dsc01420
In the image above, my cat Orfeo (italian for Orpheus) on the bed.

Today I want to talk about some differences between "old school" and "modern" RPGs, since I'm working right now on Loren Amazon Princess that is what I would define a "old school" RPG for some aspect, while "modern" for others.

Below a gallery with some preview images, showing several aspects of the game:

One of the main differences between oldschool and modern RPGs is the turn-based / real-time mechanics. Most modern RPG use real-time. Unfortunately, I was kind of forced to use turn-based because making a real-time game needs lots more animation/art, and in general is harder to make.

I still have a battle movement order though, which is dynamic. If you see the column on the right, shows the movement order, and as you hover the mouse on the possible actions, it gives you a "preview" of how your decision will change the order. So beside the power/effects of a skill, you'll also have to ponder the delay that the same skill gives. Sometimes for example, is better to use a skill that does less damage but lets you kill two goblin thieves already injured, than "waste" a skill that does more damage but pushes you back on the movement order list.

Another difference is auto-mapping. In my game I don't have dungeons with map, so there will be just a main map of the world, with easily accessible places. But I remember some oldschool RPGs that didn't have an automap, and you had to write down on paper the map of the dungeon. Seems crazy thinking about this now !

The user interface is also something that was greatly improved over old RPGs. Last year I bought Temple Of Elemental Evil, and was shocked by the clumsy interface: no mouse over, so simple button to change view/move object between players, and so on. Most modern RPGs use a "shared inventory", that means all player have immediate access to all item owned by the party. If someone has an item equipped you usually need to unequip it to put in the pool, but before every item (even unequipped ones) was carried by a specific player, so the user had to do a much bigger amount of clicking.

The vendor / items comparison wasn't automatic like now. In most new games, you have a way to immediately see if an item you just looted is more or less powerful than the one you're carrying. Before instead you had to look at all the statistics and decide for yourself! It was crazy, right? :)

Also, with a RPG featuring only one character is quite easy, but if you have a party things starts to get complex: what if there are two warriors in the party? you need to tell the player if the new longsword you just found is better or worse than the weapons equipped by both warriors. This is the problem we're facing right now with the loot and the vendor in Loren Amazon Princess game!

The difficulty level is also something that changed radically over time. Most old RPGs were very hard, while modern ones offers at least several different difficulty levels, so people that just want to have easy combat and progress in the story, will be able too. In Loren there are three different difficulty levels, and they have a big impact on gameplay rules. At easy level, enemies are easy and the elemental resistances have a marginal impact on battle. At hard level, enemies are tougher and the elemental resistances have a key role: hitting an enemy vulnerable to fire with a fire-based skill will have a much bigger impact.

Lastly, the level progression was completely different. Even if I have to say that JRPG were always different from western RPGs, but in general leveling up after the first early levels was a big achievement. In AD&D games, already getting from level 5 to level 6 could take a LOONG time! Recently, beside the already mentioned JRPG, even in modern MMORPG like Everquest or WoW, you're going to see the levelup screen much more often.

In Loren, I have decided to use this system: each character has a main class (Warrior, Thief or Mage) and a specialization (unique) class. Each class has 5 different skills, and each one has 3 levels of power. So as you see, each character has 30 different skills that can learn. So I have decided (though this might change during testing of course!) to have a level cap of 60, and give a skill point every 2 levels. This way, at level 20 you could have learned all the skills for every character, but at the basic level of power: so will add some more strategy since the player will need to think which skill to raise up to the maximum power level?

Every level up instead you get 3 attribute points, to spend on Strength, Skill or Will attributes. Will write about those three attributes next friday since the explanation is long and beside... by that time I might be about to announce the open beta preorders! (crossing fingers)

Saturday, January 14, 2012

Professional developer's look at Ren'Py

Editor
In the image above, some Ren'Py code (people familiar with python might recognize some keywords/syntax) from my current project Loren Amazon Princess in my preferred editor, SciTe.

Ren'Py was created by Tom Rothamel, as a tool to help everyone to create visual novel games, with very little or no coding knowledge required. I first learned and started using it around Summer 2008, and since that year it has evolved quite a lot. So it's been 3 years and half since I started using it, and right now I can prototype many games rather quickly, even if works better for certain kind of games: heavily story based, with no real-time animations and of course 2d, since Ren'Py is a 2d game tool.

Currently Ren'Py is available for PC, Mac, Linux and is still experimental on Android, though it should be available sometimes in the future. There's no iOS version planned at the moment of writing, even if the author seems to be thinking about it.

The language

Ren'Py, as the name suggest is based on Pygame and Python, which I consider the most advanced language available today. Simple, concise, but at same time powerful and easy to use.

It was love at first sight for me: I was used to type the Divine Comedy in C/C++ to load a .csv or do string operations, and when I realized how quick was to develop with python I immediately started to learn it, and it was very simple process (thanks also to the online documentation).

Ren'Py is NOT a visual tool. You don't use the mouse to place UI. You use an IDE, currently available are SciTe or Jedit. This might discourage many people who first approach it, especially if they're not coders but are used to play with Flash, Gamemaker, Stencyl or other visual creating tools. However, you soon realize that for certain kind of games there's nothing better than Ren'Py and you don't actually need a visual editor at all.

As I said the language was designed with visual novels in mind: though you can use it also for any story-based game like dating sim, RPG games, or adventures with some extra coding.

Recently a new Screen Language and ATL (Advanced Transform Language) were introduced, making the creation of interactive screens and special effects (zoom, rotation, movement, etc) even easier.

The Good

Very simple cross-platform capability. Since python is an interpreted language, this means that you can build the game for the three platforms (PC, Mac, Linux) with ONE CLICK. This is simply amazing! And you don't have to worry for different behaviors: if the game works in one platform, it will behave the same in another. This was a big plus for me since I was used to have mysterious bugs on Mac when coding in C and Xcode, that weren't present on PC.

With Ren'Py, I went as far as copying new .rpyc (Ren'Py compiled source scripts) directly into the zip (Mac version) or the tar.gz (Linux versions) from my Windows computer, without rebuilding the games and it worked, I didn't encounter any problem. So for example you can develop for Pc, Mac and Linux without the need to buy a Mac or have a machine with Linux installed.

Powerful language and syntax. The language is really simple and intuitive. Remember that it's a tool specialized for Visual Novels, but you can effectively write most 2d games with it. Probably the only ones that I wouldn't reccommend coding are those who rely on real-time movement, like a RTS, shooter, or similar. Note that is still possible to make that kind of games, but I would pick another tool honestly.

Still for any other 2d game it's really a great solution. Very strong GUI system, combined with the ease of use of python makes this a great tool.

Easy to debug. In most other languages, debugging is a pain. Not just finding the bug, but finding out which line of code cause it. With Ren'Py thanks to Python you get very detailed crash reports, telling you exactly where the problem is.

Magic reloading and rollback system. Those are without any doubts the BEST features I've seen in ANY 2d development engine. Not even Unity has something so powerful. What is that, you might ask? First, the reload: since python is a scripted language, you can ANYTIME (and I mean literally anytime) hit shift+R and see immediately the changes you've made to the current screen.

The rollback system instead is something inherited by the visual novel mechanics, but that works surprisingly well even to debug. In practice, the program stores the path you have choosen, and memorizes XX amount of "steps". This was doen so that the player could "rollback" with the mousewheel or keys, to a previous situation in the game story. But it works even for coding!

Trying to explain better: if you start the game, then visit in order: screen 99, do action 32, screen 32, click button 2, screen 12, type your name, screen 42, click button 5. Can you remember that? the game can, and provides you with a way to go back, a sort of "Undo" but you can use it when directly playing the game in debug mode!

I know that even in Unity you can modify the game world with the 3d world editor and see the changes, but here I mean something different: you can see the changes without having to EXIT the game, and restart.

A few simple examples:

case A: you've been testing for 6h a complex RPG. You see a visual bug. You look in the code, find that a button was aligned badly, change the code and reload. You see the change immediately, and go on testing. "Flawless Victory".

case B: you've been testing for 6h a complex RPG. You click "done" and the next screen crashes. Thanks to Python built-in descriptive crash you see where the problem was, in previous screen you assigned a impossible value. You do a rollback, in practice executing an Undo of all executed code, then fix the bug in the source with the game still running, reload, and go on with the testing. "Epic Win".

And the documentation? it's good, at least for the basic features.

The Bad

As I said, there's no editor apart an IDE. There is no intellisense/code completion, and you cannot browse classes or labels (some people managed to use Eclipse or other tools for python to code with it, but it's definitely a hack). This is definitely something that could be improved, since in particular in the first weeks of use you can't remember all the commands by memory and you'll be looking at the documentation extensively.

Bad documentation for the most advanced features. How does Sprites work? What is im.ConditionSwitch? and so on. The documentation explains everything, but sometimes seems written like if the author assumes the reader is a good coder/clever as him, but often that's not the case :) I consider myself an average coder but surely not a beginner, and sometimes I have hard time to understand how some of this stuff works. But it's not bad as it was in the early days when documentation was really scarce!

It's an hobbyst project. Don't get me wrong: the author is doing an awesome job trying to reply to all the support requests, mainly done through the specific Lemmasoft forum dedicated to Ren'Py. However it still is, at least for now, an hobbyst project. The author doesn't make any money from it, and so obviously there's no guarantee that you'll get an answer to your question. I repeat, he is doing the best he can, and sometimes other people help answering the most common questions, but still you must not expect to get immediate responses to your problems.

Personally, I'd love to see Ren'Py become a professional tool, with full support of deployment for Android/iOS, and maybe future porting to HTML5 and more. I am sure many other gamedevelopers even outside of the "visual novel / dating sim circle" would pick it up because of its features.

In conclusion

Ren'Py is a tool with double face. If you want simply to use it for what was made for, it will do the job without problems and is simply the best visual novel/dating sim system around, at least for desktop computers.

If you're a more advanced coder and want to build simulation games, strategy games, rpg games, or any 2d game that doesn't need a lot of things moving on the screen (but even in that case, you could make it) you'll be surprised by the ease of use and powerful features that Ren'Py has to offer, combining the power of Python with one of the best GUI / scripting systems I've seen in modern 2d libraries.

Yes, to use it in advanced mode it has a steep learning curve, but once you get the grasp of it, is really hard to get back to... anything else. I had to do some C coding last week, and wondered why the "rollback" wasn't working, or why I couldn't just hit Shift+R to see instantly the changes I've made!

At least this was my experience. If I was able to release 12 games in three years and half (almost one every 4 months) it's only because I discovered this powerful tool. Thanks again to Tom Rothamel for the incredible piece of software he managed to create!