Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - chooseusername

Pages: [1] 2 3
1
Are you involved with text-based gaming?  If so, whether your involvement is in mudding, roguelikes, interactive fiction, gamebooks, browser games or maybe even something else, please consider writing an article for Imaginary Realities.

Imaginary Realities is an online journal which first ran from September 1998 to December 2001, originally focused on mudding.  It has been revived, and had published a new issue just recently, which you can find here:

http://journal.imaginary-realities.com/

Find more details about suitable article topics here:

http://journal.imaginary-realities.com/contribute.html

Please email me before writing an article, to confirm that the topic you are interested in writing about, is both suitable and within our range of coverage at this email address:

richard.m.tew@gmail.com

Articles should be in the range of 1000-4000 words, and need to be received by September 30th, 2015.  Longer articles are possible for serialisation, with approval required.

2
Traditional Roguelikes (Turn Based) / Incursion (open source) 0.6.9Y19
« on: August 14, 2015, 04:22:51 AM »
Incursion (open source) 0.6.9Y19

An updated download is available on bitbucket: 0.6.9Y19.

Changes:
  • Issue 207: Incursion domain names finished transferring from Julian.
  • Issue 209: Make a standalone module compiler.  This is as done as it can be, and it is now possible to invoke the debug Incursion executable with the '-compile' argument to get it to build the default core module 'main.irc'.  '-compile <modulename.irc>' can be used instead to build other modules.
  • Issue 217: When Google Breakpad minidumping was first added, it was promptly removed when people started complaining that Error() would crash trying to do a minidump.  Now in release builds, which are the only ones with Breakpad support, the Error() function allows the user to choose to try and drop a minidump.
  • Issue 222: Spelling and grammar fixes.  Pull request from Carl Minden.
  • Issue 231: Help menu entries were present for content which was not present.  Reported by Vornag.
  • Issue 233: Cancelling crashed when fields were encountered with no associated effect. Reported by Vornag.
  • Issue 235: Typo in text displayed when attempting to climb.  Reported by Vornag.
  • Issue 236: Moving between levels crashes when an illusion stops as days pass and then the UI is refreshed but the 'between levels' coordinates of -1, -1 choke everything that consumes them.  Reported by Esran Zarnath.
  • Issue 239: Secondary skill kit bonuses should be one per item type, not one per each of item type held by player.  This is not ideal as there may be multiple different visual item types for instance, but at least it no longer exploitable by holding 20 viewing lenses.
  • Issue 240: Your best type of rope in your inventory should add a given bonus to climbing attempts.  However, the wrong value is looked up and all ropes give +2 bonus (which is less than any rope bonus).
  • Issue 243: Remove reference to Julian, and feedback on game design.  Reported by Dave Duckett.
  • Spelling fix: ressurrection/ressurection -> resurrection.
  • Documented script constants, noting which were unused.  These are used for dungeon creation, defining how gods interact with players, and more.

3
Our latest issue has been released.  It features only one article on Roguelikes, but that one article is titled "How integral are letters and text to ASCII gaming?" by Mark Johnson, frequent forum favourite for URR.  In addition, there's an article on interactive fiction in the USSR and there rest are related to mudding.

Read it online.  We used to provide EPUB and PDF e-books to download for offline reading, but for now additional work needs to be done to bring them back.

Enjoy! Or not!

4
Programming / Visual Studio so close to awesome
« on: June 30, 2015, 08:05:12 AM »
I was working on my Roguelike engine and something I've made use of is anonymous structs and unions, which come as part of C11.

Code: [Select]
struct tagged {
    unsigned int top_type;
    struct {
        int b;
    };
    struct {
        unsigned int key_type;
        union {
            char c;
            char text[32];
            unsigned int keycode;
        };
    };
};
All struct and union members accessible on the same flattened level.  Now you might wonder what happens if you want to share a part of this in two locations.  You could make a #define and hack it in place anonymously, or you could take advantage of a custom microsoft extension to C (also available in GCC).
Code: [Select]
union shared_key_value_u {
    char c;
    char text[32];
    unsigned int keycode;
};

struct shared_key_entry_s {
unsigned int key_type;
union shared_key_value_u;
};

struct location1_s {
    unsigned int top_type;
    struct {
        int b;
    };
    struct shared_key_entry_s;
};

union location2_u {
    struct shared_key_entry_s;
    unsigned int v1;
    struct {
        int aa;
        char cc;
    };
};
This allows me to write much nicer code.  Honestly, I think it should have been part of the C11 standard.  It's portable anyway, as you can pass "-fms-extensions" to GCC.

