Jump to content
  • Advertisement
  • entries
    207
  • comments
    220
  • views
    227201

About this blog

Merry Prankster Games: Temple of the Abyssal Winds

Entries in this blog

 

10 Fantasy Fights v1.0 (Beta)

Merry Prankster Games announces the release of 10 Fantasy Fights version 1.0 (Beta)! More information or download here:

http://www.prankster.com/10ff

10 Fantasy Fights is a demonstration game by Merry Prankster Games. In 10 Fantasy Fights, you control a party of adventurers though a series of 10 fights designed to exercise all aspects of the SENG game engine. You will rapidly advance from a simple battle of a single inexperienced warrior against lowly minions, all the way to controlling a mighty band of legendary heroes against a near-invincible demon lord.


10 Fantasy Fights is a single player computer role-playing game for computers running Microsoft Windows. 10 Fantasy Fights is evocative of the classic CRPG games of the 90s, but updated to run well on modern computers, using modern technology.

Features:
Pause-able, Real-Time game-play - 10 Fantasy Fights runs in real-time for maximum realism, but allows you to pause the game any time to issue orders to your adventurers.
Party-Based - In 10 Fantasy Fights you control up to 4 main heroes, and can control additional summoned creatures.
Custom Game System - 10 Fantasy Fights uses the custom SENG RPG system, which will be familiar to pencil-and-paper RPG players, but updated to work well in a real-time computer environment.
Character Development - 10 Fantasy Fights features over 80 skills, hundreds of spells, and hundreds of items to customize your heroes to your liking.
3D graphics - 10 Fantasy Fights uses a fully 3D graphics engine to provide a detailed, dynamic environment for your adventures.
Varied Adventure - 10 Fantasy Fights will lead your party through 10 fights with widely varied environments and tactics.
Free - 10 Fantasy Fights is a demonstration game, and is free for your enjoyment. Please give Feedback on the game so we can improve our games in the future.


Give 10 Fantasy Fights a try! http://www.prankster.com/10ff

gdunbar

gdunbar

 

Temple of the Abyssal Winds v4.5

Temple of the Abyssal Winds version 4.5 is now available! [media] [/media] Temple of the Abyssal Winds is a classic style role-playing game, for Windows and iPad. You can get more information on the website: http://www.prankster.com/totaw. This release includes minor bugfixes and features. See http://www.prankster.com/totaw/getit.html for downloading information. All of the chapters have been updated, so you'll want to update those as well.

gdunbar

gdunbar

 

Temple of the Abyssal Winds Mac Support

Temple of the Abyssal Winds, the classic-style single player role-playing game, now with Mac support! [media] [/media] You can download it for free in the Mac App Store, or get more information (including for Windows) on the TotAW website: http://www.prankster.com/totaw/index.htm

gdunbar

gdunbar

 

(More) Beta Testers Needed!

Temple of the Abyssal Winds: Beta Testers Needed

Temple of the Abyssal Winds is ready to go for, this time for Windows, and I just need a few intrepid beta-testers to go through and find the last few bugs. Help out, and enjoy a classic-style RPG at the same time!

[media] [/media]

To find out more about TotAW, check out the website: http://www.prankster.com/totaw/index.htm Chapters 1 and 2 are ready for beta-testing, on Windows and iPad, and I'm working on the rest.

I'll give more instructions once I have my testers lined up, but mainly, I'm looking for testers to simply play the game, and let me know of any issues. For beta testers, if you provide helpful feedback or bug reports, I will list you in the game credits, and give free access to chapters 2-6 of the game.

If you are interested in testing, the best way to let me know is to drop an email at [email="totaw@prankster.com"]mailto:totaw@prankster.com[/email]

Thanks for your support,
Geoff Dunbar, Merry Prankster Games

gdunbar

gdunbar

 

Temple of the Abyssal Winds Chapter 4: The False Church

Temple of the Abyssal Winds Chapter 4: The False Church is now available, for Windows and iPad!


[quote]
The Church of the Four Winds, infiltrated and corrupted by an evil cult and its demonic patroness. Oldenton, overrun by fiendish priests and false idolators. Return now to your homeland, and defend against the depravities of the Temple of the Abyssal Winds.[/quote]

