Author Topic: Glest Advanced Engine  (Read 147271 times)

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
(No subject)
« Reply #275 on: 29 April 2008, 05:05:30 »
I might do a bit here and there for GAE although I am unsure about some parts of the code. What parts would you like to know about?
« Last Edit: 1 January 1970, 00:00:00 by hailstone »
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

orion

  • Guest
(No subject)
« Reply #276 on: 29 April 2008, 11:26:19 »
I'll be adding the website soon. That way I can get rid of that awful "temp" sign.

EDIT: My bad Daniel. When I was working on the server, I accidentally  moved the index.html file to my computer. (Sorry). Anyway, the website is back up.
« Last Edit: 1 January 1970, 00:00:00 by orion »

daniel.santos

  • Guest
(No subject)
« Reply #277 on: 3 May 2008, 04:23:45 »
OK, sorry this one took a bit longer to get done, but such is life.  I'm now compiling a small glestadv-data.tbz2 file for Linux users who download the binaries.  You just need to extract this in your base Glest 3.1.2 directory, just like you do with the windows package.  This contains the same files located under ./data/glest_game in the source tarball.

I haven't gotten a chance to integrate wciow's & zaggy's model updates, but the wall is already looking pretty darn good, even without the planned engine enhancements, great job guys!

Glest Advanced Engine v0.2.7 & Four Path Magitech v0.1.8
For Linux binaries and other downloads, visit http://http://glest.codemonger.org.

Glest Advanced Engine v0.2.7 Changes
  • Changed Linux output file to "glestadv" instead of "glest" to help avoid confusion.
  • Integrated hailstone's patch (after modifying it of course :) ) to load only the factions in the tech tree that are being used.
  • Screen saving now auto-creates the "screens" directory if it doesn't exist instead of throwing an exception.
  • Attempts to build, upgrade or produce that fail due to a lack of resources now tells the user what resources are missing.
  • Units that are not part of the current subfaction now decay at the rate of 0.5% of their maximum hit points per second.  This will enable features in FPM tree as discussed previously in that thread.
  • Resources can now be marked as non-displayable with <display value="false"> in their .xml file.  These resources will not be displayed at the top of the screen.
  • Updated earthquakes so they are now shaky and look a bit more like real earthquakes
  • gcc builds now make slightly better use of SIMD instructions (namely, in loop unrolling).
  • Added a rudimentary README file, which can still use a good deal of improvements.
  • When hovering over a button for an attack command that has an effect (like the FPM Lich's attacks) the details of the effects are now displayed.
  • Fixed the longstanding and annoying bug that reset the display when choosing and build location and such.  It turns out that this was happening any time a unit anywhere in the game finished morphing.
  • Fixed problem with blank message box when a game error occurred.
  • Units doing an auto repair will now break from that and auto-attack any hostiles that it sees.
  • Auto-flee is now a little bit smarter and will change course if headed off by a hostile.
  • Auto-attacking units will now return immediately after all hostiles are dead like they did before (I seem to have broken part of that at some point)
  • Fixed typo in AttackStrength language string
Four Path Magitech v0.1.8 Changes
  • Shuffled locations of corruptions-side upgrades as previously discussed.
  • Crusader has a larger emanation radius
  • Reduced number of Lich skeletons from 3 to 2, but increase his summoning speed for both skeletons & zombies.
  • Added crypt to game, which must now be built before you can make Liches
  • Renamed Ghost Armor to Animate Armor.  When choosing the path of corruption, the Animate Armor can be morphed into a Ghost Armor (new unit) after researching Lingering Spirits.  Ghost Armor has more hit points and is faster than the Animate Armor (old Ghost Armor).
  • Priestess has slightly better visual effects on lightning (I'll be completely revamping it eventually to make it look more realistic)
  • The "shrines" resource used to manage the production of priestesses (one shrine enables you to build one priestess) is no longer displayed with other resources.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

ZaggyDad

  • Guest
(No subject)
« Reply #278 on: 3 May 2008, 05:23:14 »
What's the use of hiding the shrines resource?

~Zaggy
« Last Edit: 1 January 1970, 00:00:00 by ZaggyDad »

daniel.santos

  • Guest
(No subject)
« Reply #279 on: 3 May 2008, 06:20:35 »
Quote from: "ZaggyDad"
What's the use of hiding the shrines resource?

~Zaggy
clutter.  You don't need a counter to keep track of how many shrines you have, it's a one to one relationship.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
(No subject)
« Reply #280 on: 4 May 2008, 22:31:23 »
Some excellent stuff in this version!  8)

Unfortunately I'm having a little problem. Whenever I click on a unit there is a small pause of about 1/3rd second. My frame rate is fine otherwise (I have a dual core CPU and can play all settings on, at fastest, without slow down).
« Last Edit: 1 January 1970, 00:00:00 by wciow »
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

daniel.santos

  • Guest
(No subject)
« Reply #281 on: 4 May 2008, 22:49:03 »
Quote from: "wciow"
Some excellent stuff in this version!  8)
Thanks!  I'm glad I finally got this one out! :) I still want to do some more work on the earthquake to try to get the shaking better, but I suppose it's at least descent now.  On the bright side, I have a kick-ass algorithm ready for doing waves with water vessels! (since the original earthquake looked more like a wave than anything else).  I want to have waves travel a long distance, so I may learn some of these SIMD tricks to do the math operations en-mass to keep the performance high.

