Available Work for Programmers
Moderator: Committer
-
- Pupating Mass
- Posts: 95
- Joined: Thu Jun 26, 2003 12:09 pm
- Location: Chicago
Available Work for Programmers
This is a thread for the leads to post work that needs to get done that is not currently being worked on.
Interested programmers can come here and find things to do. Just be sure to post here or let the respective lead know if you're starting on something so we can take it off the list so the effort isn't duplicated. Also you should consult the board and/or the lead regarding implementation details before investing too much effort.
I'll try to compile the data from the thread into this top post and keep it current so you don't have to read through the entire thread to figure out what's going on...
So I'll start off:
General Tasks
--Create config files and move the various #defines scattered around code into them, read them into memory during client/server startup. You'll definitely want to start a forum discussion regarding implementation details on this one...
Universe Tasks
--Implement star generation for spiral and elliptical galaxies. I've got some old code around that Gralves wrote a long time back that contains most of the math you'll need. Contact me and I'll send it.
--Implement the bitmap galaxy shape star generation. Reads a bitmap and bases the probabilty of star placement on the darkness of the area. Someone wrote a demo of this as well that could be helpful. Anyone remember did this or still have the code?
--Create a text file list of default empire and system names. Use these lists to name systems and empires during universe creation instead of the current "Empire1, Empire2, .." system.
--Create and place the initial starting fleets during universe creation. This will need to be done in cooperation with Empire. IIRC, there is some code to be added there as well. You'll need to add the ship designs to the Empire, then create the ships and fleets and place them on the map. Check with myself and Josh (jbarcz1) on this.
--Also in cooperation with Empire, implement storing of fleet ID ranges into empires during universe creation, and generate proper fleet ID assignments in the InsertObject function of ServerUniverse. Empire will need to have code added to handle fleet ID ranges. Again, check with me and Josh.
--See the many other TODO areas of universe code, let me know if you're interested in writing any of them...
Utils Tasks
--Complete the rest of the SitRep entries. The code has been written for BuildSitRep entries, but needs to be done for the other types of entries following that example.
Interested programmers can come here and find things to do. Just be sure to post here or let the respective lead know if you're starting on something so we can take it off the list so the effort isn't duplicated. Also you should consult the board and/or the lead regarding implementation details before investing too much effort.
I'll try to compile the data from the thread into this top post and keep it current so you don't have to read through the entire thread to figure out what's going on...
So I'll start off:
General Tasks
--Create config files and move the various #defines scattered around code into them, read them into memory during client/server startup. You'll definitely want to start a forum discussion regarding implementation details on this one...
Universe Tasks
--Implement star generation for spiral and elliptical galaxies. I've got some old code around that Gralves wrote a long time back that contains most of the math you'll need. Contact me and I'll send it.
--Implement the bitmap galaxy shape star generation. Reads a bitmap and bases the probabilty of star placement on the darkness of the area. Someone wrote a demo of this as well that could be helpful. Anyone remember did this or still have the code?
--Create a text file list of default empire and system names. Use these lists to name systems and empires during universe creation instead of the current "Empire1, Empire2, .." system.
--Create and place the initial starting fleets during universe creation. This will need to be done in cooperation with Empire. IIRC, there is some code to be added there as well. You'll need to add the ship designs to the Empire, then create the ships and fleets and place them on the map. Check with myself and Josh (jbarcz1) on this.
--Also in cooperation with Empire, implement storing of fleet ID ranges into empires during universe creation, and generate proper fleet ID assignments in the InsertObject function of ServerUniverse. Empire will need to have code added to handle fleet ID ranges. Again, check with me and Josh.
--See the many other TODO areas of universe code, let me know if you're interested in writing any of them...
Utils Tasks
--Complete the rest of the SitRep entries. The code has been written for BuildSitRep entries, but needs to be done for the other types of entries following that example.
Programming Lead
Re: Available Work for Programmers
I've already begun this part, so people can start adding stuff to the config file as they see fit. The config file is in XML format and is in <FreeOrion-root>/default/config.xml. Just append your module's XML encoding to the end, before the </XMLDoc>. It might be best for you to generate the XML programmatically using your XMLEncode functions. Ideally, this data will be read in and passed to the constructor initially.OceanMachine wrote: General Tasks
--Create config files and move the various #defines scattered around code into them, read them into memory during client/server startup. You'll definitely want to start a forum discussion regarding implementation details on this one...
Right now, I believe only HumanClientApp and ClientUI are in the config file.
I wrote the code for the generation via bitmap. I wrote it using MFC and pure SDL before I knew how to use GG. It probably won't take long to rewrite it for use in FreeOrion....I still have the code, so I'll take care of this...might be a nice warmup to starting the galaxy map.Universe Tasks
--Implement star generation for spiral and elliptical galaxies. I've got some old code around that Gralves wrote a long time back that contains most of the math you'll need. Contact me and I'll send it.
--Implement the bitmap galaxy shape star generation. Reads a bitmap and bases the probabilty of star placement on the darkness of the area. Someone wrote a demo of this as well that could be helpful. Anyone remember did this or still have the code?
FreeOrion Programmer
-
- Krill Swarm
- Posts: 10
- Joined: Fri Jun 27, 2003 4:00 pm
- Location: ... still in the Tonal
I'm not a programmer, but I could help with this, if nobody else did it before.--Create a text file list of default empire and system names. Use these lists to name systems and empires during universe creation instead of the current "Empire1, Empire2, .." system.
Can I?
... seeker of the Unseekable
-
- Pupating Mass
- Posts: 95
- Joined: Thu Jun 26, 2003 12:09 pm
- Location: Chicago
Neuromancer, feel free to help out on this. There is a thread regarding this topic you may want to reference as well: http://www.artclusta.com/bb/viewtopic.php?t=59Neuromancer wrote:I'm not a programmer, but I could help with this, if nobody else did it before.--Create a text file list of default empire and system names. Use these lists to name systems and empires during universe creation instead of the current "Empire1, Empire2, .." system.
Can I?
Programming Lead
Currently there is no working way (afaik) to join an existing game without setting up a new game.
We need the ability to enter a server address, and then choose to either:
a) join game
b) set up and join game
The second option is what already happens - you connect to the server and set up the parameters. We need (a) to be implemented so that players can join an already set up server.
We need the ability to enter a server address, and then choose to either:
a) join game
b) set up and join game
The second option is what already happens - you connect to the server and set up the parameters. We need (a) to be implemented so that players can join an already set up server.
The "search more..." button exists to find more servers, but is not functional.
This needs to be working. I'm not sure what the official UI design is, but this is my suggestion, correct me if I'm wrong:
The dropdown list should contain a list of the servers that have been discovered.
There should also be a "Connect directly to IP" button added to this screen so that a player can specify a server directly.
Perhaps an additional "Local server" button that quickly connects you to localhost - but this may not be necessary.
This needs to be working. I'm not sure what the official UI design is, but this is my suggestion, correct me if I'm wrong:
The dropdown list should contain a list of the servers that have been discovered.
There should also be a "Connect directly to IP" button added to this screen so that a player can specify a server directly.
Perhaps an additional "Local server" button that quickly connects you to localhost - but this may not be necessary.
I don't know if this is the place to mention this, but I think the server list should just be a in a standard list box so you can see all of them at a glance.tyreth wrote:The "search more..." button exists to find more servers, but is not functional.
This needs to be working. I'm not sure what the official UI design is, but this is my suggestion, correct me if I'm wrong:
The dropdown list should contain a list of the servers that have been discovered.
There should also be a "Connect directly to IP" button added to this screen so that a player can specify a server directly.
Perhaps an additional "Local server" button that quickly connects you to localhost - but this may not be necessary.
As for the localhost thing, we should have the listbox default to selecting 'localhost' so that you can just hit OK and go on to setting up the game real fast.
FreeOrion Programmer
I thought that the enitre current setup was for demo purposes only. If not, it should be. What we really need is a consistent design doc (nothing formal, just a scetch or something). I think we should have a MP/SP choice right off the bat, and then for MP you can select to host or join a game. If you choose to join, you can search for servers on the localhost, LAN or the internet (the latter to be disabled until the day when we have public serers up).
While we're at it, I think we should either come up with a custom FreeOrion button look (the default is not very pretty, probably because I -- a programmer and not an artist -- designed it). I'd be happy to implement it if someone were to degin a new one. drek's earlier design was a nice start, but more work should probably be done.
While we're at it, I think we should either come up with a custom FreeOrion button look (the default is not very pretty, probably because I -- a programmer and not an artist -- designed it). I'd be happy to implement it if someone were to degin a new one. drek's earlier design was a nice start, but more work should probably be done.
I created this thread to continue discussion of what tzlaine raised, so as not to clutter this thread.
http://www.artclusta.com/bb/viewtopic.php?t=112
http://www.artclusta.com/bb/viewtopic.php?t=112
Galaxy Map Assignments
Programming will soon commence on the galaxy map screen....the meat of FreeOrion. We've got enough graphics available to put something decent together and we have lots of nice concept art of the planet panel. I'm going to work on the actual map screen myself. Is there anyone who would like to develop the planet sidebar based on drek's image #6?
These 2 modules will work in tandem, so we will need to coordinate a little bit. We will create 2 classes as the main portion of this: GalaxyMapScreen and PlanetBarWnd, but more classes may be added as needed.
Edit: I defer interested parties to the Galaxy Map Design Doc located at http://www.artclusta.com/bb/viewtopic.php?t=81
Programming will soon commence on the galaxy map screen....the meat of FreeOrion. We've got enough graphics available to put something decent together and we have lots of nice concept art of the planet panel. I'm going to work on the actual map screen myself. Is there anyone who would like to develop the planet sidebar based on drek's image #6?
These 2 modules will work in tandem, so we will need to coordinate a little bit. We will create 2 classes as the main portion of this: GalaxyMapScreen and PlanetBarWnd, but more classes may be added as needed.
Edit: I defer interested parties to the Galaxy Map Design Doc located at http://www.artclusta.com/bb/viewtopic.php?t=81
FreeOrion Programmer
ChatWindow class
It would be nice to have a chat window object that we can reuse throughout the code. The window should include the following...for bare functionality:
- A non-interactive, scrollable window containing incoming and outgoing chat messages
- a user-input field where the user may enter text to send to other players
- a SEND button which sends the message
The first version will send messages to all users. Subsequent versions may include the following:
- color coded text based on users
- a simple parser that can extract commands from a user's message so that they can send messages to a specific user, etc.
- private message abilities
- ways to specify: send to allies, send to enemies, send to all
- play sounds on incoming/outgoing message
- listbox containing all players' usernames, possibly with interaction that allows PMs, etc.
It would be nice to have a chat window object that we can reuse throughout the code. The window should include the following...for bare functionality:
- A non-interactive, scrollable window containing incoming and outgoing chat messages
- a user-input field where the user may enter text to send to other players
- a SEND button which sends the message
The first version will send messages to all users. Subsequent versions may include the following:
- color coded text based on users
- a simple parser that can extract commands from a user's message so that they can send messages to a specific user, etc.
- private message abilities
- ways to specify: send to allies, send to enemies, send to all
- play sounds on incoming/outgoing message
- listbox containing all players' usernames, possibly with interaction that allows PMs, etc.
FreeOrion Programmer
I'd like to do this. I was going to ask about it before you even posted it.tsev wrote:Galaxy Map Assignments
Programming will soon commence on the galaxy map screen....the meat of FreeOrion. We've got enough graphics available to put something decent together and we have lots of nice concept art of the planet panel. I'm going to work on the actual map screen myself. Is there anyone who would like to develop the planet sidebar based on drek's image #6?
These 2 modules will work in tandem, so we will need to coordinate a little bit. We will create 2 classes as the main portion of this: GalaxyMapScreen and PlanetBarWnd, but more classes may be added as needed.
Edit: I defer interested parties to the Galaxy Map Design Doc located at http://www.artclusta.com/bb/viewtopic.php?t=81
I'm going to do a MultilineEdit control for GG that should be very useful in implementing this. Whoever is going to do it, give me a holler.tsev wrote:ChatWindow class
It would be nice to have a chat window object that we can reuse throughout the code. The window should include the following...for bare functionality:
- A non-interactive, scrollable window containing incoming and outgoing chat messages
- a user-input field where the user may enter text to send to other players
- a SEND button which sends the message
The first version will send messages to all users. Subsequent versions may include the following:
- color coded text based on users
- a simple parser that can extract commands from a user's message so that they can send messages to a specific user, etc.
- private message abilities
- ways to specify: send to allies, send to enemies, send to all
- play sounds on incoming/outgoing message
- listbox containing all players' usernames, possibly with interaction that allows PMs, etc.
Well, then its yours. I had a feeling you'd want this one.tzlaine wrote:I'd like to do this. I was going to ask about it before you even posted it.tsev wrote:Galaxy Map Assignments
Programming will soon commence on the galaxy map screen....the meat of FreeOrion. We've got enough graphics available to put something decent together and we have lots of nice concept art of the planet panel. I'm going to work on the actual map screen myself. Is there anyone who would like to develop the planet sidebar based on drek's image #6?
These 2 modules will work in tandem, so we will need to coordinate a little bit. We will create 2 classes as the main portion of this: GalaxyMapScreen and PlanetBarWnd, but more classes may be added as needed.
Edit: I defer interested parties to the Galaxy Map Design Doc located at http://www.artclusta.com/bb/viewtopic.php?t=81
FreeOrion Programmer