News:

Please help making MegaGlest rock-stable by testing the pre-release snapshots.

Main Menu
Menu

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.

Show posts Menu

Topics - softcoder

#31
MegaGlest / 7z extraction verbose info
27 September 2012, 05:59:32
We now display the output (as it happens) when extracting data using 7z from mod menu and the game lobby. This should help users know at least that something is happening during this time and also help detect extraction problems.
#32
MegaGlest / New lua functions for cell markers
25 September 2012, 07:05:55
- added lua functions to add / remove cell markers:
addCellMarker(0,'test from scenario!','',cellMarker)
param1=factionindex
param2=cell hint
param3=empty string
param4=cellPosition

removeCellMarker(0,{46,13})
param1=factionindex
param2=cellPosition

Through lua you may add 'system' markers that do not belong to any team. USe a faction index of -1 for those types of faction markers.
#33
MegaGlest / Battle End video and music support
25 September 2012, 00:24:50
I've added support for game end (battle end) videos AND/OR music. To use it get the svn build from tonight and setup your mod:

Videos:
look for videos in the following order:
1. check faction xml file for the following attributes (depends on win/lose) on the faction tag:
faction-battle-end-win-video="<path to video>"
faction-battle-end-lose-video="<path to video>"
if not defined 2. check the faction folder for the files:
battle_end_win_video.*
battle_end_lose_video.*
if not found check the data/core/menu/videos/ paths for:
battle_end_win.*
battle_end_lose.*

Music:
added support for custom music on battle end screen:
look for music in the following order:
1. check faction xml file for the following attributes (depends on win/lose) on the faction tag:
faction-battle-end-win-music="<path to music>"
faction-battle-end-lose-music="<path to music>"
if not defined 2. check the faction folder for the files:
battle_end_win_music.*
battle_end_lose_music.*
if not found check the data/core/menu/music/ paths for:
battle_end_win.*
battle_end_lose.*

Using the combination of these you may create short videos without sound and longer music if desired.
#34
MegaGlest / Camera follows unit feature
24 September 2012, 18:10:18
I have added an expimental feature where you can have the camera follow a specific unit (as if you were the unit looking into the world). Select the unit and press f4 and move the unit. To turn it off unselect all units and press f4 again.
#35
MegaGlest / TODO for next release
22 September 2012, 16:17:34
What needs to be done before we make a new release?

Changelog

v3.7.0
- bugfixes reported in the bugs forum since 3.6.0.3
- first person view allows you to follow a selected unit. Select one unit anf press f4 to enable (deselect anf f4 to disable).
- cell markers allow players to create markers anywhere on the map and associate a note with them. All team players see the markers.
- quick sonar signal to tell team players where the action is happening
- admin player can disconnect other network players in game
- saving / loading games.
- when placing a new unit, we display a 'ghosted' model while units walk to the build location to show the space it will occupy
- video playback support (using libvlc)
- network multi-player scenarios
- campaign scenarios
- play a sound when player mentions your name in chat mode
- more game data validation for commandline modders, see --help for more info
- many new lua commands for scenario modders
- enhanced AI management (logging and modding) and added more intellegence to decsions
- enhanced unicode support for non-ascii characters
- customizable unit, resource and upgrade language files
- tilesets support animated models
- scenario factions may now be 'neutral', meaning not on any players team.
- new command action mouse cursors
- resources are selectable showing info about the resource
- particle colors are now affected by the time of day
- new game hints are displayed while loading a new game
- linked faction support (and new techtree MagiTech for classic Glest play)
#36
While looking into getting MD5 working with MG I've decided to drop MD5 altogether in favour of IQM (http://lee.fov120.com/iqm/). IQM is public domain and designed by highly advanced open source developers who wanted a format that loads fast and offers good portability (like being able to use Blender). I searched for a long time to find an MD5 exporter in the latest release of Blender and found none that work. The IQM library allows converting to IQE (a text version) and offers many great and practical features. IQM takes ideas from MD5 and Valves SMD and solves a lot of problems around those formats.

Just thought I'd let people know about this because I've wasted enough time working in MD5 and wanted to let you know we are looking at using IQM now.

Thanks
#37
MegaGlest / Network lag
21 July 2012, 04:37:01
I commited a change that forces the server player to wait for clients that are lagging to catch up (in smaller bursts). I tried a game with 6 of us on LAN and no out of synch and we finished the game on low end hardware.

Please try out svn and let me know what you think?
#38
Can anyone tell me what this means :)

#39
You had asked for registering an area of cells. I looked at how GAE does it and its too different to follow that approach, so i added these:

int registerCellAreaTriggerEventForUnitToLocation(sourceUnit, pos)
int registerCellAreaTriggerEventForFactionToLocation(sourceFaction, pos)

In both cases pos is a 4 value array specifying the 'box' of cells (x,y of top left, and x,y of bottom right).

