Menu

Fame / Blog: Recent posts

Fame 0.8.5 released!

I knew that introducing the configurable keyboard feature will take very long, but with so many keyboard commands it's not possible to have a perfect layout (especially if we assume that the definition of "perfect" varies from player to player). So that now you can change every key binding if you wish, or select a predefined keyboard scheme from popular games (at this moment only ADOM scheme is available). "Extended commands", i.e. consisting of two keystrokes, are supported, as well as any combination of Alt, Ctrl and Shift with any of the standard keys. It is possible to have any number of key bindings for one command (this helps to retain compatibility with other games from the genre despite design differences). Oh, and I fixed the numpad bug on Linux!... read more

Posted by Piotr Bednaruk 2013-05-01 Labels: fame untitled release new version

Fame 0.8.4 released!

The best thing in releasing every month (instead of every year, as it used to be with Fame/Untitled) is that you have more time for completing new features, testing and bugfixing, and at the same time you feel less pressure. A paradox? Maybe. If you want to know how it is possible, ask a philosopher. A programmer like me can only conclude that it works. And I hope it will stay like this.

Now, what is new in the new Fame?... read more

Posted by Piotr Bednaruk 2013-03-02 Labels: fame untitled release new version

Doors, plants & torches, or how to crash Fame in the most funny way (so far)

As the game becomes more and more complex, its bugs become really funny.

Recently, an anonymous player has found a bug: if you pick up an item when standing on the same tile as a door in 0.8.3, the game will crash. Believe it or not, but this bug has more in common with plants and torches than with doors.

When an item is picked up, a method with an uber-smart name, CHero::PickUp, is called. This method handles both items and plants (plants are not items until you pick them up). Inside the method some setup is thus done for a plant-item and an object of class CItem is created (it would be ignored for non-plant items). Everything had been fine (probably) until version 0.8.2, which introduced torches. All items that can be a source of light do an extra step during their construction - they initialize an amount of fuel. And once again, that wouldn't be a problem, but unfortunately if you take it all together - plants, doors, torches...... read more

Posted by Piotr Bednaruk 2013-02-02 Labels: bug development

Fame 0.8.3 released!

Another release!

The major change in this version is AI. It has been completely redesigned and rewritten. The old AI was just terrible. Monsters used to stuck even if they were only a couple of cells away from the hero. The AI improvements are not finished yet, but monsters are much smarter now. You'll be able to observe that they chase the hero in a much more reasonable manner, they also don't get stuck when fleeing and some of them are even able to open doors.... read more

Posted by Piotr Bednaruk 2013-01-27 Labels: fame release new version

Fame 0.8.2 released!

Another month has passed and another version of Fame is here!

First of all, there will be no more daylight in the dungeons. You will have to carry a torch to see anything more than your own nose. The same applies to the outside world. It's dark from 20:00 (8 p.m. in some countries - I will probably never understand the advantages of the 12-hour system, it's just stupid) until 6:00 in the morning. You will also observe some kind of "fog of war" - that is, monsters that are outside of your Field of View will be, well, invisible to you. You will not be able to see items out of your FOV, either, but you will remember some items' placement unless you wander to another location.... read more

Posted by Piotr Bednaruk 2012-12-15 Labels: fame untitled release new version

Fame 0.8.1 for Linux released!

The full screen feature still doesn't work on Linux, but at least now the game will not crash when entering another location through stairway (this is the bug that prevented the release of the Linux version). I had a hard time trying to install GDB in my Linux distribution, but as soon as it was working, the bug was gone in few hours. Hopefully I'll fix the remaining Linux problems in the next release. Those aren't simple ones and I will need to dig some XLib and/or OpenGL stuff, which isn't something I like the most... Anyway, now I'm going back to work on some new features :-).... read more

Posted by Piotr Bednaruk 2012-11-11 Labels: untitled fame release new version linux

Fame 0.8.1 released!

