Author Topic: Developer's Wishlist for next release  (Read 7146 times)

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Developer's Wishlist for next release
« on: 8 December 2011, 07:17:04 »
Softcoder's: (lofty ideas and thoughts that are in the back of my mind)

- Code cleanup! We want / need better abstractions around many common aspects of the code like:
  - File I/O
  - Texture format loading / saving (PNG, JPG etc)
  - Use of streflop
  - Accessing data over the Internet using CURL (a proper wrapper / abstraction)
  - Logging / Debuggung / Profiling
  - commandline parameters / INI file parameter handling
  - Multi-language handling of network text messages (System generated)
 
- A real UI! I personally hate the UI and think we need to look at something that is standard, looks great, is cross platform and offers great customization for modders. (GAE's UI system looks nice, it is an option, but I don't like the idea of spending time writing UI library code moving forward, I'd rather use something that other maintain like CE_GUI or something like that)

- Adding official MD5 support (including bumpmaps and numerous other graphics improvements for models) This is critical to open up the game for modding by many other interested parties, as the current G3D system is overly cumbersome and hard to learn for new users.

- Adding the ability to save games, and along with this the ability to resume game play when being disconnected from a network game.

- AI improvements of a) pathfinding using more modern approaches for better performance and b) much more extensibility of the AI

- Game stats and an API to push stats to masterservers.

- Improvements and new features specific to headless server mode (like better data synchonization, mod services, etc)

- Improving the performance of rendering and the quality of the graphics for terrains (And possibly some kind of skybox)

- Fully built in mod system that manages both custom data as well as total mod conversions all handled in a user friendly manner from within MG.

- Adding support for Scenarios to Network play as well as other significant scenario enhancements.

- Getting MG into all of the Major Linux distros natively! (working on this for Debian currently)

- Investigate switching to GIT as it offers many advantages (the guys on the Debian games team convinced me to at least look into this)

- Split data  and code into separate repositories in svn or git! Then in the data repo we can store the *.blend files and other 'source' data entities use to generate models and sounds and images.

- Fully automated release system that packages up everything in a consistent manner and build all installers and archives from a simple command

- Automated tests using CPPUnit or CPPFit to ensure consistent quality of features and behavior (In real life I'm a big fan of TDD so why not here)

MuwuM

  • Ornithopter
  • *****
  • Posts: 426
  • No Game without Move(ment)
    • View Profile
    • MuwuM - Lexicons
Re: Developer's Wishlist for next release
« Reply #1 on: 8 December 2011, 11:01:31 »
Totally agree

- Adding support for Scenarios to Network play as well as other significant scenario enhancements.

I think I will work a lot with this, so I will support this with conception and/or coding.

Mr War

  • Guest
Re: Developer's Wishlist for next release
« Reply #2 on: 8 December 2011, 11:59:51 »
Really interesting topic, thanks fir the insight

TotalNoob

  • Guest
Re: Developer's Wishlist for next release
« Reply #3 on: 8 December 2011, 13:34:47 »
I suppose you know it but just in case for file I/O abstraction I personally recommend the Boost libraries. High abstraction level, good documentation, quite popular on the Web (lots of q/a threads about it on stackoverflow site) and free even for proprietary software. Boost generally includes almost everything you need for C++ programming, including multithreaded programming (with Boost it is almost like Java).
http://www.boost.org/doc/libs/1_48_0/libs/libraries.htm#IO - libs for I/O
http://www.boost.org/doc/libs/1_48_0/libs/iostreams/doc/index.html - example lib to create IOstream.

Pizza90

  • Draco Rider
  • *****
  • Posts: 282
    • View Profile
Re: Developer's Wishlist for next release
« Reply #4 on: 8 December 2011, 13:36:24 »
If you put all the things you listed in the next release it would be awesome :D (even if i think it would take some months to do all those things right?) Softcoder can i ask you your opinion about water units? Would you like having it in megaglest, is it hard to implement etc.? :) Greetings! And thanks for the work you do with titi for megaglest ! :)
I translated Megaglest in italian and i keep the translation updated.

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Developer's Wishlist for next release
« Reply #5 on: 8 December 2011, 17:06:34 »
Yes, please implement all these things until tomorrow at 12:00, then release. ;-)

