Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - softcoder

Pages: 1 2 3 4 [5]
101
MegaGlest / MegaGlest 3.3.6 release
« on: 12 August 2010, 07:26:41 »
Mega Glest 3.3.6 release

Windows Full installer:
download here

Windows x86 binaries:
download here

Linux 32 bit Full installer:
download here

Linux 32 bit x86 binaries:
download here

Linux 64 bit Full installer:
download here

Linux 64 bit x86 binaries:
download here

Full Data package (for both linux and windows, intended for new installs [not using the win32 installer], same as 3.3.6 full installer data):
download here

Upgrade Data package from 3.3.5 or higher (for both linux and windows, intended for manual upgrades  [not using the full installers]
download here

Source Code Package:
download here

Changelog:

- More performance updates to rendering and game updating
- Improved network play for slower clients (new game options for lagging players)
  - Added the ability to toggle Pause or Disconnect for lagged clients per game
  - Better error detection of network state
- Updated client and server lobby screens to show more game information
- Added more per game changable settings for network games
- Updated support for GAE pathfinder (but should ONLY be used in single player mode as network use is experimental)
- Added new commandline parameter for modders to validate their techtrees, usage:
  ./glest --validate-techtrees
- Added new commandline parameter to display openGL driver information, usage:
  ./glest --opengl-info
- Added support for Open Suse
- Fixed bugs where invalid IP addresses were used for NIC's that are not active
- Added the ability to turn OFF sounds via the options menu
- Some bug fixes and changes were made to the AI
- Fixed issue where command queues and multi-unit selecting was broken
- Fixed map editor for windows users where tooltips didn't show properly and memory corruption.

102
MegaGlest / Modders get help making new Techtrees and Factions
« on: 30 July 2010, 14:54:22 »
Starting with the next version of Mega-Glest (Initial Code already in SVN) we will allow you to run with a special command line parameter to validation your techtrees for known mis-configurations. Example shown below:

Code: [Select]
./glest.bin --validate-techtrees

Checking techPath [techs] techName [megapack] factionsList.size() = 6
Found faction [egypt]
Found faction [indian]
Found faction [magic]
Found faction [norsemen]
Found faction [persian]
Found faction [tech]

Errors were detected:
=====================
The Unit [archer] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [crossbow] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [flyingvalkyrie] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [spearman] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [spearman_berzerk] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [swordman] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Unit [swordman_berzerk] in Faction [norsemen] has the command [hold_position]
which has upgrade requirement [training_field] but there are no units able to perform the upgrade!
The Upgrade Type [training_field] in Faction [norsemen] has no Unit able to produce this upgrade in this faction!
=====================

Checking resources, count = 6
Found techtree resource [energy]
Found techtree resource [food]
Found techtree resource [gold]
Found techtree resource [housing]
Found techtree resource [stone]
Found techtree resource [wood]

Checking techPath [mydata/techs] techName [game_12] factionsList.size() = 6
Found faction [PC]
Found faction [britan]
Found faction [martians]
Found faction [moon]
Found faction [persian]
Found faction [romans]

Errors were detected:
=====================
The Unit [led] in Faction [PC] has no other units that can produce, build or morph into it in this faction!
The Unit [fallen_capsule] in Faction [martians] has no other units that can produce, build or morph into it in this faction!
The Upgrade Type [advanced_architecture] in Faction [romans] has no Unit able to produce this upgrade in this faction!
=====================

Checking resources, count = 11
Found techtree resource [detirium]
Found techtree resource [energy]
Found techtree resource [fish]
Found techtree resource [food]
Found techtree resource [gold]
Found techtree resource [housing]
Found techtree resource [hp]
Found techtree resource [memory]
Found techtree resource [stone]
Found techtree resource [water]
Found techtree resource [wood]

AND when the XML is bad....

******************************************************
    #2 An error ocurred and Glest will close.
Error msg = [Error loading Faction Types: techs/megapack
Error loading units: techs/megapack/factions/tech
Error loading UnitType: techs/megapack/factions/tech/units/blacksmith/blacksmith.xml
The string "castleX" contains a character that is not allowed: "X"
For portability reasons the only allowed characters in this field are: abcdefghijklmnopqrstuvwxyz1234567890._-/]

Please report this bug to contact_game@glest.org, attaching the generated glestv3.3.5.1-alpha3.dmp file.
******************************************************


These validations will grow over time to look for things we discover as known bad entires in the XML files.

103
MegaGlest / 3.3.5.1 beta is available - please test
« on: 8 July 2010, 00:02:50 »
We have created a new beta build and would like feedback from users who can test it:

The latest development version is currently 3.3.5.1-beta1 and can be downloaded from:

Windows:

Automatic Update
here

Linux:

32bit
here

64bit
here

To find people to play with you may want to talk to them on the glest IRC channel:

http://webchat.freenode.net/?channels=glest

Changelog:
=======

3.3.5.1 beta1
---------------
- More performance updates to rendering and game updating
- Many bugfixes (too many to mention)
- Updated client and server lobby screen to show more game information
- Added more per game settings for network games
- Updated support for GAE pathfinder (but should ONLY be used in single player mode as network use is experimental)
- Added new commandline parameter for modders to validate their techtrees, usage:
./glest --validate-techtrees
- Added support for Open Suse

3.3.5.1 alpha3
---------------

- More performance updates to rendering and game updating
- Silnarm's new pathfinder has been introduced into mega-glest (please leave feedback in the forums)
- Fixed bugs where invalid IP addresses were used for NIC's not active
- Added the ability to turn OFF sounds via the options menu
- Added the ability to toggle Pause for lagged clients per game
- Some fixes and changes were made to the AI (please leave feedback in the forums)
- Fixed issue where command queues and multi-unit selecting was broken
- Fixed map editor for windows users where tooltips didn't show properly and  memory corruption.

3.3.5.1 alpha2
---------------

- Fixed slow rendering by reverting back to vanilla glest rendering
- Added much more error checking and network finesse
- Added LAN IP Addresses on Custom Game Menu
- Disabled "Zoom out' on game end for Network Games (Created instability)
- Added more relaible TCP connection status checking
- Fixed mouse disappearing issues
- Made error messagebox persist between menus / screens
- Added ability to continue loading / playing if sound system cannot initialize

v3.3.5.1-alpha1
-----------------
- Bugfix for disappearing mouse when toggling out of the game
- Increased default HTTP timeout value from 5 to 10 seconds and users may override the HTTP timeout now via a glestuser.ini setting:

Code: [Select]
DEFAULT_HTTP_TIMEOUT=10
- Changed data checksum error message to include the offending client playername is the message
- Reverted Game Rendering to 3.3.4 and now we have better performance
- Attempt to fix game crash on game end statistics

104
MEGAGLEST 3.3.5
Feedback is welcome!

Windows Full installer:
download here

Windows x86 binaries:
download here

Linux 32 bit Full installer:
download here

Linux 32 bit x86 binaries:
download here

Linux 64 bit Full installer:
download here

Linux 64 bit x86 binaries:
download here

Full Data package (for both linux and windows, intended for new installs [not using the win32 installer], same as 3.3.5 full installer data):
download here

Upgrade Data package (for both linux and windows, intended for manual upgrades  [not using the full installers]
download here

Source Package:
download here

Changelog:

3.3.5 release was a major milestone!
(see http://freegamer.blogspot.com/2010/06/megaglest-335-pre-release-special.html)

Version 3.3.5:
- Added loads of Network features (See below)
- Added multi-platform network play support
- network performance improvements.
- Added master server support to help the community find online Internet games.
- Added Internet lobby to display Internet Game Hosts.
- Added client lobby where clients may chat and configure their player
  settings before the game begins.
- Added Network LAG checking for network games.
- Added Server / Local based AI control for Network games.
- Added customizable hotkey support
- Introduced native Linux 64 bit binaries and installer
- added queued commands (hold shift while continue clicking future unit commands)
- added new maps, tilesets and improved particle effects
- fixed many bugs found during the release cycle.
- added particle viewing support in the G3d Viewer


105
MegaGlest / A better G3D Viewer
« on: 25 May 2010, 18:54:49 »
To assist modders in making mod's I've updated the G3d Viewer in Mega-Glest to also now show particles. I'll bundle the updated viewer in the next couple of days (Elimnator is testing it) but it will allow you to edit a Unit's particle XML files and just press a Key in the viewer to see the particle working with a given unit. This should greatly increase the ease of adding particles to Units.

Any additional suggestions are welcome as to how to improve the viewer. (I won';t spend too much time in the viewer right now since we are getting ready to plan for a new multi-player release first).

106
Here you can always find the latest available development binaries ( win32 and linux ) :

UPDATE: June 30, 2010
(we fixed a few bugs and polished a few things)

(At the moment the latest version is 3.3.5-beta19)

Linux update (32bit)

Linux update (64bit)

---

Windows update (32 and 64 bit)

Please test the new multiplayer features like masterserver,crossplatform gaming and so on and give feedback here!

Currently users should have the current Mega-Glest Release version installed, then overlay these updates on top. This update allows multi-player / multi-platform play and introduces the master-server so people can find others hosting internet games and join in.

Enjoy!

107
MegaGlest / MegaGlest FAQ
« on: 24 April 2010, 21:16:34 »
FAQ's related to MegaGlest:

All the FAQ's are now on the wiki:

https://docs.megaglest.org/MG/FAQ

A shortcut for this is just http://faq.megaglest.org/

108
MegaGlest / MultiPlayer / MultiPlatform.
« on: 24 April 2010, 17:35:12 »
I just wanted to mention I beleive we have made major progress to getting multiplayer / multiplatform working! I just finished playing a short game with Linux vs Windows 7 and compared the screens for a while and everything was exatcly the same on both computers. We have borrowed some code from the SprintRTS engine to accomplish this wonderful milestone and will continue to test the solution to prove out its quality.

There is a good chance the the next release will support multi-player and multiplatform :)

109
Bug reports / READ THIS FIRST: How to report bugs
« on: 24 April 2010, 17:27:13 »
First of all, check whether a solution of this issue is already known.
Check whether your issue is covered in the FAQ, the installation instructions or the README file.
Really.
It's enough to check the table of contents, you don't need to read the complete text.

Hint: You can also use the forum search to see whether others ran into similar issues and were able to solve or work around them.

If, after checking this, there is still something wrong for you with MegaGlest then we will appreciate your report on this forum after reading and understanding the text below.

You may alternatively report your bugs on GitHub. We expect you to know your way around GitHub then, but please be sure to select the proper repository: anything engine related should go  into megaglest-source while game assets related bug reports go into the megaglest-data repository.

How to report bugs on the forums

* A new topic for every new problem
Start a topic for every bug you encounter. Even if it looks similar to what someone else reported earlier. If it seems that two bugs were reported on the same issue we may merge threads later, but please don't add to another bug which just seems somewhat similar if you are not sure whether both have the exact same cause.

* Description
Describe the problem. Skip the subject line for now, but describe the issue you ran into as good as you can in the text box:
  * Explain the problem to someone who does not know you, your preferences, your computer hardware (CPU, RAM, video card) and installed software (what other software is / was running in the background?) and how you have configured it.
  * Provide any error messages, unabbreviated and unmodified.
  * What happened exactly?
  * Which exact steps need to be taken by someone else to run into the same problem? What were you doing when this happened?
  * Do you run any non-standard MegaGlest (a MegaGlest full conversion, a Linux distributions' build, or have you compiled it yourself?) or operating system?
  * Are you running anti-virus software and do you have a personal/host-based firewall (such as Windows firewall, ZoneAlarm etc.)? If so, which one (exact product description and version number, please)?

* MegaGlest version
Report the exact MegaGlest version you are using: Run the game, then check the 'About' menu for the exact version number. Or, if the game won't start, change into its installation directory and run ./start_megaglest --version (on Linux) or megaglest --version (on Windows) to get it. If this does not work either then check the name of the installer file you downloaded, it also contains the version number.

* Operating system
Tell us exactly which operating system you are using: Operating system, version, platform and patch level. For example: Ubuntu Linux 11.04 or Windows XP Professional edition or Windows 7 Basic, all available updates installed as of Feb 22 2022. Also, is it a 32 or 64 bit bit operating system (how to tell on Linux)?.

* Download location
Tell us where you downloaded MegaGlest from (exact Internet address if possible, otherwise just the name of the website) and provide the exact name of the file you downloaded!

* Logs and screen shots
Run the game from a command prompt window (on Windows) / from a terminal window (on Linux/OS X), since this will give you on-screen logs, too. Screen shots can also say more than a thousand words sometimes, so please make use of them.

You can post log files to paste.megaglest.org or pastebin.com (this is just one of many options). When you submit it you will be redirected to a new Internet address (URL). Copy this URL from your web browsers' address bar and post it here on the forums. Screen shots can be uploaded to imgur.com (again that's just one of many options).

Only if we ask you to do so, get us some debug log files, too: Enable debug logging in your glestuser.ini, using the DebugMode=1 option.

* Meaningful subject
Summarize the most important info in the subject line. Start the Subject in the following format:
Code: [Select]
x.x.x, platform, problem summarywhere x.x.x is the version (like 3.8.0-beta1), platform is Linux 32-bit or Windows7 64-bit or Mac OS X etc, and problem summary is a concise description of the problem (we may change this later). To save some space, you can abbreviate the platform as L32 (for 32 bit Linux) or W7-64 (for Windows 7, 64 bit).

Now re-read what you wrote into the text box and summarize this into a terse but descriptive and unique subject.

Post your bug report now, keeping this window open so you can check whether you've provided all required information.

Edit by Omega 2014-02-23: Fixed broken link

110
MegaGlest / Linux Installer progress
« on: 15 April 2010, 16:27:53 »
Just wanted to pass along an update that Mega-Glest will have a Linux installer soon!

I was able to successfully build an installation using the awesome mojosetup project!

This should make things easier for normal, non technical Linux users!

111
MegaGlest / Megaglest developer information
« on: 14 April 2010, 16:02:55 »
For anyone who would like to work on the Megaglest project as a developer we have made good progress on making things easy for you to compile and begin the learning process. Below is a small fact sheet to try to assist anyone who is interested in helping with development or just to learn for your own enjoyment:

Version Control and Getting the code:

We host the project at sourceforget.net at:
https://sourceforge.net/projects/megaglest/

To get the code you may run the following command from a commandline:
Quote
svn co https://megaglest.svn.sourceforge.net/svnroot/megaglest megaglest

Project folder layout:


All active development is done in the trunk subfolder. Each release is 'tagged' and a copy resides in the tags folder. Branches are created when required to seperate larger changes from active / stable development.

The following is a description of the next level of folders under trunk (which is usually the same for each release or branch):

data - contains game content like models, textures, xml files, etc which the game loads as required. This is where modders would play most of the time.

docs - contains various readme files, license agreements, etc. This is a good place to start reading for developers.

mk - this is where platform specific project files are kept. currently there are folders for linux and wndoze (spelling mistake on purpose :) )

source - all source code for the project lives inside here

Linux Compiling:

1. Get the project from SVN using the above commandline or your favorite SVN tool (rabbitvcs or tortoise)
2. Download package dependencies for your Linux distribution (see mk/linux/setupBuildDeps.sh which can do that for Debian, Ubuntu, Fedora and Open SuSE based distro's)
3. Open a terminal window and navigate to mk/linux and type the following:
Code: [Select]
./autogen.sh
./configure
jam
4. If nothing goes wrong you will see glest.bin (and other binaries) in the same folder.
5. To test running the game, run the binary in mk/linux like this:
./glest.bin

These are some commandline options:
 ./glest.bin --version
 ./glest.bin --opengl-info

Windows Compiling:
1.
Get the project from SVN using the above commandline or your favorite SVN tool (rabbitvcs or tortoise)
2. Download package dependencies (from https://sourceforge.net/projects/megaglest/files/win32_deps.7z/download)
3. Decompress the dependency archive into the source folder. You should now see a win32_deps sub-folder with lots of stuff inside. (you will require 7zip from http://www.7-zip.org/)
4. Open the main solution in Visual Studio (I use VC++ 2008 express, currently 2010 DOES NOT WORK) located at:
mk/windoze/Glest.sln
5. Do a rebuild project.
6. If nothing goes wrong you will see glest_game.exe (and other binaries) in data/glest_game (where all the data content lives).
7. To test the game, run the batch file CopyWindowsRuntimeDlls.bat location in mk\windoze to copy dependency dll's

Installers:
Windows Installer:

We use Null Soft Installer NSIS located: here. Open MegaGlestInstaller.nsi located in mk/windoze/Installer from the NSIS compiler and compile the installer into an executable. I use a free GUI editor for the installer called HM NIS Edit which can be obtained from here:
http://hmne.sourceforge.net/

Linux Installer:

We use the mojosetup installer located:  here. To build a Linux installer, open a terminal window and navigate to mk/linux/mojosetup/megaglest-installer. Edit make.sh and change the version # tag (some example below):

Code: [Select]
#megaglest_release_folder="trunk"
megaglest_release_folder="release-3.3.5.1"

From this folder run: ./make.sh

If everything runs properly, the script will build an installation from the binaries and data location in the svn project specified in the top of the script (typically the trunk branch or a release branch) and the final installer is location in the same folder as make.sh and called: megaglest-installer

Misc Scripts:

The following are miscalleneous scripts located in mk/linux:

makedata.sh - makes a data ONLY archive containing game content for a new release
makedata-diff.sh - makea data differences ONLY archive containing data that is different between two release (usually very small. Edit the variable: OLD_VERSION=3.3.4 to determine which version to compare with)
makerelease.sh - makes a source code archive for a new release
setupBuildDeps.sh - installs required linux dependencies (Ubuntu, Debian, Fedora and open SuSE based)

112
Announcements / megaglest ( 3.3.2 released! )
« on: 7 April 2010, 00:26:42 »
Come and get it while its hot, version 3.3.2 is released!
( For more info about megaglest click here )

Windows x86 Full installer:
download here ( update: install the windows binaries below too, because they include a patch which is not in the installer yet! )

Windows x86 binaries:
download here
Linux x86 binaries:
download here

Full Data package (for both linux and windows, intended for new installs [not using the win32 installer]):
download here
Data Package UPDATES ONLY (since the last major release of 3.3.0):
download here

Source Package:
download here
=================

Here are the release notes:

Version 3.3.2:
- Changed windows version to use SDL and also added support for OpenAL sound
  (DirectSound is still the default)
- Sound issues for windows users are related to a bad dsound.dll in the
  mega-glest folder. Delete this file as it is not required since DirectX should
  already be installed on your Windows installation.
- Textures may now be in any of the following formats (tga, bmp, jpg and png)
- Scenarios, Techs and Factions all allow for a custom 'loading' page when
  starting a game. Mega-Glest will look for a file called: loading_screen.*
  where .* is any supported graphic file type (tga, bmp, jpg and png). The
  priority is first in the scenario folder (if loading a scenario) if not found
  it looks in the faction root folder and if not found it will look in the tech
  folder.
- Screen Resolutions can be changed in the ingame options menu now
- Added a LAN game auto-discovery feature. Clients may click the 'Find LAN Games'
  button to search on your local network for another Computer hosting a
  Mega-Glest game (a server).
- Mega-Glest now actually uses the ServerPort setting in the glest.ini
  (the default port for glest is 61357)
- Added a read-only display ofthe configured Server Port # when joining a network
  game.
- Added the ability to configure Fog of War per game session.
- Fully working Photo Mode where you may take good photos of your mega-glest
  game / mao scenario by setting the value in glest.ini:
  PhotoMode=true
- Added the ability to use a playername instead of the hostname when playing
  in a network game. Goto the options area (Options button on main screen)
  and type your custom playername into the Network Player Name edit box.
- Added the ability to rotate units when creating a unit (before placing it)
  by pressing the R key (for rotate)
- Added camera zoom in/ out (like in GAE) by using the scroll wheel on your
  scroll mouse
- Added MANY new configurable items in glest.ini (some are optional and may not
  be in the ini file. Most options are described when you run the configurator
  application.
- Added the ability to run Glest full screen on multiple monitors
  (currently linux only) via the two settings in glest.ini:
  AutoMaxFullScreen=true
  Windowed=false
- Users may now save all user created context in their own customer folder using
  the glest.ini setting:
  UserData_Root=mydata/
  where mydata is a folder under the current glest folder. You may use ANY path
  in this setting.
- Glest allows users to specify a special folder to read / write the ini and log
  files. To do this set an environment variable with the name:
  GLESTHOME=/mycustomerpathtoawritablefolder/
- When experiencing problems, users may enable debugging to a logfile using the
  following glest.ini settings:
  DebugLogFile=debug.log
  DebugMode=true
  DebugNetwork=true
  This will log all debug information to a file in the glest folder called
  debug.log
- fixed a bug with not calling <unitDied> in lua scenario, when died due
  to running out of consumable ressources like food
- fixed the bug which lets you loose the active command if one of your unit dies.
  This was the problem that made it very hard to build buildings when you are in
  a battle for example.
- When a AI is disable for a faction in a scenario this faction doesn't consume
  consumable ressources like food any more.


113
There is a well known bug with OpenAL causing multiple sound drivers to fight with each other when playing sound in Linux.

For details see:

http://sourceforge.net/tracker/?func=detail&aid=2792509&group_id=127297&atid=709610
https://bugs.launchpad.net/ubuntu/+source/openal-soft/+bug/503780

While there are newer versions of OpenaL that "claim" to fix this, I have fixed glest and all of my other sound problems in Ubutnu by doing this:

#1 Edit the Open AL config:

sudo gedit /etc/openal/alsoft.conf

#2: Ensure you have a line with (at least) the following:

drivers = pulse,alsa,oss

(make sure the first character is NOT # or it means its commented out)
Save the file.

#3: kill pulse audio by running:

pulseaudio -k

#4: restart pulse audio via:

pulseaudio --start

Thats it!

Edit: Here is a bash script to automate it:

#!/bin/sh

# now deal with the openal library [libopenal.so.0]
hasdrivers=`grep  "^[d]rivers" /etc/openal/alsoft.conf`
echo "openal drivers = [$hasdrivers]"
if [ -n "$hasdrivers" ]; then
  echo "openal drivers was found = [$hasdrivers]"
else
  echo "openal drivers is missing, attempting to setup a working configuration"

  sudo cp /etc/openal/alsoft.conf /etc/openal/alsoft.conf.bkp
  sudo sh -c 'echo "drivers = pulse,alsa,oss" >> /etc/openal/alsoft.conf'
  pulseaudio -k
  pulseaudio --start

  echo "openal re-configured, try out your sound now!"
fi


114
New installer is up on sourceforge.net (tested and working on Windows 7).

Archmage... I checked in the installer script into SVN under mk\windoze\Installer (I used the open source NSIS Installer) so you can play around with it for future releases to make it more nifty / pretty.

Get your Windows Mega-Glest 3.3.1 Installer here:
https://sourceforge.net/projects/megaglest/files/current_release/Mega-Glest-Installer.exe/download

(I posted this BEFORE the uploaded finished so it may be another 30 minutes or so before the file is there)

update by titi:
Please test it and give feedback!

115
MegaGlest / New Windows Megaglest beta!
« on: 9 March 2010, 00:48:08 »
Ok sourceforge has a "beta5" in name only (won't say beta 5 when you launch the game).
This win32 build should work fine for windows users.

Code: [Select]
[url=http://sourceforge.net/projects/megaglest/files/megaglest3.2.4-2-beta5_i386_win32_bin.7z/download]http://sourceforge.net/projects/megaglest/files/megaglest3.2.4-2-beta5_i386_win32_bin.7z/download[/url]
Report any issues if you experience problems.

Thanks


update by titi: I created a new topic for this, please discuss this windows binary here.
Very important: Does anyone still has problems with non harvesting workers? Update:This problem seems to be fixed now!


UPDATE by Archmage:
Code: [Select]
[url=http://dl.dropbox.com/u/5207065/Glest%20Files/MegaGlest/MegaGlest_3.2.4-BETA4_Install.exe]Click here to download new windows full installer![/url] of this version.

116
MegaGlest / Mega-Glest 3.2.5 - new features
« on: 11 February 2010, 22:27:54 »
This thread is intended to be a discussion around new features to be added to mega-glest 3.2.5 (which will be after the pending 3.2.4 which is in final testing and contains the long awaited multi-player fixes).

Here is what I have extracted from the glestians in our family for desired features:

- In game team switching.
  Description: user sends a request to join another team while in game and one of the teams players may accept / deny.

- Resource trading
  Description: players from any team can suggest trading different resources with each other (like a market place)

- Ability to properly change unit types
  Description: morphing from land <--> air allows the unit to fly or walk

- Add support for "cliffs"
  Description: This would make spots on a map where you cannot walk up or down

- Change how multi-selecting units works
  Description: Only show one face per each unique unit type with a x10 (if 10 units exist)

- Add "water" support

- Allow multiple units to morph into one master unit
  Description: A horse and Swordsman morph into a rider

That is a start... any other suggestions and / or comments on the above?
 

117
Do any of the nix dev's know what I'm talking about? I've got Ubuntu 8.1, 9.04 and 9.10 in this house and i DON'T want to be compiling for each box with another version of stdc++.

I'll investigate a solution if need be, but wanted to know if there is anyone here who knows a solution?

Thanks

118
I've spend a little while looking at the performance problem behind the standard glest 3.2.1 codebase. After trying a lot of different things voila, I found out why the server slowed down gameplay for 4 player multiplayer. Thus far I have tested on Linux but I am using regular sockets so win32 shouldn't be a problem. I tested this evening with Elimnator, Tiger and an un-named other along with myself and the results were good.

At this point what should I do to get this code into svn for regular glest 3.2.1 (I had problems compiling gae so I reverted back to normal glest).

Thanks


update (by titi):
Its all in megaglest now: https://forum.megaglest.org/index.php?topic=4930.0

119
General discussion / What is the development status of Glest?
« on: 11 November 2009, 05:38:54 »
Now that our family is mostly done moving, I'd like to know what the development status is of Glest? I did a little work last year fixing a few bugs and noticed:

a) there is the main glest games which was in need of some re-design to allow more concurrent multiplayers (> 3 players makes everything crawl due to a bad design of network and graphics synchronization).

b) there is this GAE spin-off (I know very little about).

Where should developers focus their attention and where is the "feature" list request from people in these forums?

Thanks

120
Mods / New Farmer Faction
« on: 5 April 2009, 01:45:55 »
This is a work in progress, we are learning Blender and Glest source code all at the same time! A few basic models of our new faction can be seen here:

http://www.soft-haus.com/glest

The xml configuration is quite fair when playing against the tech faction. We are fine tuning models and xml configuration as we go. I realize this type of faction may not be for everyone but definately fun to use and great the younger crowd!

Thanks

121
Bug report / Found the reason why network play can be very slow
« on: 31 March 2009, 01:33:42 »
I have recently been hacking away at the glest 3.2.1 code and fixed a bunch of network play items. Today I found out why numti-player network mode can get very slow and choppy... and I have a fix. The key problem (in my opinion) in the glest code is the fact that all the subsystems run in the content of only 1 thread. That means when multi-player network mode is enabled.. for every x frames of gameplay glest tries to process network messages (which can be VERY slow depending on your network configuration and response times of other clients). I did some tweaks and found that there are two sections of code that process network messages. I wrapped those two sections into pthreads so that the networking can run in parallel with the rest of glest.... and now when we play 4 player mode... nothing is choppy and all the commands are sent properly in the background. Even the server gets around 60fps!

I would call the current code that I have more or less a hack of the glest code as it was an attempt to understand what glest was doing and why 4 player network mode was so slow. If anyone is interested or has experienced this same issue perhaps we could work with the glest authors to add multi-threaded mode?

Thanks

122
Bug report / Found and corrected bugs in 3.2.1
« on: 28 March 2009, 09:29:13 »
My family and I have been playing (and creating our own factions) for the past number of months. Since v3.2.1 (we use the linux version in Ubuntu 8.10) we noticed when playing on our LAN with 3 players that we get numerous crash scenarios or corrupt game starts. After spending a long time debugging I have found a few items that the authors should possibly look at in order to fix these:

1. Firstly there seems to be a random timing issue when opening a socket (not sure if this is linux specific). I added some retry code to allow glest to not crash but simply wait until the socket is available:

Code: [Select]
void ClientSocket::connect(const Ip &ip, int port){
sockaddr_in addr;
memset(&addr, 0, sizeof(addr));

    addr.sin_family= AF_INET;
addr.sin_addr.s_addr= inet_addr(ip.getString().c_str());
addr.sin_port= htons(port);

int err= ::connect(sock, reinterpret_cast<const sockaddr*>(&addr), sizeof(addr));
if(err < 0) {
    char szBuf[1024]="";
    sprintf(szBuf,"#2 Error connecting socket for IP: %s for Port: %d err = %d errno = %d [%s]",ip.getString().c_str(),port,err,errno,strerror(errno));
    fprintf(stderr,szBuf);

        if (errno == EINPROGRESS) {

            fd_set myset;
            struct timeval tv;
            int valopt;
            socklen_t lon;

            fprintf(stderr, "EINPROGRESS in connect() - selecting\n");
            do {
               tv.tv_sec = 10;
               tv.tv_usec = 0;

               FD_ZERO(&myset);
               FD_SET(sock, &myset);

               err = select(sock+1, NULL, &myset, NULL, &tv);

               if (err < 0 && errno != EINTR) {
                  sprintf(szBuf, "Error connecting %d - %s\n", errno, strerror(errno));
                  throwException(szBuf);
               }
               else if (err > 0) {
                  // Socket selected for write
                  lon = sizeof(int);
                  if (getsockopt(sock, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon) < 0) {
                     sprintf(szBuf, "Error in getsockopt() %d - %s\n", errno, strerror(errno));
                     throwException(szBuf);
                  }
                  // Check the value returned...
                  if (valopt) {
                     sprintf(szBuf, "Error in delayed connection() %d - %s\n", valopt, strerror(valopt));
                     throwException(szBuf);
                  }

                  errno = 0;
                  fprintf(stderr, "Apparent recovery for connection sock = %d, err = %d, errno = %d\n",sock,err,errno);

                  break;
               }
               else {
                  sprintf(szBuf, "Timeout in select() - Cancelling!\n");
                  throwException(szBuf);
               }
            } while (1);
        }

        if(err < 0)
        {
            throwException(szBuf);
        }

        fprintf(stderr, "Valid recovery for connection sock = %d, err = %d, errno = %d\n",sock,err,errno);
}
}

2. The random corrupt startups occurs due to an incomplete NetworkMessageLaunch message sturcture. This structure does not contain 3 additional booleans that exist in the gamesettings class and therefore some network players start with 0 resources and/or units. I corrected that by modifiying the NetworkMessageLaunch class:
Added these 3 missing booleans:

        int8 defaultResources;
        int8 defaultUnits;
        int8 defaultVictoryConditions;

like this:

Code: [Select]
class NetworkMessageLaunch: public NetworkMessage{
private:
static const int maxStringSize= 256;

private:
struct Data{
int8 messageType;
NetworkString<maxStringSize> description;
NetworkString<maxStringSize> map;
NetworkString<maxStringSize> tileset;
NetworkString<maxStringSize> tech;
NetworkString<maxStringSize> factionTypeNames[GameConstants::maxPlayers]; //faction names

int8 factionControls[GameConstants::maxPlayers];

int8 thisFactionIndex;
int8 factionCount;
int8 teams[GameConstants::maxPlayers];
int8 startLocationIndex[GameConstants::maxPlayers];
int8 defaultResources;
        int8 defaultUnits;
        int8 defaultVictoryConditions;

};

private:
Data data;

public:
NetworkMessageLaunch();
NetworkMessageLaunch(const GameSettings *gameSettings);

void buildGameSettings(GameSettings *gameSettings) const;

virtual bool receive(Socket* socket);
virtual void send(Socket* socket) const;
};

NetworkMessageLaunch::NetworkMessageLaunch(const GameSettings *gameSettings){
data.messageType=nmtLaunch;

data.description= gameSettings->getDescription();
data.map= gameSettings->getMap();
data.tileset= gameSettings->getTileset();
data.tech= gameSettings->getTech();
data.factionCount= gameSettings->getFactionCount();
data.thisFactionIndex= gameSettings->getThisFactionIndex();
data.defaultResources= gameSettings->getDefaultResources();
    data.defaultUnits= gameSettings->getDefaultUnits();
    data.defaultVictoryConditions= gameSettings->getDefaultVictoryConditions();

for(int i= 0; i<data.factionCount; ++i){
data.factionTypeNames[i]= gameSettings->getFactionTypeName(i);
data.factionControls[i]= gameSettings->getFactionControl(i);
data.teams[i]= gameSettings->getTeam(i);
data.startLocationIndex[i]= gameSettings->getStartLocationIndex(i);
}
}

void NetworkMessageLaunch::buildGameSettings(GameSettings *gameSettings) const{
gameSettings->setDescription(data.description.getString());
gameSettings->setMap(data.map.getString());
gameSettings->setTileset(data.tileset.getString());
gameSettings->setTech(data.tech.getString());
gameSettings->setFactionCount(data.factionCount);
gameSettings->setThisFactionIndex(data.thisFactionIndex);
gameSettings->setDefaultResources(data.defaultResources);
    gameSettings->setDefaultUnits(data.defaultUnits);
    gameSettings->setDefaultVictoryConditions(data.defaultVictoryConditions);

for(int i= 0; i<data.factionCount; ++i){
gameSettings->setFactionTypeName(i, data.factionTypeNames[i].getString());
gameSettings->setFactionControl(i, static_cast<ControlType>(data.factionControls[i]));
gameSettings->setTeam(i, data.teams[i]);
gameSettings->setStartLocationIndex(i, data.startLocationIndex[i]);
}
}

Pages: 1 2 3 4 [5]