Most programmers probably love adding new features and hate testing and debugging old features. I was delighted to discover that Fame is not the case anymore. It was fun to test the final revision of Fame 0.8.1. (It was a huge headache to get to that point over some exceptionally nasty bugs, but that's another story).

The player character now can be controlled by mouse. You can also use auto-movement by holding Ctrl while pressing arrow keys. These two features (actually one feature with two different interfaces that trigger it) are still under development and will improve in future versions.... read more

Posted by Piotr Bednaruk 2012-10-31 Labels: fame untitled release new version

Debugging complex data structures with Visual Studio

Right now I'm struggling with an extremely annoying bug that has cost me more than a week of work and numerous headaches. When dealing with problems like this one it is good to at least have a good IDE. As for debugging, Visual Studio does pretty good job, although it has its weaknesses, too. Of course it does.

I blame it all to the C++ language. It seems that C++ is just too complex for any tools. While compilers rarely got confused by creepy features of C++ like macros, nested templates, name spaces, polymorphism or multiple inheritance, auxiliary tools are often completely lost when they encounter certain geeky constructs on their way.... read more

Posted by Piotr Bednaruk 2012-10-06 Labels: C++ programming visual studio debugging

Comma as the root of all evil

Everyone knows that the world of C++ is full of pitfalls. Whenever you move, you encounter one of them and if you don't move, they will come to you.

It's hard to see a piece of code without a comma, so nobody on Earth would suspect that innocent-looking character of being one of the most deadly pitfalls of C++. It separates function arguments, macro parameters (macros are evil!), variable declarations, member initializations, enumeration type elements, base classes (multiple inheritance is evil!), template parameters and probably few other things I've forgotten here.... read more

Posted by Piotr Bednaruk 2012-09-08 Labels: c++ programminng

Fame 0.8.0 released!

As you can see, I have been finally convinced to change the name of the project.

Another important change is that the game can be now completed with the main objective (a temporary one, until a complete story is introduced in one of the future versions) of retrieving the artifact called Obsidian Skull.

All of other changes are primarily bugfixes (the previous version was very unstable) and minor improvements, a full list of them can be found below:... read more

Posted by Piotr Bednaruk 2012-08-05 Labels: fame untitled release new version

Untitled 0.7.9 released!

The new feature: Alchemy. Using this skill you can make potions. All you need is some plants (which grow only in selected locations), a recipe (you can discover it through experiments) and an Alchemy Toolkit (very rare item, but...).

There are several new monsters. They are not just the old monsters with better parameters, but also their behavior differs, notably Mountain Orcs and Goblin Warriors can use ranged weapons, forcing the player to develop new tactics.... read more

Posted by Piotr Bednaruk 2012-07-08 Labels: untitled release new version

Untitled 0.7.8 released!

This time there are no new major gameplay-related features. The biggest changes are: the Quest Log and the "immersion" mode (full-screen). I believe that both of these features are essential for a modern roguelike. I had some doubts about the Quest Log and have been resisting that idea for years, but eventually gave up. The original idea was to add a built-in text editor so that players can make notes about things to do, but now I think that would be too hardcore.... read more

Posted by Piotr Bednaruk 2012-05-26 Labels: untitled release new version

Untitled 0.7.7 released!

From now on, some of the game data files will be put inside of one big file and thus made available for developers (that is, me) only. I strongly believe that it is essential for a roguelike game to keep some of game's internals in secret. Now I will be able, for instance, to create quests that would become a lot easier of one could take a look at the script files.

That change has at least one undesired side effect. The game is not customizable anymore, not to the level it used to be. However, I don't think it's that important for a roguelike. All in all, most of the few really successful games of that genre were not customizable and none of them were mods (as far as I know). Apart from that, I will provide a new mechanism of customization in the future.... read more

Posted by Piotr Bednaruk 2012-04-28 Labels: untitled release new version

Untitled 0.7.6 released!

I was very lazy this time. Out of 5 weeks since the previous release, more than 2 weeks were wasted (at least for Untitled's point of view, I was working on Fuge). Many features have been just shifted to the next version when I realized I am completely out of the schedule (well, I don't have any schedule, actually). The decision was to release immediately. The change log looked long enough:

  • alarms (when hero attacks some of the NPCs in town, other NPCs may respond to the
    attack)
  • a message is displayed when the hero's equipment gets significantly damaged
  • explosions can damage hero's equipment
  • poison/freezing/flame effects do not damage items on the ground
  • scrolls, when thrown or kicked, are no longer damaged or destroyed
  • drinking poisonous gas or exploding potion has side effects
  • multi-plane world (underground locations are no longer present on surface)
  • the cell viewed through the Look window can be changed with arrow keys
  • unvisited locations are darkened on the world map
  • unrevealed cells can no longer be examined with the 'Look' command
  • windows with a default edit box do not require setting focus to type in that edit box
  • changed importance level for some combat messages in the log
  • U compiler feature temporarily disabled
  • [bugfix] throwing/kicking a poisoned corpse no longer crashes the game
  • [bugfix] NPCs casting spells while being outside the screen no longer crash the game
  • [bugfix] kicking or throwing items towards boundaries of a location no longer crashes the
    game
  • [bugfix] all special bonuses given by unique items are correctly removed from hero when
    they throw the item away
  • [bugfix] chance to succeed in smithing or founding is calculated properly
  • [bugfix] unrevealed areas have proper (black) color in the automap
  • [bugfix] all kinds of dungeon floor appear correctly on the list in the editor... read more
Posted by Piotr Bednaruk 2012-03-30 Labels: untitled release new version 0.7.6

Untitled 0.7.5 for Linux released!

Untitled is finally available for Linux.

It was planned since 2006 or so, I was gradually replacing old, rusty pieces with more portable code and eventually it started to work. Untitled owes this mainly to the Irrlicht Engine, but it's quite surprising how many thing besides the engine need to be tweaked up if you want a portable game.

Posted by Piotr Bednaruk 2012-02-25 Labels: untitled linux version

Untitled 0.7.5 released!

This time it took me 3 weeks, but the next version is ready and all the planned features have been implemented.

This version (0.7.5) also fixes a number of nasty bugs. As you probably had already noticed, saving game did not work in 0.7.4. I wonder how could I miss that problem before. Anyway, it took me half day to track down this bug and two seconds to fix it.

The change log:

  • door traps
  • 'Traps' skill - allows constructing, setting, detecting and disarming traps
  • thrown grenades
  • land mines
  • items laying on the ground are affected by explosions
  • name of the item currently in hand is displayed when attempting to throw it
  • player is no longer able to throw cursed items away
  • player must confirm if they want to bite a neutral NPC
  • dark background under questions displayed on the main UI
  • a message box appears when player finds out that the equipped item is cursed
  • player can eat until they become bloated
  • item description in the trade window change colors according to item's status (like in inventory)
  • item description in the trade window include more details (poisoning status, material info, special info for rods and moulds)
  • slightly more advanced grammar in combat messages
  • the proper floor tile is used in random-generated dungeons
  • thrown knives can now be found as stacked items in the dungeons
  • metal rods and moulds found in the dungeons are now usable
  • new command line options
  • [bugfix] loading game no longer causes a crash
  • [bugfix] closing the message box that says there are no games to load no longer freezes the game
  • [bugfix] non-magical scrolls work properly again
  • [bugfix] unique items can no longer be found in the dungeons
  • [bugfix] random monster encounters no longer occur in the location editor :-)
  • [bugfix] releasing RMB while cursor is above the Look window closes it properly
  • [bugfix] clicking on a window without the close button no longer crashes the game
  • [bugfix] attempting to lock a door that do not have a lock no longer crashes the game
  • [bugfix] player can no longer learn swimming just by diving into water (may affect other skills and also spells in similar way)
  • [bugfix] flail does not belong to the category "swords" anymore
  • [bugfix] removed redundant message displayed when PC becomes a vampire
  • [bugfix] choosing the 'Exit' command from the editor menu no longer causes a crash... read more