The only problem is that Intellisense doesn't implement the same grammar as the VS compiler, so it chokes and claims an error on every single member reference that compiles without error.  Which, floods your editor view with red incorrect noise.

Such a pity.  The weird thing is that Intellisense will work, if you limit your usage of this feature, perhaps to 'struct location1_s' or 'struct shared_key_entry_s'.  But if you throw in the 'union location2_u' case, then all the other cases now choke in Intellisense where they didn't before.  So annoying.

I hope they fix this in VS2015 which is coming out in a month.

5
Hi,

The libtcod bitbucket repo has moved under the new libtcod team:

  https://bitbucket.org/libtcod

It used to be under the url (which now 404s):

  https://bitbucket.org/jice/libtcod

As the repo has been transferred properly from jice's account, it contains all issues, and existing forks and watchers are still linked to it.  But if you pull from the old repo, it will no longer work.  You will need to update the hg repo url your clone uses.

Jice may make an announcement related to this as he finds time.

Cheers!

6
Are you involved with text-based gaming?  If so, whether your involvement is in mudding, roguelikes, interactive fiction, gamebooks, browser games or maybe even something else, please consider writing an article for Imaginary Realities.

Imaginary Realities is an online journal which first ran from September 1998 to December 2001, originally focused on mudding.  It has been revived, and had published a new issue just recently, which you can find here:

http://journal.imaginary-realities.com/volume-07/issue-02/

Find more details about suitable article topics here:

http://journal.imaginary-realities.com/volume-07/issue-02/request-for-content/index.html

Please email me before writing an article, to confirm that the topic you are interested in writing about, is both suitable and within our range of coverage at this email address:

richard.m.tew@gmail.com

Articles should be in the range of 1000-4000 words, and need to be received by May 31st, 2015.  Longer articles are possible for serialisation, with approval required.

7
First published in 2001, Imaginary Realities is remembered fondly as being a place where you can read interesting mudding-related articles.  Or even get your own published.

Our new revival is targeted at text-based gaming in general, and in this issue we feature our first roguelike-related article kindly contributed by Matthew Ward.

Read it online, or download a version to read offline at:

http://journal.imaginary-realities.com/volume-07/issue-02/index.html

8
Anyone want to do some volunteer work for the developer community? 

Going through the various articles on roguebasin and sorting out the dead links would be a good step.  They're pretty well referenced by people who have used them, but they could use a bit of maintenance.

Delving a connected cave is littered with links to images on low quality image hosting sites.

Scrolling map has a link to a C# implementation on some random site that no longer exists.  Really, the Python implementation that is there, is pretty unhelpful for that matter.

For that matter the PCG wiki is stagnating.  The only occasional activity is someone doing a minor edit to the page for a specific game.  But the majority of it's referral traffic is from game development related sources, and related to generation.  And similarly it's other traffic.  One advantage it has, is that images can be uploaded and used in the pages - which presumably the inability to do so for roguebasin is part of the problem.  At one stage I think Doull had plans for fancy interactive javascript tutorials, but that never eventuated for lack of anyone willing to do the work.  The wiki hosting for the pcg wiki is likely also a bit more commercial and ad-driven than it used to be.


9
The primary reason for this update, is to do a release that does not violate the GPL.  If you are using an older version be aware that it includes unused code which was not discarded by the compiler, and that this becomes a GPL violation in some meaningless way.  Other changes not listed below are to make the compilation instructions clearer and more explicit, including a new Windows build script which does all the work.  If you use Windows there's never been a better time to get involved in Incursion development.

Note that the official Incursion domains may go down for a few days while the domains are being transferred due to various issues, like myself and the previous owner, using the same host.

An updated download is available on bitbucket: 0.6.9Y16.

Changes:
  • Issue 1: Implemented 'pain tolerance' feat.  Pull request submitted by thehouseoflai@Bitbucket.
  • Issue 205: Enabled sub-races support.  This was disabled but has now been reenabled, is untested and generally unsupported.   Pull request submitted by Thydron@Bitbucket.
  • Issue 206: GPLv2 violation within unused code compiled into the distribution binaries reported by johnny0@Bitbucket.  Rather than relying on compiler dead code removal, now the problematic file (the Accent compiler compiler runtime) is explicitly excluded from the distribution build.
  • Issue 207: Incursion domain name transfers.  Outstanding donations in the paypal account ($28.52US) have been used to fund transfer of the 'incursion-roguelike.org/.net/.com' domains from the original Incursion author, Julian.  This will prevent people finding the old stale domains which refer to old releases, and experiencing a more broken Incursion.  And will provide a better entrypoint than the bitbucket project page.  In the long term, the .net and .com domains may be discarded.

