Thursday, 23 June 2011

More on Townspeople.

Yes, its been a while. Picked up some coding again, and finished the Townspeople implementation. Each type of townsperson has its own speech pattern and says something different when you move past them. Its only a cosmetic thing really, but helps to give life to the town level.


Now if I can finish implementing potions, I've got enough for a release.

Thursday, 17 March 2011

Townspeople

I've done some code to handle random townspeople on the town level, to give the town level a bit of atmosphere. I've not checked it into the repository yet, as its incomplete, but each townsperson will have its own unique behaviour and its own unique sayings.


I don't intend on these townspeople to be attackable, but I do hope to add some interaction between them, based upon their (randomly-generated) behaviours; for example, a drunken guardsman might do things differently than an angry guardsman.

Your pet cat is of course, the true master of the multi-verse, and all kills are dedicated to him. He remains on the town level to protect it from harm.

And to prove that this blog isn't immune from cat-blogging, here are my own fuzzy-overlords


(if you must know, their stats are: Num:547 Lev:100 Rar:2 Spd:140 Hp:20000 AC:150 Exp:60000 RFuss--- RFood---, and they have many deadly powers, and have never been defeated yet, except by shameless application of fuss and/or food)

Wednesday, 16 March 2011

Code Updates


Those who are observant will notice some code updates have been committed to the repository. I've actually done some coding on Kharne! (sound of cheering in the distance).

I've now got visible and smoother missile animation, as well as framework code for potion handing and town NPCs. This is an ongoing thing, when I get the code working I'll release v0.06 containing these features.

With regards to missile animation, for simple bolts etc, I wanted to ask a question of my readership: should their trajectories be plotted in the ASCII resolution, or should they be plotted pixel-by-pixel?

For example, consider the scenario below:



If the Storm Giant to the North of the player launches a missile, if it is plotted strictly to ASCII, it will zigzag towards the @, whereas it could be plotted smoothly and move at an angle instead if pixel-by-pixel plotting was used.

I'm divided between both options, hence why I'm asking.

Tuesday, 15 March 2011

Stygia completed

Well, I did it. I finished coding a roguelike, finally.

More details over at the Stygia blog.

I even looked at the Kharne code today. Its not as bad as I feared, even if it isn't C#. I should really implement potions, shouldn't I?

Sunday, 6 March 2011

Stygia

I've started work on Stygia as a 7DRL. See http://stygiaroguelike.wordpress.com/ for details and a devblog.

Tuesday, 25 January 2011

The End - an announcement

I've held off making this post for quite a while, but I think looking back now, that its obvious, and it deserves to be made given the recent lack of activity on Kharne.

I'm abandoning any further development on Kharne.

This is for a number of reasons, which can be summarised below:
  • I suffer from on-going depression, and I find it very difficult to work on coding in my free time. This has been ongoing for some time.
  • I have no interest in using Delphi to do any coding that I do partake in from now on (anything I do do will probably be either in C++ or in C#).
  • The idea and what I've implemented so far is much much too ambitious for it to be completed.
So....

What happens now?

As far as Kharne goes, as its now open source, and therefore anyone is welcome to take the project on, if they so wish. Additionally to the code, I hereby release all game data into the project domain. By game-data I mean monster-speech text and so on.

If you wish to take it and use it, feel free and good luck. I will always be available for advice.

That bears repeating: Kharne is open source. Its yours. Run with it, if you wish.

As far as my own coding in general, I'll be resurrecting my C#/Libtcod project, Stygia, with a view to producing a smaller but complete roguelike in a matter of a few months.

But for that, I'll probably create a new blog, and eventually close this one.

So what I have learned from this?

The main lesson is to limit your objectives to ones you know are easily achievable. In hindsight, its obvious, but at the time, it is easy to get carried away on the code.

It is also important achieve and maintain sufficient momentum. And Feedback and involvement with the community are important in getting a roguelike out the door.

I've failed, in the end, in that respect. But it wasn't a waste of time. I've gained knowledge, I've met people, and I've learned some belated lessons.

And in that respect, it was a success.

Wednesday, 22 December 2010

Random Item Fluff

Yes, I'm still alive. Due to other things, work on the next version of Kharne is progressing slowly. One feature I'm thinking of adding to the next version (0.06, which will also include NPCs and potions) is random flavour text for items, e.g. when you inspect say a +1 Spear you get something along the lines of:
“This ruby-encrusted spear was formerly the prized weapon of JoeBloggs the Hero of Xyzzy. He used it mainly in the war 600 years ago against the Goblins of Zzyyyzzzy. He fell in battle against Bob the Goblin Chief and the weapon was subsequently lost. What it was doing in the hands of a common goblin you have no idea.”
This is fairly easy to program, e.g. it is nothing more than a series of randomized phrases in a format such as:

“[description] [owner] [owner legacy] [now]."

Each of these could be constructed out of further tags like [weapon description] [weapon name] [time period] [owner fate] [weapon fate] etc, which may or may not be present in an individual description. Some tags require randomly generated names, which can be done using the existing name generator routines.

So the example above could be broken down into:

[weapon description] = "This ruby-encrusted"
[weapon name] = "spear"
[owner] = "was formerly the prized weapon of"
[owner name] = "Bill"
[owner famous] = "the Hero of Xyzzy"
[owner use] = "He used it mainly in the war"
[owner timeperiod] = "600 years ago"
[owner use reason] = "against the Goblins of Zzyyyzzzy"
[owner fate] = "He fell in battle against Bob the Goblin Chief"
[weapon fate] = "and the weapon was subsequently lost."
[weapon now] = "What it was doing in the hands of a common goblin you have no idea".

But as ever, my creative juices are failing. Any suggestions and ideas for randomised phrases to use in this generator are most welcome.