Posted by Piotr Bednaruk 2012-02-20 Labels: untitled release new version

Untitled 0.7.4 released!

I decided to release the 0.7.4 version a bit earlier than planned because of bugs found in script files.

The bugs were tiny and stupid. I've just put semicolons at end of several lines and that's a syntax error in U. It was impossible to enter the location 'Bandits' Camp' because of that corrupted scripts. Damned semicolons. I always forget them when writing in C++ and, in turn, put too much of them in script files.... read more

Posted by Piotr Bednaruk 2012-02-01 Labels: untitled release new version

Abusing C++ exceptions

This is just a bunch of random thoughts on C++ programming, so you might wish to skip this post ;-).

One of my greatest programming challenges ever was the moment when the player's character dies. I used to solve this problem by having a lot of returns. That made my code looking like this:

    Hero->LoseHP (10);
    if (Hero->HP == 0) return;

It hardly worked, but I've never had a better idea. And it only sometimes crashed. But I knew how much it sucked. In roguelike games you have plenty of different situations when your character can die, which means that you always get a lot of junk on the call stack. For example:... read more

Posted by Piotr Bednaruk 2012-01-29 Labels: c++ programming

Untitled 1.7.3 released!

I'm happy to announce the release of the 0.7.3 version!

Here are the recent changes:

  • textual UI instead of graphical indicators
  • wandering spellcasters
  • 7 new spells
  • 14 new monsters
  • more sophisticated monster encounter system
  • differentiated level of difficulty for locations
  • differentiated appearance of random locations
  • adjusted values for some of spellbooks
  • NPCs are no longer required to have a script
  • "common" NPCs, acting much like monsters, but player can chat with them
  • player can no longer exchange items for nothing
  • totally illiterate characters can no longer read road signs
  • [editor] 'Generate Location'
  • monsters of particular type aren't included in the final summary until player kills at least one monster of that type
  • syntax changes to the U scripting language (U 2.0) - see the reference for details
  • dialog scripts cannot be executed in batch mode (any script that contain items or action is considered as dialog script for this check)
  • [bugfix] swimming correctly appears as a default extra skill in the Character Creation window
  • world map, character information, skill and spell windows can be closed by hitting the same key again
  • blood stains are no longer displayed on the automap
  • [bugfix] fixed incorrect NPC names in the English version
  • game continues to launch properly even if game.ini is deleted... read more
Posted by Piotr Bednaruk 2012-01-24 Labels: untitled release new version
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.