Thanks
#40
MegaGlest / Translatable techtrees
2 May 2012, 21:24:31
I have added some initial support in svn for translating some techtree information in the UI. Hre is how it works:

1. For a given techtree (lets assume megapack) create a folder named lang within the megapack (techtree) folder.
2. create lng files (one for each language you will support) using the naming convention:
<techtree>_<language>.lng example:
megapack_german.lng
3. Supported translatable items are currently: Resource, unit and Upgrade names. In each lng file add:
ResourceTypeName_food=Yummies
UnitTypeName_archer=Stealth Minion
UpgradeTypeName_advanced_architecture=Fancy Science

(after the 1st _ you enter the actual name of the item). In game the discovered translated strings will display if the user is using a supported language, otherwise it defaults to original behavior.
#41
MegaGlest / Moving to VC++ 2010 soon
20 April 2012, 02:16:39
I have updated the build system to support VC++ 2010 (and a new windows dependency archive exists on sf for that).

I have not tested it yet but I added a new build batch file for VC++ 2010 in mk\windoze called:

build-mg-2010.bat

This should download 7z and the new windows_deps.7z (and extract it) then build using vc++ 2010.

Thanks
#42
MegaGlest / A few new commandline commands
2 April 2012, 06:08:50
Just in case this is useful (like mor useful for masterservers) you may now check what game data is installed:

./megalgest with any of the following

--list-maps
--list-techtrees
--list-scenarios
--list-tilesets
--list-tutorials
#43
MegaGlest / More AI behavior control
31 March 2012, 08:30:35
I committed some more changes for faction specific AI Behaviour documented Below. In the Faction xml file under the faction tag you may add:

        <ai-behavior>
        <static-values>
<!--    You may use type or type-name (either will work)

        Possible values for type

aibsvcMaxBuildRadius = 0                        default value: 40     --> Maximum radius of cells a worker will consider for building a new unit
aibsvcMinMinWarriors = 1                        default value: 7     
aibsvcMinMinWarriorsExpandCpuEasy = 2           default value: 1
aibsvcMinMinWarriorsExpandCpuMega = 3           default value: 3
aibsvcMinMinWarriorsExpandCpuUltra = 4          default value: 3
aibsvcMinMinWarriorsExpandCpuNormal = 5         default value: 3
aibsvcMaxMinWarriors = 6                        default value: 20
aibsvcMaxExpansions = 7                         default value: 2  --> Maximum # of bases to expand to
aibsvcVillageRadius = 8                         default value: 15   --> The minimum spacing between bases
aibsvcMinStaticResourceCount = 9                default value: 20  --> the minimum # of static resources the faction needs
aibsvcScoutResourceRange = 10                   default value: 20   --> the maximum range a unit will look for resources
aibsvcMinWorkerAttackersHarvesting = 11         default value: 3  --> the minimum # of special 'worker attacker' units required to be harvesting before they will attack
        aibsvcMinBuildSpacing = 12                               default value: 1  --> the minimum cell spacing between units to build

        Possible values for type-name

MaxBuildRadius
MinMinWarriors
MinMinWarriorsExpandCpuEasy
MinMinWarriorsExpandCpuMega
MinMinWarriorsExpandCpuUltra
MinMinWarriorsExpandCpuNormal
MaxMinWarriors
MaxExpansions
VillageRadius
MinStaticResourceCount
ScoutResourceRange
MinWorkerAttackersHarvesting
        MinBuildSpacing
-->
                <static type="9" value="80"/>
                <static type="0" value="75"/>
                <static type="7" value="4"/>
                <static type-name="VillageRadius" value="25"/>
        </static-values>
        </ai-behavior>
#44
MegaGlest / More lua functions
30 March 2012, 07:19:23
The follow are some new lua functions we commited in svn:

Neutral units can be created by setting their team # to 9 (makes the system think they are an observer)

-- this function can be check to see if the game is over
bool isGameOver()
-- this function creates a timer that will only trigger the timer event after triggerSecondsElapsed seconds then remove the timer
int startEfficientTimerEvent(int triggerSecondsElapsed)
-- this function can be safely used for predictable random number seeding
setRandomGenInit(int seed);
-- this function generates a predictable random number
int getRandomGen(int minVal, int maxVal);
-- this function returns the world frame count (maybe good for seeding random number generation)
int getWorldFrameCount();

-- this function returns a list of units for a faction that match one or both commandtype and field criteria
-- if commandtype and field are empty it gets all units in a lua array for the faction
-- if commandtype if empty and field is set (0 = land 1 = air) then it finds units currently in that field
-- if commandtype is set but field is empty it gets all units that have that command type
-- if commandtype is set and field is set it gets all units that have that command type in the given field (Attack air for example)
int [] getUnitsForFaction(int factionIndex,const string& commandTypeName, int field);
-- this function returns the field the specified unit is in
int getUnitCurrentField(int unitId)

