Coding > FPC Valkyrie

What should never be

(1/1)

Igor Savin:
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.

Kornel Kisielewicz:

--- Quote from: Igor Savin 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.

--- End quote ---

Nah, didn't work :P


--- Quote from: Igor Savin on May 03, 2009, 04:00 ---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.

--- End quote ---

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.


--- Quote from: Igor Savin on May 03, 2009, 04:00 ---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.

--- End quote ---
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.


--- Quote from: Igor Savin on May 03, 2009, 04:00 ---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.

--- End quote ---
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!


--- Quote from: Igor Savin on May 03, 2009, 04:00 ---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.

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


--- Quote from: Igor Savin on May 03, 2009, 04:00 ---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.

--- End quote ---

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

Igor Savin:

--- Quote ---Nah, didn't work :P
--- End quote ---

Will try harder next time.



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

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



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

OK.



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

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 :).
--- End quote ---

Not perfect yet. Won't show.



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

Kornel Kisielewicz:

--- Quote from: Igor Savin on May 03, 2009, 13:34 ---Not perfect yet. Won't show.

--- End quote ---
That means "never"? :P


--- Quote from: Igor Savin on May 03, 2009, 13:34 ---Back to my dream project for now. Will be back.

--- End quote ---
Dismissed, and Good Luck!

Igor Savin:

--- Quote ---That means "never"? :P
--- End quote ---

Achieving perfection is the easiest thing in the world. I know because I've almost achieved it thousands of times.

Navigation

[0] Message Index

Go to full version