Shops & Signs

I’ve finally managed to make a bit more progress over the weekend, adding signs to the City doors and also adding some code to display City establishment images (E.g. Guilds, Inns etc) with some relevant menu text. A lot of time was spent capturing all the images for door signs and establishments from the Atati 8bit version. After a few attempts to add code to work out if a door should have a sign on it I decided to take the lazy route and simply use a different wall type. My map format uses an Integer for each wall which means I’m not limited to just a handful of different wall types to make up the City and Dungeon walls. Potentially this means that I could add more interesting details to later versions of the remake such as tapestries or mirrors or windows for City locations. The downside is that I have to manually edit the map entries for shop doors (OK I could write a program to do this but I haven’t yet). The map format is in a human readable format so it’s easy to find a map cell and edit the wall types. The other reason for this easy to understand map format is that I like the idea of creating a map editor at some point. Many areas of the City are difficult to get to so I’m keen to try and open up the map a little bit. It’s also possible someone else might be keen to write a map editor.

To date my Alternate Reality remake is looking like the Atari 8bit version though the view window is bigger and due to the higher resolution walls and signs are clearer from far away. City establishments contain additional menu items from the 16bit versions of the game. So for example visiting an Inn in the remake will give you the option to apply for a job (see above) – a feature which was never implemented in the 8bit version (it would have been added in a future scenario had they been created). I’m also modelling the menu system along similar lines to The Dungeon and the 16bit City as I find these cleaner and easier to read than the original Atari ones. One major change I’m considering for shops is making items selectable from a list rather than skipping through one item at a time in places such as the Smithy. I’m keen to start building up some simple shop functionality so that the remake starts to feel more like a game. Dungeon content has kind of taken a back seat just now.

City Backgrounds added

Thanks to information I’ve received today I’ve now been able to add the four City backgrounds into the project. There are different mountain range backgrounds within the City depending on whether you’re facing north, south, east or west.

I’m now having a go at adding the door signs for the various City establishments (E.g. guilds, shops etc). I thought I’d come up with a quick way of dealing with this but I’ve still got some work to do as the signs are not appearing from the outside of the shop only the inside! I’d forgotten how the City map structure works. My map structure can easily accomodate additional textures to deal with different wall types but would require me to edit lots of doors manually which I don’t want to do if I can avoid it.

Return to Alternate Reality

Well it’s been a long time since I posted anything on this blog even though there has been a fair bit of progress on the Alternate Reality front in the last year. Whilst I’ve not done a lot in the last few months I did some good work during the summer and what I’ve produced to date is far better than what I had created in SDL. The screenshot here is from the City using the original Atari 8bit graphics. I have been very happy using SFML instead of SDL for my media library and so far it has delivered everything it promised. As before I’m concentrating on coding and using the original graphics and sound for the time being so as not to get hung up on editing new graphics all the time. SFML is platform independent with SFML libraries for both Linux and Mac (and lots of bindings) so I’m keen to find a couple of willing people to maintain these versions. Porting should be very easy as there is nothing Windows specific in the project to my knowledge.

So far I’ve implemented the following features:

  • Improved 3D view window which is larger than the original game
  • Smooth scrolling in the 3D view – finally!
  • Different zones within a map to define different graphics in some areas e.g. Crystal Caverns
  • Dungeon Teleports
  • Dungeon location specific messages
  • Weapons and Wealth status screens
  • On screen Compass
  • Movement around the City or Dungeon 1st level

OK so lots still to do but I’m pleased the smooth scrolling is now working as I expected that I would find this difficult. I need to say thanks to Jim Norris for providing me with the information on the map zones and the full Dungeon teleport data otherwise I wouldn’t have been able to complete these parts.

Next thing I would like to do is move all the game data into external data files. Most data is already in this format but some is included in the source files. I’d also like to add a simple option page so that players can choose between The City and The Dungeon. Once these are done I can get down to some interesting bits so that what I’ve done actually starts to feel like a game!

Alternate Reality and SFML 1.2

Following the release of the SFML 1.2 library I began playing around with my Alternate Reality CRPG remake again. I wanted to use OpenGL to draw the 3D view but be able to use the built in 2D functions of SFML for all the other elements on the screen such as text. I was able to do this successfully and it seems to work pretty well. Previously I had used SDL with OpenGL but I’ve now transferred all the main code over to SFML. Still lots of code to move over before I’ve transferred all the functionality of my SDL version. This includes the combat, encounters and character creation sequence. I feel I’ve done the most tricky bits though!