-- this function is helpful for network scenarios and shows the message for players in the specified faction
void networkShowMessageForFaction(const string &text, const string &header,int factionIndex);
-- this function is helpful for network scenarios and shows the message for players on the specified team
void networkShowMessageForTeam(const string &text, const string &header,int teamIndex);

Heres an example scenario using some of these features:

<?xml version="1.0" standalone="yes" ?>
<?xml version="1.0" standalone="yes" ?>
<scenario>
<difficulty value="3"/>
<players>
<player control="human" faction="tech" team="1"/>
<player control="cpu-ultra" faction="norsemen" team="2"/>
<player control="cpu-ultra" faction="tech" team="9"/>
<player control="cpu-ultra" faction="persian" team="9"/>
</players>
        <fog-of-war value="false"/>
<map value="8vs8islands"/>
<tileset value="desert2"/>
<tech-tree value="megapack"/>
<default-resources value="false"/>
<default-units value="false"/>
<default-victory-conditions value="false"/>
<scripts>
                <global>
        -- global vars
                        timer_event_crazy_interval = 15
                        timer_event_enemy_getflag_interval = 15
                </global>
<startup>

--disable AI for neutral factions
disableAi(3)
                        disableAi(4)

--my units
                        myStart=getRandomGen(0,3)
createUnit('castle', 0, startLocation(myStart))
myCastle=lastCreatedUnit()
createUnit('cow', 0, startLocation(myStart))
createUnit('worker', 0, startLocation(myStart))
createUnit('swordman', 0, startLocation(myStart))
createUnit('battle_machine', 0, startLocation(myStart))
                        myBonsol=lastCreatedUnit()
createUnit('archer', 0, startLocation(myStart))

                        giveResource('gold', 0, 1000);
giveResource('wood', 0, 1300);
giveResource('stone', 0, 350);
giveResource('food', 0, 1000);

-- enemy units
                        enemyStart=getRandomGen(0,3)
createUnit('castle', 1, startLocation(enemyStart))
                        enemyCastle=lastCreatedUnit()
                        createUnit('cow', 1, startLocation(enemyStart))
                        for i=1, 5 do
                                createUnit('thrull', 1, startLocation(enemyStart))
                        end
                        for i=1, 5 do
                                createUnit('battleaxe', 1, startLocation(enemyStart))
                        end
                        createUnit('valkyrie', 1, startLocation(enemyStart))
                        myValkyrie=lastCreatedUnit()
                        createUnit('archer', 1, startLocation(enemyStart))
                       
giveResource('gold', 1, 1000);
giveResource('wood', 1, 1000);
                        giveResource('stone', 1, 1000); 
giveResource('food', 1, 1000);

                        -- neutral units
                        neutralStart=getRandomGen(0,3)
                        while neutralStart == myStart or neutralStart == enemyStart do
                                neutralStart=getRandomGen(0,3)
                        end

createUnit('castle', 2, startLocation(neutralStart))
neutralCastle1=lastCreatedUnit()
                        createUnit('palace', 3, startLocation(neutralStart))
                        neutralCastle2=lastCreatedUnit()

--objectives
objective='firstwave'
showMessage('Brief1', 'CaptureFlag')
setDisplayText('firstwave')

                        --print 'TEST A'
                        cell_event1 = registerCellTriggerEventForUnitToUnit(myBonsol,neutralCastle1)
                        cell_event2 = registerCellTriggerEventForUnitToUnit(myValkyrie,neutralCastle2)
                        timer_event2 = startEfficientTimerEvent(timer_event_enemy_getflag_interval)
                        --print 'TEST B'

                        --networkShowMessageForFaction('BriefNetworkFaction', 'CaptureFlag', 0)
                        --networkShowMessageForTeam('BriefNetworkTeam', 'CaptureFlag', 2)
</startup>

<unitCreated>
</unitCreated>

<unitDied>
                        --print 'TEST C'
                        if myValkyrie == lastDeadUnit() then
        showMessage('WinEnemyDead', 'Won')
                                setPlayerAsWinner(0);
                                endGame()
                        elseif myBonsol == lastDeadUnit() then
        showMessage('WinEnemy', 'Lose')
                                setPlayerAsWinner(1);
                                endGame()
                        end