Seriously, this is a great list and I'm glad that we seem to have pretty much the same idea about what should happen about MG. Unfortunately I'm hardly going to be able to contribute much towards this. But I plan to take on the API unless anyone else feels like doing this (I don't fancy this job too much but it's one of thse few I can take on, and it needs to be done and so far nobody else stepped up to do it).

Anyways, if we can get a small fraction of these ideas done this will mean a bright future to MegaGlest! :)
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Developer's Wishlist for next release
« Reply #6 on: 8 December 2011, 18:14:05 »
- A real UI! I personally hate the UI and think we need to look at something that is standard, looks great, is cross platform and offers great customization for modders. (GAE's UI system looks nice, it is an option, but I don't like the idea of spending time writing UI library code moving forward, I'd rather use something that other maintain like CE_GUI or something like that)
One advantage to using GAE's UI is that (1) it's already done, so you can presumably copy a fair bit and (2) it would make "borrowing" a feature directly from GAE easier, as the more similarities would mean the less things changed when copying in a feature.

- Adding official MD5 support (including bumpmaps and numerous other graphics improvements for models) This is critical to open up the game for modding by many other interested parties, as the current G3D system is overly cumbersome and hard to learn for new users.
Strong support. G3D is outdated and far too limited.

- Adding the ability to save games, and along with this the ability to resume game play when being disconnected from a network game.
I'd particularly love to see the last one. Crappy connections at home only allow me to play multiplayer when roaming, as my home internet always breaks connection before the ten minute mark.

- Improving the performance of rendering and the quality of the graphics for terrains (And possibly some kind of skybox)
To be honest, I'm not sure about the usefulness of a skybox, if only because you almost never see the sky (you'd have to tilt at an abnormal angle, and even then, how fog of war would mix with a skybox is a question). I'd definitely love to see better terrain rendering though, especially if water could also be improved (reflective water?).

Looking at that list, you have 2012 fully planned out there. :thumbup:
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

Coldfusionstorm

  • Golem
  • ******
  • Posts: 868
    • View Profile
Re: Developer's Wishlist for next release
« Reply #7 on: 8 December 2011, 19:18:28 »
Yes to anything omega said, except the skybox thing, and performance is currently okay, so id like more visible changes before that, like Water units/buildings/Transports.

Transports are also in GAE.
WiP Game developer.
I do danish translations.
"i break stuff"

Dritominous

  • Guest
Re: Developer's Wishlist for next release
« Reply #8 on: 9 December 2011, 16:50:03 »
Excellent...

Love this list.  I would really like to see at least some of these by the next release.

Ishmaru

  • Behemoth
  • *******
  • Posts: 1,071
  • um wat??
    • View Profile
    • DelphaDesign
Re: Developer's Wishlist for next release
« Reply #9 on: 10 December 2011, 03:30:07 »
I would love
Softcoder's: (lofty ideas and thoughts that are in the back of my mind)
 
- A real UI! I personally hate the UI and think we need to look at something that is standard, looks great, is cross platform and offers great customization for modders. (GAE's UI system looks nice, it is an option, but I don't like the idea of spending time writing UI library code moving forward, I'd rather use something that other maintain like CE_GUI or something like that)

- Adding the ability to save games, and along with this the ability to resume game play when being disconnected from a network game.

- Improving the performance of rendering and the quality of the graphics for terrains (And possibly some kind of skybox)

- Fully built in mod system that manages both custom data as well as total mod conversions all handled in a user friendly manner from within MG.

- Adding support for Scenarios to Network play as well as other significant scenario enhancements.

Personally, I would like these to be implemented someday! Skybox please!
Annex: Conquer the World Release 4 For Pc Mac + Linux
https://forum.megaglest.org/index.php?topic=9570.0
Annex is now on Facebook!
https://www.facebook.com/AnnexConquer

Hagekura

  • Archmage
  • ******
  • Posts: 524
    • View Profile
    • Hageus_Iaponicus(@Hageus_Hagekura)さん | Twitter
Re: Developer's Wishlist for next release
« Reply #10 on: 11 December 2011, 14:36:08 »
Desirable Wishlists!
Especially I would like Skybox and Savegame.  Skybox will brilliantly improve impressions of screenshots, may be helpful for attract more players.
Bushido to iu wa shinu koto to mitsuketari.

Japanese Faction Mod

treba

  • Guest
Re: Developer's Wishlist for next release
« Reply #11 on: 22 December 2011, 19:17:36 »
awesome list :)