Continue your adventure into the classic-style role-playing game of Temple of the Abyssal Winds. Chapter 4: The False Church is available for purchase now: on Windows, visit the website to purchase chapter 4, and on iPad, purchase chapter 4 as an in-app purchase.

If you are new to Temple of the Abyssal Winds, chapter 1 is free to download and play for both platforms. Start there, and then move through chapters 2 through 4, with chapters 5 and 6 scheduled for release in 2015. Merry Prankster Games invites you into the world of Temple of the Abyssal Winds!

You can find more information, or download Temple of the Abyssal Winds for Windows, on the website:

http://www.prankster.com/totaw

For iPad, Temple of the Abyssal Winds is available in the App Store:



Merry Prankster Games is a one-man band indie development studio, started in 1995 making the play-by-email game Atlantis. For more information about Merry Prankster Games visit: http://www.prankster.com or email Geoff Dunbar at [email="totaw@prankster.com"]totaw@prankster.com[/email].

gdunbar

gdunbar

 

RPG Anvil: The Lua Tutorial Part 1

Forgive the grandiose title; this post should really be entitled "A Quick Tutorial on Integrating Lua as a Simple Scripting Language into a Windows C++ RPG Engine". But that's too long and boring, so I've gone with "The Lua Tutorial" even though there are many far better Lua Tutorials (http://lua-users.org/wiki/TutorialDirectory) available.

So, for those who haven't been following, I'm working on an RPG, which by necessity has a game engine behind it. The game engine is entitled SENG, and supports single-player party-based RPG play. The engine is Windows only, using DirectX and C++ as the foundations. Part of the philosophy of the SENG engine is that most of the story and level logic is data driven; that is, run from scripts within the level files. For instance, when your party has a conversation with someone, the conversation is all driven through scripts. My initial work on the SENG engine had a LISP-like scripting engine, except minus the parentheses. It was dirt-easy to create and support in the engine, but the power of the scripts was pretty limited, and the authoring of scripts was cumbersome and error prone.

I set out to look for some alternative, such as beefing up my scripting engine to be more LISP-like, or using XML syntax, but I kind of wanted to get out of the business of authoring scripting languages. Not to mention that having a custom scripting language would be a big pain if anyone but me ever wants to author scripts. After some investigation, I settled on Lua (http://www.lua.org/) as my scripting language.

From the Lua manual (http://www.lua.org/manual/5.1/manual.html):



From my perspective, the winning features of Lua:

Small, easy to integrate.
C-like syntax.
Full featured, robust logic.

As I've done the integration, all of these features have been borne out.

During this work, I've looked through various documentation and tutorials, all of which have been pretty good. However, I was struck by the absence of a simple tutorial or document, "Here are the basic steps to integrate Lua with your C++ engine". So, that's the point of this tutorial. I'm not going to get into the details of writing Lua scripts at all, nor any advanced usage; see the official documentation http://www.lua.org/docs.html for that.

The feature I'm going to demonstrate in this tutorial is simple. The game has a script, stored in a string, that it wants to call to determine whether the player is allowed to unlock a door or not. The script, in turn, calls back into the game to see if the player's Lockpick Skill Level is greater than 7, and returns TRUE if it is, or FALSE otherwise.

Notes: How the script has been loaded into the string is completely irrelevant; in my case they are included in XML files but that doesn't matter for this tutorial. Obviously the example script is very simple (comparing a number to 7), but once you've gone through the tutorial, it should be clear how to incorporate more complex logic, like also allowing the player to unlock the door if he has a key, or has completed some quest. Further, it should also be apparent that the script can be called from the game engine for other actions beyond trying to open a door; my engine does for conversation, object activation, and quest logic.

Next: How to get Lua and link it with your game.

gdunbar

gdunbar

 

Promotion is Hard!

So I've spent all the time making 10 Fantasy Fights (http://prankster.com/10ff). People should be lining up to play it, right? Haha.

For the past few days, I've been posting to various announcement forums, emailing news editor etc, on a variety of Indie and RPG game sites. Such as:

Here.
RPGCodex.
RampantGames.
TIGSource.
IndieDB.
IndieRPGs.
RPGWatch.
IndieGames.
IndieGamer.

(If you have any more ideas where I should announce 10FF, please feel free to drop a comment or email!)

Well, a few people have downloaded 10FF now, but so far the only feedback I've gotten is a sarcastic thread about my use of "real-time" and "realism" in the announcement I wrote. I must remind myself that this stuff takes time.

Geoff

gdunbar

gdunbar

 

Pathfinding Part 2

See Part 1 for background: https://www.gamedev.net/blog/717/entry-2255124-pathfinding-part-1/

OK, so I had reached the point of frustration with my old pathfinding... what to do about it? It had become obvious to me that my pathfinding would have to do some searching to find a path to the target, rather than just walking towards the target semi-blindly.

The classic pathfinding algorithm is called A*. Simplified: A* does a search of the pathfinding space, optimizing the search such that it looks first at paths that go towards the target. It is relatively efficient and quite effective. I won't try to give a full description of A* as that has already been done, many places, very well. Here's one example from the comments: http://www.policyalmanac.org/games/aStarTutorial.htm

However, I had some concerns about A*:
While efficient as far as search algorithms go, it is still a search algorithm. Running it every "tick" (generally 60 times per second) for every actor in a SENG game would have some cost.
A* works very well for one entity searching in a static environment. However, as few as 2 entities can get stuck doing A*, constantly running into each other without ever finding the target. This is solveable, but I'd already solved these issues with my heuristic.
Most importantly: A* works on a discrete space, like a chess-board. SENG has a continuous movement space. The Internet suggests some ways to deal with this, but it isn't a clear cut-and-dried algorithm. Mostly, "first, divide your space into discrete chunks".


A quick note: SENG uses a tile system for basic terrain (2.5 feet x 2.5 feet tiles). However, "objects" (like tables) and actors can have arbitrary position. Movement of actors is in any direction. Disallowing movement except along tiles (in order to implement A*) would be a significant step backwards for the game engine.

I decided to do a combination of A* and my heuristic:
If we are close to the target, or far from the target, just use the "move towards the target" heuristic.
Run A*, just using the tiles of the area (ignoring other actors).

If A* fails (no path to the target, or path too long), just move towards the target.

Pick the point on the A* path 12.5 feet from the moving actor. Call this the waypoint.

Use the heuristic movement to move towards the waypoint until we are halfway there, or if we aren't making progress towards the waypoint.

Go back to (1).


OK, here's an example. In this picture, the actor wants to follow the green path. A* calculates the blue path as the optimal path to the target. (Note that this path would actually be a jagged line due to the tile based nature of the algorithm, but I didn't feel like drawing that). The red path represents the waypoint that the actor has selected to move towards.



In this picture, the actor has gotten halfway to the waypoint, so he recalculates:



And, in this last picture, the actor got halfway to the next waypoint. Note that the waypoint is now starting to move around the corner; however, the heuristic movement is capable of negotiating simple obstacles and will "bounce" around the corner of lava in the way.



I am very pleased; this new pathfinding algorithm combines many of the good features of A* and the heuristic:
Very efficient. We generally only perform a search of the area tiles every few seconds (per actor). There is no noticeable performance impact of this pathfinding algorithm vs the heuristic.
Works well with moving targets and moving obstacles. The heuristic algorithm, with its simple minded directed movement, deals quite well with this. A* is restricted to the long-range planning where these problems aren't a factor.
Movement is continuous, so the actor moves directly towards the target with no zig-zagging. There is actually just a little visible zig-zagging due to waypoints always being the center of a tile, but it is barely noticeable.
Properly moves around indentations, long walls and other complex formations, due to use of A*.


When I next release a beta of 10 Fantasy Fights, you can experience for yourself!

gdunbar

gdunbar

 

RPG Anvil: The Lua Tutorial Final

RPG Anvil: The Lua Tutorial Final



Well, I thought I'd have some final thoughts on the tutorial here, but really at this point, it stands (or falls) on its own.

My Lua tutorial showed:

Linking and initializing Lua.
Loading a Lua script from a string.
Running a Lua script from our C++ code.
Calling a C++ function from Lua.
Accessing our C++ game data in Lua.
Properly handling scripting errors.


The installments of this tutorial are here:

RPG Anvil: The Lua Tutorial Part 1 - https://www.gamedev.net/blog/717/entry-1973593-rpg-anvil-the-lua-tutorial-part-1/
RPG Anvil: The Lua Tutorial Part 2 - https://www.gamedev.net/blog/717/entry-1974858-rpg-anvil-the-lua-tutorial-part-2/

RPG Anvil: The Lua Tutorial Part 3 - https://www.gamedev.net/blog/717/entry-1976438-rpg-anvil-the-lua-tutorial-part-3/
RPG Anvil: The Lua Tutorial Part 4 - https://www.gamedev.net/blog/717/entry-1977730-rpg-anvil-the-lua-tutorial-part-4/
RPG Anvil: The Lua Tutorial Part 5 - https://www.gamedev.net/blog/717/entry-1979479-rpg-anvil-the-lua-tutorial-part-5/
RPG Anvil: The Lua Tutorial Part 6 - https://www.gamedev.net/blog/717/entry-1980781-rpg-anvil-the-lua-tutorial-part-6/


Feel free to post or email ([email="gdunbar@prankster.com"]gdunbar@prankster.com[/email]) any questions you may have. In the future, look for more interesting (cough) RPG Anvil articles in this blog.

gdunbar

gdunbar

 

Beta Testers Needed!

Temple of the Abyssal Winds is ready to go for iPad, and I just need a few intrepid beta-testers to go through and find the last few bugs. Help out, and enjoy a classic-style RPG at the same time!

[media] [/media]

To find out more about TotAW, check out the website: http://www.prankster.com/totaw/index.htm Chapters 1 and 2 are ready for beta-testing, and I'm working on the rest.

If you want to beta-test, you need an iPad. I'll give more instructions once I have my testers lined up, but mainly, I'm looking for testers to simply play the game, and let me know of any issues. For beta testers, if you provide helpful feedback or bug reports, I will list you in the game credits, and give free access to chapters 2-6 of the game.

If you are interested in testing, the best way to let me know is to drop an email at [email="totaw@prankster.com"]mailto:totaw@prankster.com[/email]

Thanks for your support,
Geoff Dunbar, Merry Prankster Games

gdunbar

gdunbar

 

Announcing Temple of the Abyssal Winds

[media] [/media]

"Twenty years ago, the demoness Urgoroth rose to power from the depths of the Temple of the Abyssal Winds. She was defeated, but your parents were lost in the conflict. Your aunt and uncle have raised you in the small village of Tomm's Crossing, where life has been mostly peaceful. Until now..."

So begins the classic-style role-playing game Temple of the Abyssal Winds. Features:

Epic fantasy adventure.
Single player, controlling a band of adventurers.
Real-time pauseable combat for realism and control.
A combination of open-ended exploration and strong story driven plot.
Tactically challenging encounters featuring many different strategies.
Deep, complex role-playing system, inspired by popular paper-and-pencil role playing games.
Dozens of quests, enemies, and monsters to tackle.
Build the character you want to - dozens of skills and powers, and hundreds of spells and items.

Try the first chapter for free, which includes a full adventure and conclusion. If you like what you see, continue on to the following five chapters. Merry Prankster Games invites you into the world of Temple of the Abyssal Winds!

Coming in 2014 for iPad and Windows. Visit the Temple of the Abyssal Winds website for more information:

http://www.prankster.com/totaw

gdunbar

gdunbar

 

Temple of the Abyssal Winds Chapter 3: Expedition into the Temple

Temple of the Abyssal Winds Chapter 3: Expedition into the Temple is now available, for Windows and iPad!


[quote]Before you, in a valley long forgotten, stand the ruins of the Temple of the Abyssal Winds. The depths of the Temple must contain the demoness Urgoroth, threat to your home and country, as well as secrets of your family past, and your kidnapped uncle. Now, into the Temple!
[/quote]

Continue your adventure into the classic-style role-playing game of Temple of the Abyssal Winds. Chapter 3: Expedition into the Temple is available for purchase now: on Windows, visit the website to purchase chapter 3, and on iPad, purchase chapter 3 as an in-app purchase.

If you are new to Temple of the Abyssal Winds, chapter 1 is free to download and play for both platforms. Start there, and then move through chapters 2 and 3, with chapter 4 through 6 scheduled for release in 2015. Merry Prankster Games invites you into the world of Temple of the Abyssal Winds!

You can find more information, or download Temple of the Abyssal Winds for Windows, on the website:

http://www.prankster.com/totaw

For iPad, Temple of the Abyssal Winds is available in the App Store:



Merry Prankster Games is a one-man band indie development studio, started in 1995 making the play-by-email game Atlantis. For more information about Merry Prankster Games visit: http://www.prankster.com or email Geoff Dunbar at [email="totaw@prankster.com"]totaw@prankster.com[/email].

gdunbar

gdunbar

 

Links: Nuke the Town

Coyote posts an article on his excellent blog:

http://www.rampantgames.com/blog/2009/04/frayed-knights-nuke-town.html

In it, a critic of his "Frayed Knights" demo proposes the option to eliminate the town level altogether, replacing it with simple menus for shopping, and cutscenes for plot exposition. This is certainly a reasonable suggestion; as a game designer, you should always be looking to cut out extraneous gameplay that slows down (and bores) the player. If a town could better be modelled as a set of quick-acting menu options, the player can get through his shopping and what-not, and get back to the action quicker.

A couple of examples of this:

Sid Meier's Pirates (both new and old) use a menu system for towns. In this case, the player can flow easily through the town options, and the quick flow through the menus is well suited to the lite-RPG system with simplistic shopping and quests. From http://compactiongames.about.com/library/screenshots/blscreens_piratesscr10.htm:




On the other side, Freelancer had a gorgeous, fully 3D, animated system for modelling the space-ports. Your character would walk around, interact with various NPC characters; your spaceship would launch from the space-port. However, the choices that a player could make were quite static, nothing more than a simple tree that could easily have been presented as a set of menus. Ultimately, I became bored and frustrated at having to watch the same animations (pretty as they were) over and over, when I just wanted to buy a bigger gun and get back into space to blast some more bad guys. From http://www.firingsquad.com/media/gallery_image.asp/82/5:



On the other hand, many games model their towns as just another level, using the same gameplay as the rest of the RPG. For instance, in the Infinity Engine games, your party walks around the town (same as a dungeon), and shopkeepers are the same kind of object as a monster. So, to shop, you walk up to the shopkeeper and initiate conversation, at which point you may talk to the shopkeeper, or you may enter into the shop interface.

This gameplay was very effective in Baldur's Gate 2, where the town was an active location of adventuring. From http://www.sorcerers.net/Games/BG2/Screenshots/image.php?image=Baldr025.jpg, the party in the theatre of Athkatla, where they can end up launching a quest from the basement:



On the other hand, from the same series, in Icewind Dale, the developers spent a lot of time creating a beautiful town nestled amongst the roots of a giant tree (can't remember the name of the town, sorry). However, while there were a few quests and encounters of note in the town, the thing I most remember was my characters running from one side of the map to the other, zig-zagging through roots the whole way, just so I could sell some loot at the store, or buy some new healing potions. This would have been a much better experience if the town had either been simplified into a smaller, easier to navigate map, or replaced completely with a simple menu system. From http://www.sorcerers.net/Games/IWD/Screenshots/image.php?image=SP_IWD044.jpg:



So, as a game designer, there are two main considerations you need to take in your design. The first, obviously, is in good gameplay, whether it be streamlined or deep and nuanced. If the town is just a place to shop and pick up quests, then a menu system might be a good idea; the player can make her choices quickly and clearly, and get to the action quickly. On the other hand, if the town is an integral part of your game, with interlocking quests around every corner, then modelling the town as part of your main gameplay can definitely be a good approach.

The second main factor is cost; important for all designers, but maybe more so for indies. The simplest menu system is pretty inexpensive to implement. However, what about the cost of art? If you have ten different towns, do you need different art for each town? Does each NPC need his own portrait? And, if your main game interface has a lot of animation and interaction, maybe your menu system needs to have 3D animated graphics as well (like Freelancer), to avoid looking ghetto. At the same time, designing a level for each town may be expensive as well; unless each town is providing nuanced interaction and choices, maybe a full model is too expensive, and a simpler menu system would work well.

As for my project, "Untitled SENG Game", I considered two main options. First, obviously, is to just make the town use the existing gameplay engine. The second option is to use the (existing) overland travel interface to provide a menu system for the locations in the town, and jump directly from there into either a small level for a location for an inn, or right into the conversation interface for a simple shopkeeper. Either of these options is relatively inexpensive; I can design town levels pretty easily, so using the gameplay engine is not too bad. And I think I can produce decent overhead maps of towns in a reasonable amount of time, so the travel interface would work OK as well. (If I had to produce decent art for street-level town views, I'd need to hire someone, and the cost would go up dramatically).

In my case, I really enjoy the nuanced gameplay in something like Baldur's Gate, where the town _is_ part of the game, not just a shopping menu. So, given that the costs are relatively sane for either option, I prefer (for this game, anyways) to use the gameplay engine for the town gameplay. If I were making more of a hack-n-slash game like Icewind Dale (or, even more so, Diablo), I would go with more of a menu approach.

gdunbar

gdunbar

 

Temple of the Abyssal Winds Complete

Temple of the Abyssal Winds is now complete, with all 6 chapters available for Windows and iPad! The release of Chapter 5: The Caverns of the Four Winds, and Chapter 6: The Chamber of the Four Winds, brings to a conclusion the full adventure.



[quote]
At last, confront the demoness Urgoroth in the very nucleus of her power, the Chamber of the Four Winds. Defeat her, and free the Timberhills from her threat once and for all; fail, and she is sure to rise again.[/quote]
Conclude your adventure in the classic-style role-playing game of Temple of the Abyssal Winds. All 6 chapters are now available, with the release of Chapter 5: The Caverns of the Four Winds, and Chapter 6: The Chamber of the Four Winds. On Windows, visit the website to purchase chapters 5 and 6, and on iPad, purchase chapters 5 and 6 as in-app purchases.

If you are new to Temple of the Abyssal Winds, chapter 1 is free to download and play for both platforms. Start there, and then move through chapters 2 through 6, concluding with your confrontation of the demoness herself. Merry Prankster Games invites you into the world of Temple of the Abyssal Winds!

You can find more information, or download Temple of the Abyssal Winds for Windows, on the website:

http://www.prankster.com/totaw

For iPad, Temple of the Abyssal Winds is available in the App Store:

Merry Prankster Games is a one-man band indie development studio, started in 1995 making the play-by-email game Atlantis. For more information about Merry Prankster Games visit: http://www.prankster.com or email Geoff Dunbar at totaw@prankster.com.

gdunbar

gdunbar

 

Got It!

Figured out (I believe) the issue with the app store. My code was barfing on displaying the chapter price, in a non-US locale. I still couldn't get the bug to exactly manifest, but by changing the locale (in code), I got it to blow up in the same place as the crash report from the app store review. So, here is TotAW displaying a chapter price in pounds.



I found some other places in the code that might have similar issues, and fixed them all.

So, back into app store review, as soon as I do a little more testing, and fix a couple of other minor issues that came up in the meantime.

Geoff

gdunbar

gdunbar

 

10 Fantasy Fights Feedback Thread

10 Fantasy Fights is a Merry Prankster Games demonstration game. For more information: http://www.prankster.com/10ff

Merry Prankster Games is desperate for feedback! Please post in the comments below any feedback you have on the game. Or, if you are shy, email directly: [email="10ff@prankster.com?subject=10FF%20Feedback"]10ff@prankster.com[/email]

See the first comment for some suggestions on what I'm looking for in feedback.

gdunbar

gdunbar

 

New Action System

Watching a couple of new folks play Temple of the Abyssal Winds (http://prankster.com/totaw), and playtesting myself, I had a couple of issues with the action system:
The old system requires that you bind an action (a spell or item with an effect, like a potion) to a quick action to use. New players wanted a way to more simply use an action.
Also, as your spellcaster moves to higher levels, you can accumulate a large number of spells that see occasional use. Having to assign a rarely used spell to a quick-action slot seems counter-intuitive, especially when it replaces a commonly-used spell.

So, new system. Now, there are 4 reserved actions (with the other 6 slots serving as quick actions, as before):
Talk.
Attack.
Action (see below).
Most recent action.

Slot 3, "Action", serves as a one-time action. You click on the slot, select the action (via a dialog), pick the target, and the action is taken.

Also, as part of this change, I remove the drag-and-drop for actions in the action dialog, and made it a simple select. This works better with the new system, and is a bit quicker.

Here is a video demonstration:

[media][/media]

gdunbar

gdunbar

 

10 Fantasy Fights Press Tour

This may be of no interest to anyone but me, but it is helpful for me to go and check for comments on 10FF. Here are the various posts and announcements about 10FF:
On this blog, of course.
GameDev.net: http://www.gamedev.n...ights-v10-beta/
IndieGamer.com: http://forums.indieg...ghts-v1.0-(Beta)
IndieGamer.com: http://forums.indieg...-Fantasy-Fights
RPGCodex.net: http://www.rpgcodex....4/#post-2260112
TIGSource.com: http://forums.tigsou...89625#msg789625
TIGSource.com: http://forums.tigsou...91878#msg791878
IndieDB.com: http://www.indiedb.c...-fantasy-fights
IndieRPGs.com: http://indierpgs.com...fantasy-fights/
RPGWatch.com: http://www.rpgwatch.com/show/newsbit?newsbit=20398
IndieGames.com: http://indiegames.co...asy_fights.html

gdunbar

gdunbar

 

Temple of the Abyssal Winds Discussion

This thread is for discussion of Temple of the Abyssal Winds (http://prankster.com/totaw). Questions, comments, you name it, put it here!

To comment on the thread, you'll need to Create Account. Registration is free; it's a little confusing but you if you click through without picking any of the paid options you'll be able to register and comment.

gdunbar

gdunbar

 

Untitled SENG Project: New UI

As I mentioned before (here in this very space), I've been focusing this summer on making code change to the SENG engine. I've just about wrapped up the user-interface changes, so I can share some screenshots here.

For historical purposes, UI v1 was an MFC-based UI, and as such, looked very "Windows", and very bland. Here's the HUD ("Heads Up Display", meaning in-game interface):





And here's a dialog; a store dialog, in this case, but representative of the overall look:





Looking back, I don't think they're that bad. But everyone I asked disagreed with me; I guess no one wants Windows in their RPG.

UI v2 was a completely new interface. As an aside, I've maintained pretty clear boundaries in the engine code between gameplay engine, graphics, and UI. As such, I've had a lot of success dropping in a new UI without having to touch much other code. Yet another instance where good code design (well, good for me, anyways) and modularity proves its worth!

Back to the interface, v2 was recoded, written directly on top of DirectX and Windows messages. I heavily used the D3DX extensions like ID3DXSprite. Here's the HUD:





And here's a dialog; once again, the store dialog:





This UI drew mixed reviews; anywhere from "functional but bland", to "it looks like an old DOS game". I thought the "DOS game" comment was unnecessary piling-on, but still, clearly a revamp was needed. I'm OK with the HUD, even still, but I agree that the look of the dialogs was pretty poor.

Now that I had the code in DirectX, changing the look was pretty easy. I was already pretty happy with the "feel" of the UI; things were nice and snappy, drag-and-drop worked properly, and so forth. So, I came up with the new design principles:

Make the UI look more modern, with a white-on-black look, and removing the bland backgrounds. I didn't copy NeverWinter Nights, exactly, but I did want my interface to look more like that.
In the previous UI, I tried to make the UI scalable, where the dialogs would get bigger or smaller depending on the resolution. They looked OK at the small resolutions, but looked funny at the higher resolutions that most people would play the game at. I dumped this idea, and went with fixed-sized dialogs for v3.
Also, in the previous UI, when displaying an item, spell, or other things like that, I tried to display the icon, name, and other information right in the UI. This led to largish UI elements that were hard to fit properly into dialogs. In v3, I put these things into a 48x48 element, and displayed most of the information in a hover window.

Here's the new HUD; this is actually pretty similar to the old HUD, but with the new look:





Here's the new store dialog:





And here's the new inventory dialog:





I'm pretty pleased with the new look. One note I would make is that I'm still using the icons from the old UI, which are too dark for the light-on-black look. I'm still only going to have a few icons, so, for example, all swords will have the same icon. But, I support icon coloring now, so a magic sword could glow light blue, instead of the generic gray of a normal sword.

Unfortunately I've changed to engine too much for "To The World Tree" to work with the engine anymore, so I can't release a demo with the new UI, so you'll have to live with the screenshots. As always, comments and questions are welcome.

gdunbar

gdunbar

 

The Infocom Project

Well, this may be of no interest to anyone, and certainly has little to do with my indie game development, but it's my blog, so there! A project I've been working on for decades has been to win all of the old text adventures by Infocom. These classic games were released during (and just before) my teenage years, and thus hold a special place of nostalgia for me. Wikipedia tells more: http://en.wikipedia.org/wiki/Infocom, you can find a list of the games here: http://pdd.if-legends.org/infocom/fact-sheet.txt, and all the documentation here: http://infodoc.plover.net/.

[font=Calibri][size=2][/font]

My copy of the games came from the "Lost Treasures of Infocom", volumes 1 and 2. I think I still have the floppy disks around somewhere. The official list of games has 35 canonical Infocom games. Right away I'm going to rule out three of the late games, Journey, Arthur, and Shogun, for a variety of semi-lame excuses:
They featured heavy illustration, rather than strictly text based (especially Journey, which apparently can be played without keyboard at all).
They aren't part of my Lost Treasures collections.
They are reviewed quite poorly (except for Journey).
I already have enough of these games to play!

I'm also going to rule out Sherlock, based on the "developed by Challenge Inc" tagline; Infocom was just the publisher.

So, that leaves me with 31 games. Prior to today, I had completed 13 of them. Let's make a list, in order of best to worst. I should note that this is a bit speculative (and very subjective!) as it has been decades since I played some of these, but based on memory:

Played Games, Best to Worst:
Enchanter
The Hitchhiker's Guide to the Galaxy
Sorceror
Zork III
Zork II
Zork I
Planetfall
Wishbringer
Stationfall
Plundered Hearts
The Leather Goddesses of Phobos
Starcross
Seastalker

Games to Play:
Spellbreaker
Trinity
Beyond Zork
Zork Zero
Suspended
A Mind Forever Voyaging
Deadline
The Witness
Suspect
Ballyhoo
Moonmist
Infidel
Cutthroats
Hollywood Hijinx
Bureaucracy
Nord and Bert
The Lurking Horror
Border Zone

Next up, Infidel!

gdunbar

gdunbar

 

iPad version

Here it is, a screenshot of 10FF running on an iPad Mini!



I am really psyched about this. This isn't just test or partial code; the complete engine is working, with "little" things like audio and everything. I believe the game is fully playable at this point, though I haven't gone through it to the finish yet.

The discerning will note: FPS: 0.96432 (and so on) at the bottom. Uhoh... When I first noticed the FPS, I was horrified. I mean, that isn't just a little slow. Step 1, I tried the Release version. No difference. Oh dear.

Step 2, I turned on the debug tracing. This was even more horrifying, as even running a game tick (without rendering anything) was taking 30ms. Getting 30 FPS isn't likely when you only get 30 FPS without even rendering! And rendering a frame was taking almost a full second.

Step 3, I turned to the XCode profiler. After some tomfoolery with debug symbols, I got it going, and at last, some good news. Under the profiling, doing a game tick is really fast, a millisecond maybe. On further reflection, I believe that tracing from the iPad to the debugger (on a Mac) is really slow, taking almost a millisecond just to trace a line. So with tracing on, performance craters.

I'm left with the rendering code, which I know can be much more optimized. But, I got even better news from the profiler. The actual level rendering code is quite speedy. The vast majority of the bad performance is coming from the HUD rendering! Well, I can optimize the heck out of that... in fact the majority of the bad perf is from text rendering, which should be super easy to cache on a texture. So, that's good news.

Just to verify, I turned off the HUD and the game did actually render at 30 FPS. There were a few little glitches here and there, but I suspect I know what that is, and can optimize that away. So, all in all, good news.

Geoff

gdunbar

gdunbar

 

Game UI render

Happy Holidays everyone! Here is evidence of the UI rendering, with text (iOS simulator screenshot):



This is the actual 10FF UI. Other than some little glitches, you can successfully create a character and start a game! Which then crashes and burns before displaying a single frame. Getting there, though.

Geoff

gdunbar

gdunbar

 

Level rendering

Got level rendering working on the iOS simulator:



I had to show a screenshot of the very start of the beginning level, as I don't have the touch events wired properly yet and you can't move at all. The discerning eye will also note some face culling issues. And perf is crap. But definite progress.

Geoff

gdunbar

gdunbar

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!