</unitDied>

                <timerTriggerEvent>
                        if triggeredTimerEventId() == timer_event2 then
                                timer_event2 = nil
                                showMessage('Brief4', 'CaptureFlag')
                                moveToUnit(myValkyrie,neutralCastle2)
                        elseif triggeredTimerEventId() == timer_event_crazy then
                                if isGameOver() == true then
                                        timer_event_crazy = nil
                                else
                                        --givePositionCommand(myValkyrie,'attack',startLocation(myStart))
                                        attackers=getUnitsForFaction(1,'attack',getUnitCurrentField(myBonsol))
                                        for i=1, #attackers do
                                                giveAttackCommand(attackers[i],myBonsol)
                                                --print('Unit id: ' .. attackers[i] .. ' is attacking unit id: ' .. myBonsol)
                                        end
                                        timer_event_crazy = startEfficientTimerEvent(timer_event_crazy_interval)
                                end
                        end
                </timerTriggerEvent>

                <cellTriggerEvent>
                        --print 'TEST CellEvent'
                        if triggeredCellEventId() == cell_event1 then
                                --print 'TEST CellEvent1'

        showMessage('Brief2', 'CaptureFlag')
        setDisplayText('secondwave')
                                objective='secondwave'
                                unregisterCellTriggerEvent(cell_event1)
                                unregisterCellTriggerEvent(cell_event2)
                                cell_event1 = nil
                                cell_event2 = nil

                                cell_event3 = registerCellTriggerEventForUnitToUnit(myBonsol,myCastle)

                                for i=1, 5 do
                                        createUnit('flyingvalkyrie', 1, startLocation(enemyStart))
                                end

                                timer_event_crazy = startEfficientTimerEvent(timer_event_crazy_interval)
                        elseif triggeredCellEventId() == cell_event2 then
                                --print 'TEST CellEvent2'

        showMessage('Brief3', 'CaptureFlag')
        setDisplayText('secondwave2')
                                objective='secondwave2'
                                unregisterCellTriggerEvent(cell_event1)
                                unregisterCellTriggerEvent(cell_event2)
                                cell_event1 = nil
                                cell_event2 = nil

                                cell_event3 = registerCellTriggerEventForUnitToUnit(myValkyrie,enemyCastle)
                                moveToUnit(myValkyrie,enemyCastle)
                        elseif triggeredCellEventId() == cell_event3 then
                                --print 'TEST CellEvent3'

                                unregisterCellTriggerEvent(cell_event3)
                                cell_event3 = nil

                                if objective == 'secondwave' then
                showMessage('WinEnemyDead', 'Won')
                                        setPlayerAsWinner(0);
                                        endGame()
                                elseif objective == 'secondwave2' then
                showMessage('WinEnemy', 'Lose')
                                        setPlayerAsWinner(1);
                                        endGame()
                                end
                        end
                </cellTriggerEvent>
                <GameOver>
                        if cell_event1 ~= nil then
                                unregisterCellTriggerEvent(cell_event1)
                                cell_event1 = nil
                        end
                        if cell_event2 ~= nil then
                                unregisterCellTriggerEvent(cell_event2)
                                cell_event2 = nil
                        end
                        if cell_event3 ~= nil then
                                unregisterCellTriggerEvent(cell_event3)
                                cell_event3 = nil
                        end

                        if timer_event2 ~= nil then
                                stopTimerEvent(timer_event2)
                                timer_event2 = nil
                        end
                        if timer_event_crazy ~= nil then
                                stopTimerEvent(timer_event_crazy)
                                timer_event_crazy = nil
                        end
                </GameOver>
</scripts>
</scenario>
#45
svn now allows morph commands to ignore resource requirements for the unit you will morph to. To enable this add this to the command:

<ignore-resource-requirements value="true" />

Thanks
#46
MegaGlest / Saved Games are coming
13 March 2012, 15:28:32
I have quite a bit of this funcationality working in svn, the main thing left (i think) is restoring particles on game load, but nearly everything else works. Currently the code in svn saves the game when you exit, so to test do some things (build and execute some commands) and exit the game, then reload like this:

./megaglest --load-saved-game

Thanks
#47
MegaGlest / One word of caution
12 March 2012, 05:38:49
While I think feedback is good and it helps improve the game, I also see now that we have far more ideas, criticisms and comments about what 'should be' in megaglest than offers to help. Good to see people are playing, thats what its about :) But honestly, we get so little help that it always runs the risk of the help you have, disappearing and you're left with even less help in the end. I cannot speak for the guys working on GAE, but I wanna say that they have been working hard for years and have done a good job adding some good features, and glad to see they still have die hard fans. However, if all a programmer receives is a never ending list of feature requests and lists of whats wrong, eventually you're motivation to work on the project disappears and you end up worse in the end.

Please, spend as much time trying to 'find' help or contributing something as you do telling us what you want. Don't always take, but give. Maybe thats partially why things didn't work well between our attempt to work with the guys from GAE?

Anyways, something to think about.
#48
MegaGlest 3.6.0.3 release - come and get it while its hot (svn revision 3080)
Downloads here: http://megaglest.org/download.html or below



Changelog:

v3.6.0.3 - this is primarily a bugfix release AND IS COMPATIBLE with 3.6.0.2 (only the binaries have changed, data is still the same)