got two more points that i would love to add:
Quote
- Fully automated release system that packages up everything in a consistent manner and build all installers and archives from a simple command
and that builds patches that can then be automatically downloaded  and installed by the game. not interesting for people that use packages from a repository, though.

and, on the long run, hotkeys for commands would be great.

do you agree, softcoder?
« Last Edit: 22 December 2011, 21:48:42 by treba »

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: Developer's Wishlist for next release
« Reply #12 on: 22 December 2011, 19:56:50 »
Both of these are contentious issues. Glest (and MegaGlest) often do not work with older versions due to changes / patches changing things in game play and leading to out of synch for network games. We need to device a version # system that indicates when different versions still work with each other (and then there is the possibility for having different data). For hotkeys i do like the idea of customizing it, but in practise i don't know if it will create more problems than good. We would need to ensure that the combinations of factions selected do not have overlapping hotkeys defined etc etc so this is not an easy item to achieve in a stable consistent manner.

Coldfusionstorm

  • Golem
  • ******
  • Posts: 868
    • View Profile
Re: Developer's Wishlist for next release
« Reply #13 on: 22 December 2011, 21:14:08 »
Softcoder that is up to the idividual modder to devide, and FIY, its not bad to have servera factions share the same hotkeys, after all you are only going to play one faction at a time right?
WiP Game developer.
I do danish translations.
"i break stuff"

treba

  • Guest
Re: Developer's Wishlist for next release
« Reply #14 on: 22 December 2011, 21:54:40 »
@softcoder: actually my idea was that mg should be able to just update itself on the newest version, so there is no need to check wether different versions might play along since everyone just had the same.

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: Developer's Wishlist for next release
« Reply #15 on: 23 December 2011, 10:55:40 »
Quote
- Adding the ability to save games, and along with this the ability to resume game play when being disconnected from a network game.

I think savegames and resume game are quite different. Everything related to network is much harder to do than simple savegame. I think the first goal should be savegame here with the other thing in mind.

Some problems with network resume:
-random number calculation
-cache(more buffer) states

Two points i would definitly put on a wishlist with high priority:
- lower MGs memory consumption! ( 1,5GB in big games is too much ....).
- make network games less choppy ( at least the server should never wait for anything coming form the clients. Even if he is in state of receiving data from a client, this should not block him .)
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

victorj

  • Guest
Re: Developer's Wishlist for next release
« Reply #16 on: 24 December 2011, 03:41:12 »
Very cool! I know one day that this game can be compared to titles like Age of Empires, Warcraft and Megawar, especially with a campaign that I so desire, more buildings and units, explorers, one way to advance level of the building ... let's go MegaGlest!!! All we really want these new features.  :P
Edit by Omega: Removed color tags, the red is terribly difficult to read on dark grey. On a side note, buildings, units, explorers, and advancing units are all possible, and are up to the modder, having nothing to do with the engine's advances.
« Last Edit: 10 April 2012, 05:28:40 by victorj »

will

  • Golem
  • ******
  • Posts: 783
    • View Profile
Re: Developer's Wishlist for next release
« Reply #17 on: 30 December 2011, 11:33:29 »
I really look forward to you moving to git.  That's actually conditional for me submitting code ;)

I don't really like all the dependencies we have, and zapping a few would be nice; moving to use SOIL and GLM and an embedded simple XML parser and such would all be big wins from the management angle I think.  I would also like to replace cmake with a single normal big Makefile... ;)

Keeping the non-GLSL codepaths is going to be quite difficult to be honest.  I can help with the OpenGL 2+ port, which can also take us to other platforms (iOS, Android, NaCL) but trying to have equiv functionality in legacy GL 1 too is going to be a bind; once people start using MD5 etc, there's really not much point running such a game on hardware that is so unmodern as to not do VBOs and GLSL and such anyway?  Philip` put the number of 0ad users without GLSL at 12%.