Quote from: "wciow"
Unfortunately I'm having a little problem. Whenever I click on a unit there is a small pause of about 1/3rd second. My frame rate is fine otherwise (I have a dual core CPU and can play all settings on, at fastest, without slow down).

Yikes! thanks for the info wciow.  I didn't test the windows version, just the Linux version, so it must be something wrong there, I'll look at it.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
(No subject)
« Reply #282 on: 5 May 2008, 19:52:48 »
I looked in the glestadv.ini and found the maxrender property. I tried changing it around but it didn't make any difference. Is this implemented yet or just placeholding?
« Last Edit: 1 January 1970, 00:00:00 by wciow »
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

daniel.santos

  • Guest
(No subject)
« Reply #283 on: 6 May 2008, 05:08:28 »
Thanks!  I almost left this one out of the to do list! :) MaxRenderDistance does not yet do anything, but it needs to very soon.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

chain

  • Guest
(No subject)
« Reply #284 on: 6 May 2008, 19:04:35 »
attractive job)
There is one problem in Glest and hope u can heal it in GlestAD - a big trouble with localiztion, especially in Linux.
Glest engine use X11 bitmap fonts without international support, for example cyrillic. Plz add truetype support to the engine.
many glest funs all over the world will be thankful for u for this addon)
« Last Edit: 1 January 1970, 00:00:00 by chain »

daniel.santos

  • Guest
(No subject)
« Reply #285 on: 6 May 2008, 21:52:13 »
Quote from: "chain"
attractive job)
There is one problem in Glest and hope u can heal it in GlestAD - a big trouble with localiztion, especially in Linux.
Glest engine use X11 bitmap fonts without international support, for example cyrillic. Plz add truetype support to the engine.
many glest funs all over the world will be thankful for u for this addon)

Wow, thank you chain.  This isn't something I'm very familiar with and, admittedly, hadn't considered too much.  I think this should be added to the "to do" list, along with getting more translations for the GAE text strings.  I didn't get the Spanish language file in the GAE source tree because I was having problems with the encoding & file system.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

daniel.santos

  • Guest
(No subject)
« Reply #286 on: 23 May 2008, 19:16:13 »
I haven't posted in a while, mostly because I've been very busy with a work project and personal stuff which has taken most of my time.  But I wanted to post an update.

As some of you may know, Martiño has been working on integrating Lua into Glest!  He has a working set of tutorials and some scenarios using the scripting and it's very nice.  I've been working a bit on the Linux build for Glest w/Lua and the starting steps of migrating that into GAE.

Next, I have been working a good deal on the particle system (the code that makes effects like rain, snow, lightning, fire balls, etc.) and designing and constructing a weather system.  For me, this is something that I've really been wanting to see: a realistic weather system in a game.  I'm only going far enough with it to get the concepts and basic data structures flushed out, because I will be getting back to finishing 0.2.8 stuff (mostly multiplayer testing at this point), but this is a basic run-down on it's current design.

Firstly, if anybody knows of an open source software library that simulates weather patterns (not written in Fortran and intended for massive computer clusters :) ), then please let me know.

