Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old April 5, 2014, 00:14   #1
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,163
Donated: $60
Nick is on a distinguished road
Restructure update

When I started as maintainer at (roughly) the beginning of the year, I made it fairly clear that the first thing to do was a big restructure of the code. It seems like now might be a good idea to talk a bit about how that's going.

At the start I had a rough figure of a year to get the restructure done, and I think we're probably about on target. Here's an outline of what everyone's been doing:
  • molybdenum has rewritten a lot of code to clarify it, especially for spellcasting and objects, and added now low-level routines to enable more modularity (moving stuff to edit files, etc).
  • takkaria has completed a large chunk of the rewrite of the command system, and is showing signs of rewriting the event system as well - this is all to separate the game core from the interface.
  • I have clarified some data structures, reorganised dungeon generation and am currently reorganising objects.
  • The rest of the devteam have contributed to these efforts along the way, maintained and improved things like autobuilding of code, cleaned up my mistakes, and let me know when I'm doing something stupid without saying it in those words.
  • All of us have been cleaning out unnecessary garbage from the code whenever we find it.
This is only a rough outline, and I've probably given people insufficient credit. There has been a lot of work done, and I for one am having a lot of fun with it.

As an indicator of progress (and it's a pretty vague one), there have been about 350 individual code commits since 3.5 - this compares with on average about 700 between 3.3 and 3.4, and between 3.4 and 3.5.

For anyone interested in more detail, the restruct branch is here.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old April 5, 2014, 02:15   #2
krazyhades
Swordsman
 
Join Date: Jun 2013
Posts: 427
krazyhades is on a distinguished road
Thank you for the news, and to all the developers for the work that goes into making Angband the best it has ever been.
krazyhades is offline   Reply With Quote
Old April 5, 2014, 08:10   #3
Mondkalb
Knight
 
Mondkalb's Avatar
 
Join Date: Apr 2007
Posts: 899
Mondkalb is on a distinguished road
It is beyond me how anybody can take on such a Sisyphean task and then call it fun. Still, I hope I will be enjoying the final output.
Thanks to all involved.
Mondkalb is offline   Reply With Quote
Old April 10, 2014, 14:13   #4
AnonymousHero
Veteran
 
AnonymousHero's Avatar
 
Join Date: Jun 2007
Posts: 1,356
AnonymousHero is on a distinguished road
Quote:
Originally Posted by Mondkalb View Post
It is beyond me how anybody can take on such a Sisyphean task and then call it fun. Still, I hope I will be enjoying the final output.
Thanks to all involved.
Believe it or not janitorial/maintenance coding can actually be fun, but perhaps only to the most masochistic of the species known as "programmers". There's nothing quite like deleting 2000 lines of code and having the thing work exactly like it did before (and perhaps even a little faster).

Anyway... when's the C++/Qt rewrite going to happen? /ducks
AnonymousHero is offline   Reply With Quote
Old August 6, 2014, 01:38   #5
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,163
Donated: $60
Nick is on a distinguished road
OK, 4 months since the last update, here's the highlights since then:
  • Slays, brands, numerical modifiers and element-related properties of objects are moved into their own structures instead of being flags
  • Identify information for objects is based on known properties rather than stages of ID
  • Player equipment slots are now part of a race-dependent body (currently there is only one)
  • All the player gear is now in one big structure, and the inventory, equipment and quiver are determined by analysing that (no more wielding to the quiver)
  • Hard-coding of object tvals and svals is gone, so objects can be safely added and moved around in object.txt
  • Special artifacts are handled straight from artifact.txt; an unrecognised object kind (like Phial) automatically has a new object kind defined for it
  • "Squelching" has been fully renamed to ignoring, and ignoring can now be done by ego type
  • Player spellcasting (which books, what spells are in them, what the spells do) is now fully defined in p_class.txt
  • Artifact activation definitions are now in an edit file
  • Object effects, trap effects and player spell effects now use the same effect code with details defined in edit files
  • Currently monster spells are being moved to an edit file and their effects are being rolled in with the others; the plan is to roll monster blow effects in with this too

I was aiming for a year - with 4 months of that to go, I think I'll probably fall short. I'd be fairly confident about saying first few months of next year to release version 4.0
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old August 6, 2014, 02:53   #6
debo
Veteran
 
debo's Avatar
 
Join Date: Oct 2011
Location: Toronto, Canada
Posts: 2,342
debo is on a distinguished road
No rockets? What's even the point
__________________
Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'
debo is offline   Reply With Quote
Old August 6, 2014, 03:25   #7
mrrstark
Adept
 
Join Date: Aug 2013
Posts: 101
mrrstark is on a distinguished road
Curious: How is the UI -> Command Events -> Game Logic separation going?

Also, with the player spellcasting changes, are either of these possible / easier to implement? (for a variant...)
- Bookless caster?
- Caster who can cast from multiple schools?

Thanks for the hard work!
mrrstark is offline   Reply With Quote
Old August 6, 2014, 04:10   #8
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,447
Derakon is on a distinguished road
Impressive work! This all sounds great from a modifiability standpoint. Great job, everyone!
Derakon is offline   Reply With Quote
Old August 7, 2014, 01:04   #9
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
Neat .....
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old August 7, 2014, 03:01   #10
Lionmaruu
Scout
 
Join Date: Nov 2013
Posts: 29
Lionmaruu is on a distinguished road
Man the stuff is looking awesome! great things to come I hope.
Thank you for the info and all involved for the hard work!
Lionmaruu is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ladder restructure request OOD Town drunk Vanilla 7 April 4, 2013 16:11
v4 update Magnate v4 10 December 13, 2011 13:40
Ladder Update UglySquirrell Vanilla 2 September 20, 2011 04:50
Quickband update Antoine Variants 11 March 21, 2011 01:26
Help me update PosBand! pampl Development 20 December 27, 2010 18:55


All times are GMT +1. The time now is 07:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.