Added Tile Properties

It took me a while to sort out the new file format for the terrain objects but I’ve now got a simple machine/human readable format which I can reuse for the monster and item files. Now that I’ve done this I’ve thinking of splitting game objects into 3 different areas – terrain, monsters and items. The map/item format is very simplistic just now so will probably need to be expanded at some point.
As always I’m wasting time changing little image files instead of sticking with a handful of basic tiles and adding features to the editor and game. Anway I finally added some properties for the different types of terrain in the game. Decided to leave out animation and visibility for tiles just now. For now I’ve kept it very simple with tiles having a small number of properties:

  • Tile no – the image number from the tile sheet
  • Name – a text description for look commands
  • Passable – can the tile normally be walked through
  • Map link – does the tile offer an entrance or exit to another map level (E.g. staircase)

I’d like to really start making Demons Eye feel more like a game. I might add a player status and inventory pages and some simple console style messages. It would also be nice to be able to have a bit of simple treasure hunting and combat!

Demons – Slow Progress

Progress is slow mainly because I keep going back and fiddling with little things rather than adding new features to the engine. There’s still no actual functionality or properties to tiles so this is really something I need to make a start on – it’s not difficult.Anyway there are a few cosmetic changes. I’ve added an Ultima style border dividing the screen into three main area – overhead view, messages and the character status/inventory browser type area. The 16×16 font has been replaced with an 8×8 one – currently Joshua Steele’s Ultima 4 Upgrade one. I wanted to be able to put quite a lot of textual information on the screen for combat, conversations and intentory details but this was difficult with the larger font and a smaller font also leaves more space for item graphics, status bars or icons which I think will make the display a lot more interesting. This font is good for now but I’ll keep my eye open for something a bit more unique.I’ve reverted to the David Gervais tileset and RLTiles tileset. Both are good tilesets with plenty of intersting to tiles though there are a number of typical tiles I’ll need to create/find elsewhere to complete some content.Really need to add some simple tile properties. Are tiles passable? Can they be seen through? Do they link to another map? And so on…

Bitmap Fonts

Added some bitmap font functions. SFML already has good font support for many popular types of font built into it but I was wanting to use a simple fixed-width bitmap font. The font in the picture is from Alternate Reality: The Dungeon. A simple map loader has been added (loading in an Ultima 5 map in the picture) but I still need to add a save function.

Inspiration from other games

I’ve been playing some of the old games that I like and thinking about what are the positive and negative features of each game and which I want to incorporate or avoid in Demons Eye. I’ve just been playing Ultima V and this has given me a few ideas. One of things that put me off playing Ultima V more when I was younger was that some of the exploring seemed quite tedious. For example exploring a castle meant a lot of searching for secret doors (all of which seem to be locked) and also moving potted plants around to get to said secret doors. These are fine if there are interesting things behind them but if not then they just annoy me and take a lot of fun out of the game. This specific issue seems to be worse in Ultima V.

Ultima V manages to make fairly varied maps out of a limited set of tiles (256 terrain tiles + 256 monsters/items). I spent a lot of time over the last few days messing around with lots of tiles adding them to the tilesheet and probably not using them. I also need to think about how I want to handle lighting and line of sight in Demons Eye. Personally I often find that limiting the view this way detracts from the game. Maybe it would work best in Dungeons where there is more tension about unknown creatures coming out of the darkness.

On the combat front I think I’ve decided on a single player rather than a party. Party combat is too tedious I think unless it has an automatic option where most of the party fight under computer control. It also means that you can focus on really developing your single character rather than having to share out experience and items between a party. I know a number of Ultima players like to play with a small party (or single character) as it makes play a lot simpler. There will still be the option to summon various helpers through magic or possibly get help from passing good characters.
In summary:

  • Good design using a small number of tiles rather than hundreds of different tiles.
  • Sparing use of secret and locked doors.
  • A decent number of searchable objects (e.g. chests, baskets) should contain some objects!
  • Night and day cycles and Line of Sight shouldn’t limit the view too much.
  • Single player rather than party.