Chaosforge Forum

  • March 28, 2024, 09:17
  • Welcome, Guest
Please login or register.



Login with username, password and session length
Pages: [1]

Author Topic: What should never be  (Read 8838 times)

Igor Savin

  • Elder Chaos Guard
  • Second Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 180
    • View Profile
What should never be
« on: May 03, 2009, 04:00 »

Since I'm the only candidate for Valkyrie maintenance at the moment, probably now is the appropriate time for articulating my personal vision of the Valkyrie development, which should probable be enough for any sane person to permanently forbid me coming closer than 50 feet to any computer with FPC installed to it.

Let's take a shot at it.

First of all, I must confess, there's lots of magic inside Valkyrie for me; I have clearly no idea how many parts of it work or how I could use them for my benefit. It's totally a nuclear-bomb-for-president: infinitely powerful black-box.

Thus I would break my aggressive overtake plan into four phases.

1) Part-by-part disassembling (as in "tinkering") with trying to think of one hypothetical case where one particular procedure might be used, trying it and documenting an example should I succeed. That would both serve my own understanding on what kind of a realm I'm trying to control, and increasing the amount of documentation we have at hand.

2) After I can boast at least 45% understanding of Valkyrie feature-set, time for refactoring comes. I am structure Nazi and most probably will have to reshape certain things to simplify further development.

3) Third phase is finally useful for the community: The Great Merge. Valkyrie will be enriched by set of my Golem libraries, which will mean you are getting powerful and easily customizeable Save\Load, Inventory, Item, Skill, Global Map, Creature (and so on) infrastructure for free.

4) Final phase: mature development! Here we are fixing bugs, improving performance and thinking of new features.


Now closer to my global vision of Valkyrie. Kornel did a wonderful job at laying the groundwork for FreePascal-based game development and I don't think there is need for any additional fundamental features. I see my task as improving inner structure of existing shrine (thus simplifing use and decreasing learning time needed) and adding more game development ready-made tools - things like currently existing LOS code. Thus sometime later a poll will most likely be held to estimate, what additional modules would be of the greatest use for fellow FPC developers.
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
Re: What should never be
« Reply #1 on: May 03, 2009, 08:58 »

Since I'm the only candidate for Valkyrie maintenance at the moment, probably now is the appropriate time for articulating my personal vision of the Valkyrie development, which should probable be enough for any sane person to permanently forbid me coming closer than 50 feet to any computer with FPC installed to it.

Nah, didn't work :P

First of all, I must confess, there's lots of magic inside Valkyrie for me; I have clearly no idea how many parts of it work or how I could use them for my benefit. It's totally a nuclear-bomb-for-president: infinitely powerful black-box.

Be happy that you don't try to read C++ templates (Boost sources FTW!). Pascal is very straightforward compared to that -- once you grasp the few basic ideas, it should be fine.

1) Part-by-part disassembling (as in "tinkering") with trying to think of one hypothetical case where one particular procedure might be used, trying it and documenting an example should I succeed. That would both serve my own understanding on what kind of a realm I'm trying to control, and increasing the amount of documentation we have at hand.
Typing and documenting an example would be brilliant! Commit the examples to a new directory ( as in trunk/examples/module/file ). Also, maybe unit tests would be a good idea? Documentation of the source code itself is also lacking -- it'd be nice if each function has it's parameters and return value described PasDoc style -- see ( http://pasdoc.sipsolutions.net/SupportedTags ).

Also, try the junior-tagged tasks in the Trac Wiki, on the main page.

2) After I can boast at least 45% understanding of Valkyrie feature-set, time for refactoring comes. I am structure Nazi and most probably will have to reshape certain things to simplify further development.
It'd be nice to communicate them beforehand to the community -- also, a primary factor would be to keep compatibility with all the existing ChaosForge roguelikes -- Berserk! and DiabloRL FPC you can do yourself, as far as Aliens and DoomRL go I can do that.

Remember to explicitly communicate and log all the changes to the API!

3) Third phase is finally useful for the community: The Great Merge. Valkyrie will be enriched by set of my Golem libraries, which will mean you are getting powerful and easily customizeable Save\Load, Inventory, Item, Skill, Global Map, Creature (and so on) infrastructure for free.
This really interests me, I'd really like to see that code :).

Now closer to my global vision of Valkyrie. Kornel did a wonderful job at laying the groundwork for FreePascal-based game development and I don't think there is need for any additional fundamental features. I see my task as improving inner structure of existing shrine (thus simplifing use and decreasing learning time needed) and adding more game development ready-made tools - things like currently existing LOS code. Thus sometime later a poll will most likely be held to estimate, what additional modules would be of the greatest use for fellow FPC developers.

That would be great!

For all interested, FPC Valkyrie now has a proper SourceForge site and Trac Wiki/Tracker! :
http://apps.sourceforge.net/trac/fpcvalkyrie/wiki
Logged
at your service,
Kornel Kisielewicz

Igor Savin

  • Elder Chaos Guard
  • Second Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 180
    • View Profile
Re: What should never be
« Reply #2 on: May 03, 2009, 13:34 »

Quote
Nah, didn't work :P

Will try harder next time.


Quote
Also, maybe unit tests would be a good idea?

Perhaps. I'm QA guru after all :-P


Quote
Also, try the junior-tagged tasks in the Trac Wiki

OK.


Quote
a primary factor would be to keep compatibility with all the existing ChaosForge roguelikes

I'll try to. I'll start with non-visible to the end user changes anyway.


Quote
This really interests me, I'd really like to see that code :).

Not perfect yet. Won't show.



Back to my dream project for now. Will be back.
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
Re: What should never be
« Reply #3 on: May 03, 2009, 13:58 »

Not perfect yet. Won't show.
That means "never"? :P

Back to my dream project for now. Will be back.
Dismissed, and Good Luck!
Logged
at your service,
Kornel Kisielewicz

Igor Savin

  • Elder Chaos Guard
  • Second Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 180
    • View Profile
Re: What should never be
« Reply #4 on: May 04, 2009, 12:30 »

Quote
That means "never"? :P

Achieving perfection is the easiest thing in the world. I know because I've almost achieved it thousands of times.
Logged
Pages: [1]