|
![]() |
#1 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Unofficial Sil rewrite
As I've mentioned over on the Beleriand thread, I'm doing a rewrite of Sil 1.3 based on modern Angband code. I knew going in that this was quite a task, and assumed it would take me some number of months; I'm currently aiming at six months (so end of June) to have something that compiles and runs, at least.
Largely for my own future benefit, I'm going to give an outline of what's done and what's to be done at roughly the 4-month mark. Done:
![]()
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#2 | |
Adept
|
Quote:
Have you left the vanilla tile graphics code in? Even though Quirk says it's impossible I'd like to take a stab at making at least the Gervais tiles work. After this project is finished are you thinking of being the maintainer for Sil 1.3, making updates and changes? |
|
![]() |
![]() |
![]() |
#3 | ||
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Quote:
Quote:
![]() The original reason behind doing this was to import a lot of it (combat and smithing at least) into Beleriand. It's safe to say that my plans for both projects are fluid. My initial aim with Sil is to get it running and to be close (but possibly not identical) in gameplay to actual Sil 1.3. I don't actually know the game well enough yet to start changing it in a serious way, but anything is possible.
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
||
![]() |
![]() |
![]() |
#4 | |
Swordsman
Join Date: Mar 2016
Posts: 462
![]() |
Quote:
Sil's object/dungeon generation approach is to throw stuff at the wall and see if it sticks. Probabilistically, eventually it will. See for instance the while(TRUE) loop in generate_cave() in generate.c. This is bad; it's an algorithm not guaranteed to terminate. It would be preferable to throw the entire thing away and use a deterministic algorithm. For dungeon generation it's unlikely people will notice a difference. With object generation (one infinite loop here being in place_object in object2.c) the critical question has to do with mapping the way rarity works across, so the rarest items don't become significantly more or less rare. Understanding the failure cases from get_obj_num and how they actually impact the rarity calculations will be necessary if approximation of Sil 1.3 behaviour is desired. Both of these are pieces of work I have long put off. It's possible they're not as gnarly as they look. From a Beleriand perspective it is probably more important to have comprehensible object generation and rarities that map to real percentages, so it may not be not worth devoting too much effort to replicating 1.3 behaviour unless you anticipate people playing this instead of original 1.3; this is a constraint I have that you possibly don't. |
|
![]() |
![]() |
![]() |
#5 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Thanks, that's very useful advice. Angband has done a lot of removing of these non-terminating cases, so I'm likely to be able to just adopt existing code; your point about maintaining the probability distributions is a good one, though.
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#6 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Hahahahahahahahahahahahahahahahahahahaha not even close
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#7 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Update on the original post; I have now done:
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#8 |
Swordsman
Join Date: Aug 2019
Posts: 412
![]() |
I have changes for Angband 4.2 to allow for a tutorial mode and have the tutorial layout driven by a data file (rather than a special save file as in Sil). It still needs some tidying and more work on the draft tutorial in the data file. Because it introduces a new object type for the tutorial notes, it also breaks moving save files back and forth from other 4.2 versions. I'm not planning on putting it forward as a pull request until we've started making save file breaking changes for 4.3.
|
![]() |
![]() |
![]() |
#9 | |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,528
Donated: $60
![]() ![]() |
Quote:
![]()
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
|
![]() |
![]() |
![]() |
#10 |
Rookie
Join Date: Jul 2009
Location: Canberra
Age: 58
Posts: 15
![]() |
Thanks for the updates Nick (and backwardsEric). I check the forums each day hoping for news of Beleriand. I'm looking forward to seeing it!
|
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Unangband unofficial bug thread | Philip | Variants | 29 | February 3, 2012 13:35 |
Unofficial DAJAngband 1.31 bugs n' stuff | buzzkill | Variants | 28 | August 15, 2011 22:16 |
Unofficial Oangband release | Nick | Variants | 101 | September 4, 2009 15:47 |
Sangband - questions about latest offical/unofficial version | NotMorgoth | Variants | 11 | September 27, 2008 10:23 |
Screensaver needs to rewrite some code | APWhite | Vanilla | 0 | October 16, 2007 21:19 |