FIFE forums

Please login or register.

Login with username, password and session length
Advanced search  

News:

FIFE 0.4.0 has been released on 15th of January, 2017!

Author Topic: Prioritizing our time/efforts  (Read 2602 times)

prock

  • Developer
  • Full Member
  • *
  • Posts: 236
    • View Profile
Prioritizing our time/efforts
« on: March 29, 2012, 04:53:41 pm »

Hi All,

As you know I'm trying to get a list of priorities together for the direction of FIFE.  I'd like to have these discussions throughout the summer, have the milestones set out, and be able to start on some major components by the time GSoC is complete this year (or even before if possible).  I have placed a bunch of our ideas from the FIFE 1.0 meeting we had as well as a bunch of existing tickets into a document on the wiki available here.  Please review it and add any items you want for consideration there.

What I'd like to do in this thread is gather the high priority major component items for FIFE 1.0.  These are items that we MUST include in 1.0 and cannot be left out under any circumstance and they are a major chunk of work.  Once we have a list of high priority items we can begin breaking them down into a logical sequence of implementation which will be used to help derive our milestones.  The rest of the tasks will hopefully fall in there somewhere.

Here is an example of a list (in no particular order)
  • Automated Unit Tests
  • Unify all renderers
  • Proper scene management
  • Documentation (FIFE manual)
  • Component based / inheritance hybrid architecture for (or to replace) FIFE::Instance
  • Complete toolset
  • Sound Manager/Dynamic Sounds
  • GUI Library Support (hammer the details out here)
  • Shader Support
  • Movie playing capability with synced audio

I just threw that list together off the top of my head...  What do you guys think?
Logged

prock

  • Developer
  • Full Member
  • *
  • Posts: 236
    • View Profile
Re: Prioritizing our time/efforts
« Reply #1 on: March 30, 2012, 09:57:02 pm »

Also if you guys have some ideas floating around in your head on how we can improve FIFE please add them to the correct section on the Prioritized Tasks list on the Wiki.. It can be anything at all no matter how crazy it might seem.  Lets get all these ideas out there.  Continue to think about priority though as it would be nice to have this hammered out soon.
Logged

Nihathrael

  • Developer
  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Prioritizing our time/efforts
« Reply #2 on: April 03, 2012, 03:25:11 pm »

Here's a list from the top of my head going through the list at the wiki:
Number 1-10:
  • Proper support for multi-cell objects
(Yep, it is that important :P)

11 and following (no order):
  • VFS doesnt support unicode objects
  • Dynamically resize an image at runtime
  • Dummy render backend
  • Better implementation of UTF8 Strings
  • Add the ability to have triggers on map files for when instances enter the trigger area something happens
  • Need a Mac dev kit
  • All of Soundmanager tasks
  • Unit tests + jenkins
  • Animation Overlays
  • All of Guichan/Pychan
  • Editor plugins

Basically none of the features here http://wiki.fifengine.net/PrioritizedTasks#New_and_required_features_for_FIFE_1.0 are required by Unknown Horizons. I'd rather focus on improving the other stuff.

Cheers
Logged

chewie

  • Developer
  • Full Member
  • *
  • Posts: 123
    • View Profile
    • zero-projekt.net
Re: Prioritizing our time/efforts
« Reply #3 on: April 03, 2012, 03:26:09 pm »

As FIFE 1.0 is a really big and important milestone it should IMO include these things: (no order, prolly not complete yet :D)

  • Improved Font support (see meeting log; drop size, color etc. into FIFE, get font back from a central point etc)
  • Scene management
  • Render unification
  • Particle system
  • Movie support
  • Solid toolchain (editor, helper scripts like create atlas / all xml stuff)
  • A solid demo which shows all aspects FIFE can handle, 2 completely different ones would be even better to also show flexibility
  • Full CEgui support as replacement for guichan in the long run
  • Solid sound code (preferably without OpenAL)
  • Solid documentation, both API-wise and in terms of examples
  • Solid web site which provides an easy entry point into the fife world (connecting & presenting fife client projects etc)

My main thought about it is that there be less "Oh, FIFE can't do XY" statements from outside spectators and instead more "Wow, I had no idea FIFE can do that" statements. 8)

Very important task IMO:

Unification of FIFE-object management aspects. ATM there are things which are managed by FIFE and retrievable by the client (e.g. images, instances, layers, maps, cameras etc..) and there are things which are not managed by FIFE, instead each client implements (should implement) a small manager on it's own. From the top of my head those FIFE-objects are:

  • RendererNodes
  • SoundEmitters
  • Fonts (managed by pychan)
  • Animations (not managed by the client, auto-management by FIFE which is not very flexbile)

I bet there are some more, and the general idea why this is bad: there is this pending owner ship problem between python & c++. With a proper fife.engine.get(manager, component, id) system, this could be adressed althogether and clients won't attempt to store fife-objects on their own (and therefore prolly introduce problems in their code if not done correctly) and instead only have to store the means on how to get the fife-object (e.g. layer.getInstance(instance_id))

Some ideas into this direction are the current implementation of the ImageManager, the pending thoughts about SceneManager, FontManager etc.
« Last Edit: April 09, 2012, 09:46:44 am by chewie »
Logged

prock

  • Developer
  • Full Member
  • *
  • Posts: 236
    • View Profile
Re: Prioritizing our time/efforts
« Reply #4 on: May 25, 2012, 03:14:59 pm »

I'm going to add a couple more topics to the priority list... 
  • Review of the coding standards
  • Modify all code to conform to the coding standards (most likely lots of API changes involved)
  • Properly document all source using our code commenting standards (which is outlined in our coding standards document)
Logged

prock

  • Developer
  • Full Member
  • *
  • Posts: 236
    • View Profile
Re: Prioritizing our time/efforts
« Reply #5 on: June 08, 2012, 11:38:36 am »

Also on the priority list is attracting new developers.  We have a lot of tasks to do, time to start actively recruiting.  I'd like to get the coding standards worked out, the API changes applied, source code documented, and the website and wiki up to speed before actively recruiting.  The project has been in a bit disarray for some time so it's time to tighten things up a bit.  A process that I'm not looking forward to but needs to be done regardless. 
Logged