Once we move into GLSL world, we ought to bump-map pretty much everything

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: Developer's Wishlist for next release
« Reply #18 on: 30 December 2011, 21:35:10 »
Looking into git, and will 'git' back to you :). Many people have been asking for this now so its probably a good time.

Kiko

  • Guest
Re: Developer's Wishlist for next release
« Reply #19 on: 21 January 2012, 13:47:46 »
Quote
- Adding the ability to save games, and along with this the ability to resume game play when being disconnected from a network game.

I think savegames and resume game are quite different. Everything related to network is much harder to do than simple savegame. I think the first goal should be savegame here with the other thing in mind.

I hope you folks won't mind a newcomer popping up and making a fuss about a Glest issue, but I think MG really needs to be able to Save/Load games. Playing the JapFac on a large map can run into many hours of complex play, and too many times I've had to just dump a game because something essential calls. Are there plans to add the game save features to MG, perhaps just pulling the source code from GAE..?

Network games (which I don't play for various reasons) are a different kettle of fish, obviously, and I'd say that with network gaming you expect to 'loose your place' when you disconnect. But I could cry sometimes when I've got a huge CPU game going and have to kill it!

I'm running MG under Windows Vista on a machine a couple of years old, and it's pretty smooth. Disabling the graphical mouse pointer and lowering the graphic output really helps. GAE runs much smoother on my machine, but won't play JapFac or the newer Ming Dynasty – which is just as/more awesome.

It seems to me that the games are becoming more and more complex as coders use advanced MG techniques to add amazing features to their mods. However, this means that they only work on MG, and saving a large and complex game is impossible! Surely adding the Save/Load functions first is essential, so that the more complex games become you don't have to dump hours and hours of play and begin again later..?

megablob

  • Guest
Re: Developer's Wishlist for next release
« Reply #20 on: 3 February 2012, 16:13:23 »
agree with pretty much everything, especially, on a playabity point of view, saves are not only a nice feature they are necessary to move forward (especially in the optic of making more complicated campaigns with many scenarioes etc).

thumbs up for git from here too :D

AND don't drop the non-VBO pls I need it! XD and it's also good to have some flexibility,

Coldfusionstorm

  • Golem
  • ******
  • Posts: 868
    • View Profile
Re: Developer's Wishlist for next release
« Reply #21 on: 3 February 2012, 17:16:30 »
Softcoder quote.
Quote
Two points i would definitly put on a wishlist with high priority:
- lower MGs memory consumption! ( 1,5GB in big games is too much ....).
- make network games less choppy ( at least the server should never wait for anything coming form the clients. Even if he is in state of receiving data from a client, this should not block him .)

Less network lag, yes yes.

very nice!

Memory consumption, hmm, dunno about that really, the techtree megaglest does have alot of different units right?.

« Last Edit: 6 February 2012, 01:53:10 by Coldfusionstorm »
WiP Game developer.
I do danish translations.
"i break stuff"

treba

  • Guest
Re: Developer's Wishlist for next release
« Reply #22 on: 5 February 2012, 13:21:07 »
from the perspective of headless servers, i would say that the pathfinder definitly needs some enhancements. in fact, my vps is able to host 3 games at once, but if there's a tricky situation in one of them, the cpu usage easily goes up to 100%, killing off the other games. hope you can have a look iinto that at some point.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Developer's Wishlist for next release
« Reply #23 on: 5 February 2012, 17:36:20 »
Memory consumption, hmm, dunno about that really, the techtree megaglest does have alot of differemt units right?.
Other games such as Skyrim have more polys seen at any given time, and in my version, I installed dozens of mods, often increasing the texture sizes as high as 2048x2048, yet it still uses less memory than MegaGlest. Surely they must have some method to decrease the memory usage which we are lacking, right?
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

will

  • Golem
  • ******
  • Posts: 783
    • View Profile
Re: Developer's Wishlist for next release
« Reply #24 on: 5 February 2012, 19:12:56 »
Yes, Glest is very very wasteful of memory.  That said;

Are you counting CPU or GPU memory?  And how are you counting it?