Before starting the game, the weather system is told information about the climate, geography and season.  Since we're not designing something to run on a super computer and predict hurricanes, this is what I'm simplifying it down to at this point.  Each of these values will be represented by a simple floating point number.
  • how flat or hilly the area is in general (I don't care about details), zero is an unrealistically flat plain (should never exist unless you want to simulate a synthetic environment where the ground is truly 100% flat and smooth) and one is a mountainous region.
  • how tropical is the region: zero is middle of an infinitely large continent and 1.0 is floating in the middle of an infinitely large ocean.
  • how much vegetation is there in the region: zero is a dessert and one is a rain forest.
  • which direction is the greatest body of water in in degrees.  This is essentially an average direction.  If a map has a lot of water on one end of it and you want to pretend that it's the beginning of an ocean, you point in that direction.  If there are multiple bodies of water, either in the map or in the "pretend area" outside of the map, then you point in the direction that contains the most water.
  • what is the season, zero is winter solstice and 0.5 is summer solstice.
  • latitude in degrees
  • longitude in degrees
  • altitude in map units
  • planet's orbital tilt in degrees (Earth = 23.5 degrees)
This is a preliminary model.  With this data, some randomization and ripped off formulas from the meteorological sciences, I think that an interesting weather simulation can be realistically achieved.  The maps in Glest should be considered large enough so that differing weather events can be taking place on different places in a map; it may begin to rain on the northern end of the map while the sun is still shining in the south.  Also, the amount of rain & wind will be dictated by the weather simulation system, so that it's intensity will most closely resemble real storms, often sprinkling before the downpour.  Winds will have a direction, speed and gusting speed and gusts will travel across the landscape in realistic fashion.  This will look cool with the new wind-blown trees & shrubs we have planned for 0.3.  Also, since our physics controlled toss-able objects are having their mass & density defined, we can have them effected by wind as well.

Finally, we'll add wind (actually just atmospheric pressure) to some attacks like mage attack, catapult attack, and (mostly) the archmage's attacks so that nearby objects are effected by the blasts.  Also, when we get to this point, we'll need to modify the flags in a few models to blow with the simulated wind.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

theotherhiveking

  • Guest
(No subject)
« Reply #287 on: 23 May 2008, 21:26:16 »
Quote from: "daniel.santos"
I haven't posted in a while, mostly because I've been very busy with a work project and personal stuff which has taken most of my time.  But I wanted to post an update.

As some of you may know, Martiño has been working on integrating Lua into Glest!  He has a working set of tutorials and some scenarios using the scripting and it's very nice.  I've been working a bit on the Linux build for Glest w/Lua and the starting steps of migrating that into GAE.

Next, I have been working a good deal on the particle system (the code that makes effects like rain, snow, lightning, fire balls, etc.) and designing and constructing a weather system.  For me, this is something that I've really been wanting to see: a realistic weather system in a game.  I'm only going far enough with it to get the concepts and basic data structures flushed out, because I will be getting back to finishing 0.2.8 stuff (mostly multiplayer testing at this point), but this is a basic run-down on it's current design.

Firstly, if anybody knows of an open source software library that simulates weather patterns (not written in Fortran and intended for massive computer clusters :) ), then please let me know.