- cmake build fixes (for newer libircclient 1.6 support, custom data path's etc)
- fixed vbo bug causing numerous clients to crash for certain video drivers
- g3dviewer fixes + ability to specify image size of auto screenshots on commandline
-  battle end screen no longer chopped off for 8 player display
- proper use of fontconfig so various linux distros will find the fonts specified regardless of actual location
- Windows headless server hosting is now fixed

v3.6.0.2

- This release is primarily work done to get accepted into the next release of Debian Linux.
- some bugfixes reported in the bugs forum from 3.6.0
- g3d plugin for blender 2.61 included in the blender folder (thanks to love heaven and yggdrasil)
- added new ways to select unit for some players with opengl drivers that
  don't work with selection buffer: EnableColorPicking=true

v3.6.0

- bugfixes reported in the bugs forum from beta1 and 2
- iso639-1 style language loading example: megaglest --use-language=zh and auto language detect on first launch
- new and updated translations (Greek, Japanese, Russian, Italian, Czech etc)
- Ability to toggle languages anywhere in the game using CTRL-L
- auto complete player names in chat mode using tab character
- New headless server mode allows dedicated servers to host games for network players (command line option --headless-server-mode)
- customized port # override via commandline (useful for multiple headless servers) example: megaglest --use-ports=x,y (x is internal port y is external port)
- new client 'admin' mode when the first client connects to a headless server he controls the game settings
- new commandline option to support standalone modes example: megaglest --load-mod=x (x is the path to the mod)
- new lua functions added (to be documented on the MG wiki)
- New attack boost system (currently used by Romans faction) which allows new types of in game unit effects.
- attack-boosts can be named and shared for proper re-use and singleton usage.
- Improved mod menu which always checks for updates for all mods now and more
- Modders can change intro, menus, faction AI behavior and many more things.
- lower CPU / RAM requirements in headless server mode
- improved rendering performance
- New font system and enhanced International language support (Chinese, Japanese, etc)
- New intro
- Enhanced AI plays smarter and responds more quickly
- New ability to enable in game team-switching for defecting to other teams in game
- Improved Megapack including better balanced Romans faction
- Added ability to 'pause' network games by press ESC in game to show a new popup-menu with in game options.
- Hosts can now set a title for their game for network games.
- Music fades in and out of game start/stop
- New low food warning indicators tells players when they are running out of food
- MacOSX support (thanks weltall)
- Players are no longer dropped in game lobby when toggling maps (player status may show as unassigned network node if they are ina slot that is not applicable to the selected map)
- Bugfixes for supported UPNP for auto router configuration when hosting games
- many more...




Important information



v3.6.0.3:

Full installers:

Linux 64 bit:
Download Here (224.2 MB)
sha1sum 0af71fb858170fd4245f3631091a2531f65b70b0

Linux 32 bit:
Download Here (222.7  MB)
sha1sum f3218248a512ba7a7986336e505e53dcd989eb30

Windows:
Download Here (199.8 MB)
sha1sum 9d99058a73166fc61f7a6c380e6ff25060d050a6

Mac OS X (updated, now points to 3.6.0.3 build):
Download Here (344.3 MB)
sha1sum f3b7307be45894de798c08a37227bf2ced9f2ff9




Advanced options:
[spoiler]

Manual data installations (for advanced users only):

Full Data package (for both Linux and Windows):

glest.ini and glestkeys.ini are not included. They are platform specific and distributed with the binary.

Download Here (192.8 MB)
sha1sum cf936baba0b1c3086b2691bc52357d687db777a9

Download Here (8.3 MB)
sha1sum 46792adaacb153b3f88e04ea7b5cf8123721b20d

All Downloads here: https://sourceforge.net/projects/megaglest/files/megaglest_3.6.0.3/

Running a standalone server in headless mode:
megaglest --headless-server-mode

More info on running dedicated servers is available on the wiki.
[/spoiler]

Please remember to report any issues and bugs in a separate thread, not here.





Update (tomreyn): Adding Mac OS X release.
#50
MegaGlest / A few more lua functions
5 January 2012, 00:59:55
By request from Muwuum I've added a few more lua methods:

string getSystemMacroValue(string key)
string getPlayerName(int factionIndex);

The first function will be expanded as time goes on, but for now it allows you to get the path to the loaded scenario, example:

dofile(getSystemMacroValue("$SCENARIO_PATH") .. "startup.lua")

The second returns the playername for the given faction index example:

getPlayerName(0)

would return the playername for player in the first faction. This would be useful for network scenarios. This is in svn and would be included in the next release.

Thanks

#51
MegaGlest / Network play for Scenarios? I think so!
26 December 2011, 06:26:03
We're playing around with allowing network play for scenarios over the next while. I currently have rigged together something that works simply by setting the control type in the scenario XML to "network". Additionally I display a list of scenarios in the custom game lobby that have at least 1 network player, and when selected it sets all settings to those of the scenario + sets the scenario name which then loads for all players at game start.

While testing we will need to somehow ensure that network scenarios are free of any dangerous LUA that could cause out of synch. Eventually we may need to have a way of having server controlled instructions for some LUA script logic to ensure consistency (not sure yet). But if we get this working it could open a whole new opportunity for fun for network play (mixing campaign + multi-player).

*Update: did a quick test with Elimnator using a sample scenario he whipped together and so far so good! This will make network play VERY fun and so much more interesting, but will definitely require a whole new way of thinking when it comes to scenarios since these types of scenarios are not single player focussed (message boxes need to target the active player etc). Mix this with multi-scenario loading and it gets amazingly fun :)
#52
Tools / How to install the blender plugin
23 December 2011, 02:24:44
In an attempt to have clarity and ease of use, we have documented how to install the G3D blender plugin here:

http://megaglest.svn.sourceforge.net/viewvc/megaglest/trunk-data-source/README.txt?revision=2998&view=markup

This might be on a wiki (or some of it already)?

The work here is from multiple people over the years (including recent work from loveheaven and yggdarsil and myself). When you install the latest megaglest (3.6.0.2) it places this in the blender sub folder of your installation, but all this stuff is also available at:

http://megaglest.svn.sourceforge.net/viewvc/megaglest/tags/release-3.6.0.2/source/tools/glexemel/

There are scripts for blender 2.4x, 2.5x and 2.6x. If anyone has any trouble please let us know and we will attempt to improve documentation and fix issues as time permits.

Thanks
#53
MegaGlest / MegaGlest 3.6.0.2 Release
21 December 2011, 03:27:10
MegaGlest 3.6.0.2 release - come and get it while its hot (svn revision 3019)
Downloads here: http://megaglest.org/download.html or below



Changelog:

v3.6.0.2

- This release is primarily work done to get accepted into the next release of Debian Linux.
- some bugfixes reported in the bugs forum from 3.6.0
- g3d plugin for blender 2.61 included in the blender folder (thanks to love heaven and yggdrasil)
- added new ways to select unit for some players with opengl drivers that
  don't work with selection buffer: EnableColorPicking=true

v3.6.0

- bugfixes reported in the bugs forum from beta1 and 2
- iso639-1 style language loading example: megaglest --use-language=zh and auto language detect on first launch
- new and updated translations (Greek, Japanese, Russian, Italian, Czech etc)
- Ability to toggle languages anywhere in the game using CTRL-L
- auto complete player names in chat mode using tab character
- New headless server mode allows dedicated servers to host games for network players (command line option --headless-server-mode)
- customized port # override via commandline (useful for multiple headless servers) example: megaglest --use-ports=x,y (x is internal port y is external port)
- new client 'admin' mode when the first client connects to a headless server he controls the game settings
- new commandline option to support standalone modes example: megaglest --load-mod=x (x is the path to the mod)
- new lua functions added (to be documented on the MG wiki)
- New attack boost system (currently used by Romans faction) which allows new types of in game unit effects.
- attack-boosts can be named and shared for proper re-use and singleton usage.
- Improved mod menu which always checks for updates for all mods now and more
- Modders can change intro, menus, faction AI behavior and many more things.
- lower CPU / RAM requirements in headless server mode
- improved rendering performance
- New font system and enhanced International language support (Chinese, Japanese, etc)
- New intro
- Enhanced AI plays smarter and responds more quickly
- New ability to enable in game team-switching for defecting to other teams in game
- Improved Megapack including better balanced Romans faction
- Added ability to 'pause' network games by press ESC in game to show a new popup-menu with in game options.
- Hosts can now set a title for their game for network games.
- Music fades in and out of game start/stop
- New low food warning indicators tells players when they are running out of food
- MacOSX support (thanks weltall)
- Players are no longer dropped in game lobby when toggling maps (player status may show as unassigned network node if they are ina slot that is not applicable to the selected map)
- Bugfixes for supported UPNP for auto router configuration when hosting games
- many more...




Important information



v3.6.0.2:

Full installers:

Linux 64 bit:
Download Here (224.2 MB)
sha1sum 8a15fd503fb8d6242fcf27f20a821724475e0da1

Linux 32 bit:
Download Here (222.7  MB)
sha1sum 82dabffe231a9de8f50ab5be1d8febc0e9e74f3e

Windows:
Download Here (199.8 MB)
sha1sum fe67cc43e4c8a2330cc215980ad23f61a79c6d83

Mac OS X:
Download Here (340.8 MB)
sha1sum 300c59aa4004315a0afb7fde854027f34170a209




Advanced options:
[spoiler]

Manual data installations (for advanced users only):

Full Data package (for both Linux and Windows):

glest.ini and glestkeys.ini are not included. They are platform specific and distributed with the binary.

Download Here (192.8 MB)
sha1sum 6c93324573dc96b898368c307e6ed046c5896797

Download Here (8.3 MB)
sha1sum 420dc63410cb8e46b2886cb795bb0d9f3be7e139