10
Are you involved with text-based gaming?  If so, whether your involvement is in mudding, roguelikes, interactive fiction, gamebooks, browser games or maybe even something else, please consider writing an article for Imaginary Realities.

Imaginary Realities is an online journal which originally ran from September 1998 to December 2001, primarily focused on mudding.  It has been revived, and had published a new issue just recently, which you can find here:

http://journal.imaginary-realities.com/volume-07/issue-01/

If you’re interested in the older issues, you can also find them here:

http://imaginary-realities.disinterest.org

Find more details about suitable article topics here:

http://journal.imaginary-realities.com/volume-06/issue-01/request-for-content/index.html

Please email me before writing an article, to confirm that the topic you are interested in writing about, is both suitable and within our range of coverage at this email address:

richard.m.tew@gmail.com

Articles should be in the range of 1000-4000 words, and need to be received by February 28th, 2015.  Longer articles are possible for serialisation, with approval required.

11
Programming / 'PDCurses' versus 'PDCurses for "real" windows'
« on: January 10, 2015, 04:21:51 AM »
There's PDCurses, which is old.  And there's a new version which is confusingly entitled 'PDCurses for "real" windows', written by someone else which does something different - i.e. opens a window rather than using the DOS console.

Does anyone have any practical experience with them both?

Is the latter accessible by screen readers?

12
Programming / Colours and curses
« on: January 10, 2015, 04:19:53 AM »
I'm experimenting with porting Incursion to use curses, specifically PDCurses, which enables a DOS console on Windows to be used with the curses API.

One difficult to use part of the curses API, is the colour of characters, which uses a colour pair index.  Does anyone with experience using it have any good suggestions about how to use it to for dynamically encountered colour pairs?

As I do not know what colour pairs will be used, until the codebase tries to render them, this is somewhat difficult to set up in advance.  Perhaps also links to specific implementations of colour pair handling code which you know are not wastes of time?

13
Off-topic (Locked) / Festivus is here
« on: December 22, 2014, 09:59:23 PM »
For those of us opting out of the commerciality that this time of year represents, today, December 23rd is the day to observe Festivus.  Put out your aluminium pole, and get ready to air your grievances.

14
Incursion (open source) 0.6.9Y15 - December 23rd / Festivus release!

An updated download is available on bitbucket: 0.6.9Y15.

This release should be the most stable one yet.  A lot of bugs introduced while cleaning up the code since taking up the project, have been fixed.  In addition to a good raft of legacy bugs.  Even one feature!  Does not include tacky Christmas nonsense!   Also does not include classy Festivus nonsense!