Before starting the game, the weather system is told information about the climate, geography and season.  Since we're not designing something to run on a super computer and predict hurricanes, this is what I'm simplifying it down to at this point.  Each of these values will be represented by a simple floating point number.
  • how flat or hilly the area is in general (I don't care about details), zero is an unrealistically flat plain (should never exist unless you want to simulate a synthetic environment where the ground is truly 100% flat and smooth) and one is a mountainous region.
  • how tropical is the region: zero is middle of an infinitely large continent and 1.0 is floating in the middle of an infinitely large ocean.
  • how much vegetation is there in the region: zero is a dessert and one is a rain forest.
  • which direction is the greatest body of water in in degrees.  This is essentially an average direction.  If a map has a lot of water on one end of it and you want to pretend that it's the beginning of an ocean, you point in that direction.  If there are multiple bodies of water, either in the map or in the "pretend area" outside of the map, then you point in the direction that contains the most water.
  • what is the season, zero is winter solstice and 0.5 is summer solstice.
  • latitude in degrees
  • longitude in degrees
  • altitude in map units
  • planet's orbital tilt in degrees (Earth = 23.5 degrees)
This is a preliminary model.  With this data, some randomization and ripped off formulas from the meteorological sciences, I think that an interesting weather simulation can be realistically achieved.  The maps in Glest should be considered large enough so that differing weather events can be taking place on different places in a map; it may begin to rain on the northern end of the map while the sun is still shining in the south.  Also, the amount of rain & wind will be dictated by the weather simulation system, so that it's intensity will most closely resemble real storms, often sprinkling before the downpour.  Winds will have a direction, speed and gusting speed and gusts will travel across the landscape in realistic fashion.  This will look cool with the new wind-blown trees & shrubs we have planned for 0.3.  Also, since our physics controlled toss-able objects are having their mass & density defined, we can have them effected by wind as well.

Finally, we'll add wind (actually just atmospheric pressure) to some attacks like mage attack, catapult attack, and (mostly) the archmage's attacks so that nearby objects are effected by the blasts.  Also, when we get to this point, we'll need to modify the flags in a few models to blow with the simulated wind.



Right now i don't know what to say:

Option 1: Overkill

Option 2: Awesomeness.
« Last Edit: 1 January 1970, 00:00:00 by theotherhiveking »

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
(No subject)
« Reply #288 on: 23 May 2008, 21:52:06 »
This sounds amazing, my only concern is how many cycles this weather simulation is going to be chewing up. This is truly pushing the boundries for RTS games!!
« Last Edit: 1 January 1970, 00:00:00 by wciow »
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

ZaggyDad

  • Guest
(No subject)
« Reply #289 on: 23 May 2008, 22:47:46 »
You should try making a random map option, too. And then it could have all of those options for it, too. (And maybe you could make a map previewer to go with it.)

~Zaggy
« Last Edit: 1 January 1970, 00:00:00 by ZaggyDad »

Jamesgamer

  • Guest
(No subject)
« Reply #290 on: 26 May 2008, 01:40:47 »
Hi, sorry for not reading many earlier posts (20 pages is a lot to read  :D ).
I may be repeating, but here are some ideas (is this a good place to post them?)...

-Neutrals (ex: monsters that have lairs; do not produce much; do not use resources; are mostly defensive)
-Unique units (would be very powerful, but you could only have 1 at a time)
-Training area (perhaps under housing; would speed up morphing)
-alternative ways to win (defend for x time, perhaps ctf-ish thing?)
-Special conditions (ex:All units are granted strength temporarily; would especially make campaign interesting)
-Switch between full screen and windowed

Less likely (you don't have to read this):
-Powerful upgrades that cannot be used until x time has passed since beginning of game (instead of having to have research going?)


PS: hi orion!  :P

EDIT: And about the weather system? WOW.
« Last Edit: 1 January 1970, 00:00:00 by Jamesgamer »

orion

  • Guest
(No subject)
« Reply #291 on: 26 May 2008, 03:50:49 »
Hey James. I haven't heard from you in a while. I personally think all of your ideas are great (even the "Less Likely" one). Perhaps, if I catch you on the irc, you could help me with the website. :)
« Last Edit: 1 January 1970, 00:00:00 by orion »

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
(No subject)
« Reply #292 on: 26 May 2008, 12:53:05 »
Quote from: "Jamesgamer"

-Neutrals (ex: monsters that have lairs; do not produce much; do not use resources; are mostly defensive)
-Unique units (would be very powerful, but you could only have 1 at a time)
-Training area (perhaps under housing; would speed up morphing)
-alternative ways to win (defend for x time, perhaps ctf-ish thing?)
-Special conditions (ex:All units are granted strength temporarily; would especially make campaign interesting)
-Switch between full screen and windowed
-Powerful upgrades that cannot be used until x time has passed since beginning of game (instead of having to have research going?)


Hmm, some nice ideas there  :)

Neutrals - This will be possible with the new wildlife system
thats going into the GAE.

Unique units - This is one of the most talked about and requested features for Glest. Personally I'm not a fan of hero units in RTS games since it feels a bit too much like an RPG. Anyway, this can be done quite easily in GAE now without the need for a special heroes feature.

Training area - This is (probably) possible in GAE now using a hackish system of a building with some kind of emanation but i'm not sure wether its really needed tbh.

Alternative wins/Special conditions - Hopefully this will be covered by Martinho who is currently working on implementing LUA scripts for campaigns!

Full/Windowed Screen - I think somebody made a patch for this before?

Daniel is the main man for the GAE so he can give you a better idea of what is possible right now and in the future for GAE.
« Last Edit: 1 January 1970, 00:00:00 by wciow »
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

orion

  • Guest
(No subject)
« Reply #293 on: 26 May 2008, 14:35:01 »
What exactly is Lua and why is Martino adding it into Glest?
« Last Edit: 1 January 1970, 00:00:00 by orion »

@kukac@

  • Guest
topic
« Reply #294 on: 26 May 2008, 15:11:15 »
« Last Edit: 1 January 1970, 00:00:00 by @kukac@ »

Alexfolland

  • Guest
(No subject)
« Reply #295 on: 26 May 2008, 20:57:05 »
Yes i'm a total noob, but how to save your game? That's a feature I've been waiting quite awhile for.
« Last Edit: 1 January 1970, 00:00:00 by Alexfolland »

orion

  • Guest
(No subject)
« Reply #296 on: 26 May 2008, 21:05:04 »
Press the "z" button
« Last Edit: 1 January 1970, 00:00:00 by orion »

Dr.Dixie

  • Guest
(No subject)
« Reply #297 on: 28 May 2008, 14:36:34 »
Wow! Good work, Daniel. I'm compiling GAE 0.2.7 for Linux now... I'll post it in a while.


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

Dr.Dixie

  • Guest
(No subject)
« Reply #298 on: 12 June 2008, 15:28:08 »
GAE 0.2.7 for Linux:

http://www.mediafire.com/?tmeknp7dvbn

I may or may not have messed with the config file in ways you don't want. Be warned.


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

Dasaki

  • Guest
(No subject)
« Reply #299 on: 26 June 2008, 18:07:11 »
Question how do you work ranged attacks?  it confuses me.  I'm kinda wanting the archers to have a bit of a longer range.  Also I want to know of a way to increase the ield view of all units and buildings.  The current setting is WAY too claustrophobic then from what I'm used too.

When I get better just as well I'll do something about field vision blocking.
« Last Edit: 1 January 1970, 00:00:00 by Dasaki »