All Downloads here: https://sourceforge.net/projects/megaglest/files/megaglest_3.6.0.2/

Running a standalone server in headless mode:
megaglest --headless-server-mode

More info on running dedicated servers is available on the wiki.
[/spoiler]

Please remember to report any issues and bugs in a separate thread, not here.
#54
I'm too tired to do more than paste this from IRC:

<softcoder> ok enough babbling anything left for me to do?
<softcoder> as is it "As you were soldier"
<pabs> only thing left to do is for you to make a release :D
<softcoder> hurray!
<softcoder> when will it be official?
<pabs> once you make a release, I do the upload to Debian. then it goes to NEW and the Debian archive team check it over
<softcoder> ok perfect, will do

Edit (tomreyn): Added version number to thread subject
#55
MegaGlest / Developer's Wishlist for next release
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)
#56
If you have a slashdot.net account please 'vote up' our release story and hopefully we'll get a lot of media attention:

http://games.slashdot.org/submission/1871538/megaglest-360-released

http://slashdot.org/recent

Thanks
#57
MegaGlest / MegaGlest 3.6.0 Release
3 December 2011, 22:25:55
MegaGlest 3.6.0 release - come and get it while its hot (svn revision 2954)
Downloads here: http://megaglest.org/download.html or below



Changelog:

v3.6.0

- bugfixes reported in the bugs forum from beta1 and 2
- iso639-1 style language loading example: megaglest --use-language=zh and auto language detect on first launch
- new and updated translations (Greek, Japanese, Russian, Italian, Czech etc)
- Ability to toggle languages anywhere in the game using CTRL-L
- auto complete player names in chat mode using tab character
- New headless server mode allows dedicated servers to host games for network players (command line option --headless-server-mode)
- customized port # override via commandline (useful for multiple headless servers) example: megaglest --use-ports=x,y (x is internal port y is external port)
- new client 'admin' mode when the first client connects to a headless server he controls the game settings
- new commandline option to support standalone modes example: megaglest --load-mod=x (x is the path to the mod)
- new lua functions added (to be documented on the MG wiki)
- New attack boost system (currently used by Romans faction) which allows new types of in game unit effects.
- attack-boosts can be named and shared for proper re-use and singleton usage.
- Improved mod menu which always checks for updates for all mods now and more
- Modders can change intro, menus, faction AI behavior and many more things.
- lower CPU / RAM requirements in headless server mode
- improved rendering performance
- New font system and enhanced International language support (Chinese, Japanese, etc)
- New intro
- Enhanced AI plays smarter and responds more quickly
- New ability to enable in game team-switching for defecting to other teams in game
- Improved Megapack including better balanced Romans faction
- Added ability to 'pause' network games by press ESC in game to show a new popup-menu with in game options.
- Hosts can now set a title for their game for network games.
- Music fades in and out of game start/stop
- New low food warning indicators tells players when they are running out of food
- MacOSX support (thanks weltall)
- Players are no longer dropped in game lobby when toggling maps (player status may show as unassigned network node if they are ina slot that is not applicable to the selected map)
- Bugfixes for supported UPNP for auto router configuration when hosting games
- many more...




Important information



v3.6.0:

Full installers:

Linux 64 bit:
Download Here (234.3 MB)
sha1sum 27be213b0f7511d7ab02331dbc9d08313d5cc9d1

Linux 32 bit:
Download Here (233.0 MB)
sha1sum 79d364561b3824f0365b2177fd9dbfedc0ba4775

Windows:
Download Here (210 MB)
sha1sum da4fec38df3dfc421f68cb2bcde6f93950a6d6ad

Mac OS X:
Download Here (351 MB)
sha1sum 78d39c4734d3b3a40d91a44c3c958424edf3bbbb




Advanced options:
[spoiler]

Manual data installations (for advanced users only):

Full Data package (for both Linux and Windows):

*NOTE 2011-12-05 Update:
=================

Just a note to mention that our 3.6.0 release source code and data packages were updated on sourceforge.net because the originals did not properly contain the 3.6.0 tagged code and data from svn.

Old archive names:

source
http://sourceforge.net/projects/megaglest/files/megaglest_3.6.0/megaglest-source-3.6.0.tar.xz/download
sha1: b014b1a282130580e921382748aa40cbd83e4488

data
http://sourceforge.net/projects/megaglest/files/megaglest_3.6.0/megaglest-data-3.6.0.tar.xz/download
sha1: f16e17a95626552094446f8f01b85ff9c443711f

--------

New Archive names:

source
http://sourceforge.net/projects/megaglest/files/megaglest_3.6.0/megaglest-source-3.6.0.1.tar.xz/download
sha1: 95c4930a1a942a162677365b812b07b47bd9806c

data
http://sourceforge.net/projects/megaglest/files/megaglest_3.6.0/megaglest-data-3.6.0.1.tar.xz/download