Changes:
  • Issue 4: Implemented 'amplify spell' metamagic feat.  This reduces the target's magic resistance by 25%.
  • Issue 44: Added note to empty handed warning about ability to switch warning off in the options.
  • Issue 46: Character sheet recall monster option allows a user to read a card detailing the selected monster type.  However, certain monster categories were not displaying correctly because the value was bumped 100000 as an indicator and the value's variable was an int16.  Reported by Stone_Dog@Bitbucket.
  • Issue 179: Legacy bug!  If you provide an assignment operator overload, then you should provide a matching copy constructor.  The reason for this is that you are sometimes likely to assign in a variable declaration, which uses the latter not the former.  Not providing the copy constructor, will do a bitwise copy which will result in this case in EventInfo instances sharing the same string references.  The first to get destroyed, will destroy the strings it thinks it owns, and either corruption or crashing will then happen.  Reported by Felius@Bay12.
  • Issue 183: If the user set 'Roguelike Keyset' to 'ON' and 'Shift Arrow Keys' to 'Run', shift and any of the 'vi keys' would not result in the player running.  This is an artifact of the move from Allegro to libtcod.  There's a special place in hell reserved for the SDL developers and their new API which goes lowest common denominator in order to cram in support for the mobile experience.  If someone presses 'h' it is a text event, if someone presses shift+'h' it is a key event with the shift modifier.  Ugh.  Reported by dck k, with reproduction case.
  • Issue 185: The victim oriented message shown to bystanders when an attack attempt was towards a weapon, rather than it's wielder, was about the actor rather than the victim.   This meant a mud elemental attacking a weapon would result in a message describing the weapon to be the mud elemental's rather than the wielders.  Reported by Georgy Vlasov.
  • Issue 186: 'One body, one soul' feat was intended to substitute best attribute value out of wisdom and constitution in some circumstances, but the code was wrong.  Reported by Karagy, with patch.
  • Issue 187: Doing an enter action via the 'y' use menu did not validate the target object type before sending the event, and the script engine would choke when it found that whatever it was the player was trying to enter, was not a portal.  Reported by Karagy, with handy save file.
  • Issue 188: Selecting an item from the inventory would crash if there were more than 100 items in there somewhere.  This was a hard-coded limit added in a previous bug fix, for some reason.  Now buffer is reallocated by enumeration function and problem goes away.  Reported by Felius@Bay12, with handy save file.
  • Issue 189: Precision strike had no range constraint, allowing it to be used against distant targets.  It uses the wielded weapon, otherwise the default attack of the racial type.  If the wielded weapon was ranged, then it was used as a brawl weapon naively.  For now precision strike cannot be used if the wielded weapon is ranged.  Reported by Felius@Bay12, with handy save file.
  • Issue 190: If a god is angry but decides to act later, then a stati was registered for it. Unfortunately, it wasn't checked if there was already such a stati from a previous decision to act and act later, so they accumulate and the maximum number of stati that can be present on the player is hit, resulting in a red box.  Reported by Felius@Bay12, with handy save file.
  • Issue 191: When people use the roguelike keyset, this overrides all the keys that comprise the roguelike keyset to do arrow key movements.  Unfortunately this means that any menu that expects these keys gets the movement character instead.  Including in this case, the learn spell option in the character sheet.  Now if roguelike keyset is in use, 'E' is advertised as the key instead of 'L'.  Reported by Thyme Oregano@Bitbucket.
  • Issue 192: Compilation warning fixes broke money transfers, resulting in bugged amounts being transferred due to signed/unsigned variable interaction.  Reported by Felius@Bay12, with handy save file.
  • Issue 193: Compilation warning fixes broke casted touch attacks, resulting in crashes.  Reported by Felius@Bay12, with handy save file.
  • Issue 194: Compilation warning fixes broke praying for aid.  Reported by Felius@Bay12, with handy save file.
  • Issue 195: Observed messages where the action for some reason could be observed, but the actor could not be identified, would report the action as 'It blah blah..' as a substitution for 'The thing blah blah..'.  Now, the message observed is 'Something blah blah..' in this case.
  • Issue 196: When someone successfully counterspells, they get the act factored into when their next action happens, as a delay. The problem was that counterspell has benefits over and above the advertised ones, where the delay is reduced as the skill level of counterspell increases. This then goes negative at a certain level, and puts the player out of commission with a permanent timeout.  Reported by Felius@Bay12, with handy save file.
  • Issue 199: The poison doses requires to coat each 10 missiles, required 1 dose for the first 20 and an additional dose for each additional 10. This is bad math. It should be 1 dose per 10. Reported by Felius@Bay12.
  • Issue 200: Undefined 141 appeared in character abilities listing, this is because Master Artisan lacked an entry in the naming table.
  • Issue 201: The code which considers paralysis of a target as valid for coup de gras checked skills on the actor, rather than the victim.  Reported by Felius@Bay12, with handy save file.
  • Issue 202: The attribute rolling animation took a strangely long time.  The animation display update, and display delay were the same, but just seemed more effective (and slower) under libtcod.  This is fixed by only updating the animation for the first 0.5 seconds of the roll, as it's all a super fast graphical affectation anyway.

15
Development Process & non-technical / Dev blog aggregator
« on: November 17, 2014, 04:07:18 AM »
Do you make blog posts related to your development work on a roguelike?  If so, please let me know the RSS/ATOM feed of your blog.

I aggregate development posts on Planet RLDev, and this allows people to go to one place to discover, and keep up to date with roguelike development posts.  People claim it encourages posts by different developers chiming in on the same subjects and riffing off each other, but all I claim is that it makes roguelike development blogs easier to find.  Anyone who subscribes can automatically get the development posts from relevant blogs without going out there occasionally looking for them.

Note that the content is strictly limited to posts that contain development details.  No update posts with changelogs.  No game reviews. No general programming posts on subjects not directly related to a roguelike. People who add this to their blog reader can count on only getting what they've signed up for.  To this end, all people who want their blog included are encouraged to make a roguelike development tag or category on their blog site, and the RSS/ATOM feed should be restricted to that tag or category.  Blogs which interject off topic posts are continually removed.  For people who want more general roguelike feeds where anything off topic can be posted, there are sites which do that for you.

Pages: [1] 2 3