sha1: 24fa25a554b4060a62088da6f04cf75395b98bf5

=====================

glest.ini and glestkeys.ini are not included. They are platform specific and distributed with the binary.
Download Here (211 MB)
sha1sum f16e17a95626552094446f8f01b85ff9c443711f

All Downloads here: https://sourceforge.net/projects/megaglest/files/megaglest_3.6.0/

Running a standalone server in headless mode:
megaglest --headless-server-mode

More info on running dedicated servers is available on the wiki.
[/spoiler]

Please remember to report any issues and bugs in a separate thread, not here.
#58
Please report any bugs or comments on beta2 so that we can ensure as high quality as possible as we plan to release an official version this weekend if everything goes as planned.
#59
MegaGlest 3.5.3-beta2 - come and get it while it's hot

Changelog:

v3.5.3-beta2

- bugfixes reported in the bugs forum from beta1
- iso639-1 style language loading example: megaglest --use-language=zh
- new and updated translations (Greek, Japanese, Russian, Italian, Czech etc)
- auto complete player names in chat mode using tab character
- customized port # override via commandline (useful for multiple headless servers) example: megaglest --use-ports=x,y (x is internal port y is external port)
- new commandline option to support standalone modes example: megaglest --load-mod=x (x is the path to the mod)
- new lua functions added (to be documented on the MG wiki)
- lower CPU / RAM requirements in headless server mode
- attack-boosts can be named and shared for proper re-use and singleton usage.

v3.5.3-beta1

- New font system and enhanced International language support (Chinese, Japanese, etc)
- New intro
- Enhanced AI plays smarter and responds more quickly
- Improved mod menu which always checks for updates for all mods now and more
- Modders can change intro, menus, faction AI behavior and many more things.
- New ability to enable in game team-switching for defecting to other teams in game
- Ability to toggle languages anywhere in the game using CTRL-L
- Numerous bug fixes as reported in the bugs forum
- Improved Megapack including better balanced Romans faction
- New attack boost system (currently used by Romans faction) which allows new types of in game unit effects.
- New headless server mode allows dedicated servers to host games for network players (command line option --headless-server-mode)
- Added ability to 'pause' network games by press ESC in game to show a new popup-menu with in game options.
- Hosts can now set a title for their game for network games.
- Music fades in and out of game start/stop
- New low food warning indicators tells players when they are running out of food
- MacOSX support (thanks weltall)
- Players are no longer dropped in game lobby when toggling maps (player status may show as unassigned network node if they are ina slot that is not applicable to the selected map)
- Bugfixes for supported UPNP for auto router configuration when hosting games
- many more...




Important information



All but OS X users require beta1, then apply the beta2 overtop (see details below)

Beta2:

Manual installers

Linux 64 bit:
Download Here (104.3 MB)
sha1sum 31eac167a15af6e0fa784f217eb3446935908a8b

Linux 32 bit:
Download Here (108.8 MB)
sha1sum 24f0500d9a704a1fae30301d3cfe37ecc50179cf

Windows:
Download Here (59.8 MB)
sha1sum 4fd53207fcc86f138580bef8d2177e0b8cc06d03

Mac OS X: --> Coming soon
Download Here (370 MB)
sha1sum dbfd3db5a53403306b2eede9eb5695802a59bc55
sha256sum 71d7d33308bcc374879ffa1576761fe7f4bf473d359626416e94412902aea656




Beta1:

Full installers

Linux 64 bit:
Download Here (258 MB)
sha1sum 14f3d6aa6d88f816997f3d02df4eafdee94a2a4d

Linux 32 bit:
Download Here (256.4 MB)
sha1sum 14f3d6aa6d88f816997f3d02df4eafdee94a2a4d

Windows:
Download Here (234.2 MB)
sha1sum 00fa7c1479f8d9c7e78781892e6185856073ebae

Mac OS X:
Download Here (369 MB)
sha1sum efd968a6cb33c4d0766803f712ccd8e29f80e619




Advanced options

Click to open the spoiler (requires Javascript).

[spoiler]

Manual data installation:

       
  • Full Data package (for both Linux and Windows)
    glest.ini and glestkeys.ini are not included. They are platform specific and distributed with the binary.

    Download Here
    (176.1 MB)
    sha1sum 572d58264d85cb91dda64754596108d36a9984c1

Running a standalone server in headless mode:

megaglest --headless-server-mode

More info on running dedicated servers is available on the wiki.
[/spoiler]
#60
We are planning to shortly release a beta2 and then release soon after that (if all goes well). Is there anything absolutely critical that needs to be done that has not been marked as fixed? We are not planning to add new features at this point, but just to ensure the quality is good. That said we're looking for feedback. If possibly i'd like to fix anything critical for beta2, then just confirm that beta2 is good enough and then do a release.

Thanks

(Update: beta2 is here)