Author Topic: Glest Ideas Compilation (reposted)  (Read 12074 times)

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Glest Ideas Compilation (reposted)
« on: 6 November 2008, 01:45:07 »
GLEST IDEAS COMPILATION

Now, the September board glinch whiped the board clear, with it, the Compilation. For those who don't know, this is a compilation of ideas to improve glest. This time around, I'm going to have a more organized post. This is not limited to Glest, but could be used for GAE (some functions may already be in GAE, I wouldn't know, since it won't work for me...) I don't have the original document, so this must be redone from scratch, I am aware I missed many things, so please repost them.

AI
This section concerns AI improvement and related AI issues.

1) Extra Attacks - AI in glest don't use any other attacks. (ie: Archmage's Statis Fire) This is unfair, especially for powerful attacks.

2) Regroup - The AI are often easy to defeat because they can be spaced very far apart. Having them regroup every 20 or so spaces could prevent this very well.

3) 'Smart' Splash - AI (either yours or the CPUs) often attack units, and can kill many of your own units with that splash. Units should be ranked in usefulness (in the xmls) and if the combined rank of the afflicted ally units is LESS than the combined rank of the enemy units, then the attack goes on. Other wise, the AI should check for other attacks, or not do the attack at all.

4) Unneccessary Buildings - AI often build many 'Upgrade-only' buildings, such as the Archmage Tower. A place in the XML should specify the max number of buildings that should be built.

5) Random Attack-Paths - When the enemy attacks you, they always take the same route. Taking a different route may be a good idea.

6) CPU Levels - Offering three different levels of CPU difficulty, easy (for beginners), normal (for normal players), and ultra (for advanced players) where the CPU doesn't just get a resource boost, but becomes smarter and is more likely to use better strategies.

7) Strategies - Having the CPU follow random strategies including: All out attack, attack workers/isolated units, attack from different directions, attack by surrounding and advancing, protecting ranged units with melee units, etc; These strategies make the AI tougher, and depending on the difficulty level, the AI could use better strategies for harder battles. (And more exciting)


Tilesets and Maps
This section concerns tilesets and maps, as well as the Map Creator.

8) XML Details - XMLs should have more options, including a way to pick the size of objects and add cellmaps. Also, allow custom weather effects (ie: sandstorm)

9) 3D Map Creator - An ideal map creator would have a 'Pick a Tileset' option, where you'd pick a tileset, and then be able to see the map in 3D. An alternative is a quick way to 'Preview the map in the game in a overhead view.

10) Undo - Add an 'undo/redo' command to the map maker. Many people make mistakes, and would want to undo those mistakes. Of course, if undo is added, so must redo.

11) Animation - Allow animation in tileset models. Nuf said.


Other
All other ideas.

12) Error Verification - When attemping to play glest, and there is an error, keep going and record ALL errors, not just the first one that is encountered. Maybe a seperate program that checks a techtree/faction for errors and makes a list of all errors.

13) AI Problem - Sometimes AI go wierd and just don't do anything. They would be normal, except that they would not harvest resources, and therefore, they soon become incapible of doing anything.

14) Command.xml - The CPU is very stupid at times, so this is my master idea: Program Glest so that it will check to see if there is a command.xml in the folder of each unit. If there isn't, Glest will just play that unit as normal, but if there is, a number of commands become available. The xml would have a number of places where you can tell Glest the purpose of the unit. There would be a number of boolean slots for defining the unit and such. Here is an example of what it could look like:
Code: [Select]
<command>
<purpose>
<scout="true"/>  -- Is the unit a scout
<attacker="true">  -- Can the unit attack
<location="front"/>  -- Location when attacking (back or front)
<gather-resource="true">  -- Can the unit gather resources
<stop-attacked="true"/>  -- Stop gathering if attacked
<stop-enemy="true"/>  -- Stop gathering if enemy sighted
<attack-priority="true"/>  -- Attack command overrides gather resource
<resource preference="1,2,3"/>  -- Resources prefered to gather (#)
<build="true">
<build-priority attack="true"/>  -- Attack override build
<build-priority resource="false"/>  -- Resource gathering override build
<build-priority scout="false"/>  -- Scout override build
<random purpose="true>
<influence attack="0.75"/>  -- chance of unit being geared toward attacker
<influence scout="0.05"/>  -- chance of unit being geared towards scout
<influence resource="0.2"/>  -- chance of unit being geared toward resources
</purpose>
<strategies>
<all-out="true"/>  -- strategies used
<defensive="false"/>
<surround="true"/>
<multi-route="true"/>
<workers="false"/>
<ambush="false"/>
<randomize="false"/>  -- randomize the strategies used
</strategies>
<information>
<unit-rank="6">  -- rank of usefulness (1-10)
<attack="8"/>  -- rank of attacking
<defense="6"/>  -- rank of defending
<gather="3"/>  -- rank of gathering resources
<scout="7"/>  -- rank of scouting
</unit-rank>
<regen="true">  -- can regen
<pull-back="15"/>  -- retreat if HP is less than this percent
</regen>
<multi attacks="true"> -- unit has more than one attack
<use="1">  -- attack # 1
<amount="90"/>  -- percentage of time to use attack
<use="2">  -- attack # 2
<amount="10"/>  -- percentage of time to use attack
</multi>
<flee="false"/> -- unit should flee if outstrengthed
<distant-ranged="true">  -- If target is out of range for normal attack, use ranged attack
<override-near="3"/> -- distance for foe to be before switching to close range attack
</distant-ranged>
</information>
</command>

15) Night Values - Increase stats at night (in xml)

16) Water Thirsts - Everyone's thirsty for a water field. While very limited on its own, a land to water unit (ie: hyrda) could travel through water and land. Allow water travel to have its own animation by making it a new command.

17) Suicide - Allow die to be a command, so that one can have a unit that can suicide on a single target. (mixed with an attack command)


I'm missing a bunch, but feel free to add your own. (And the missing ones) as well as comment these!

BTW, does anyone know a good tutorial that explains gaming c++ coding? I know mathmatic c++ pretty good, but I'm having trouble finding tutorials that are useful for learning to program in glest. (or other c++ games)
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

mictes

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #1 on: 6 November 2008, 09:40:09 »
1) The AI uses static fire, when you come along with a flyign unit. But in other fact you are rigth !

Suicide Command is a good idea, i solved it tentative by morph. (in 13k you can sell buildings and break down defense_buildings)

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
Re: Glest Ideas Compilation (reposted)
« Reply #2 on: 7 November 2008, 01:53:40 »
Some good ideas in there  :)

AI - there has been alot of recent discussion about upgrading the AI, it certainly couldn't hurt but I wouldn't consider it a priority. If you want intelligent opposition play against another human! (this applies to most games not just Glest)

Tilesets - This is the area which I think needs the most improvement. Giving map objects cell maps and animations would hugely improve tilesets.

Others - I like the error verification alot. Having to restart Glest several times to fix each error individually is annoying.  If Glest could just spit out a list of all errors it would be very useful.
The command XML is a bad idea. Daniel has worked out a better way of doing this in GAE via AI flags in the units standard XML file.
Changing unit stats at night is a good idea.
Water fields are also a good idea.

BTW, if you can code C++ math then maybe you could build some simple tools without having to learn the game code.
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #3 on: 7 November 2008, 04:50:37 »
I can do strings in c++ as well, and have made a few programs where you have a virtual conversation with the computer. I'm still looking for good tutorials, and am looking at the source, but here's my issue... I can't get it to compile! I linked folder as resources in MS Visual Studio 2008, and included the headers, but I still get a ton of 'cannot find header file' errors. Not sure why. Any help? (Or can someone upload a blank  version of the beta-3's source in a VS file?)

Oh, and I've already checked the 'Compiling with MS VS 2008' post by Daniel, but its a bit old...

Lastly, I must have screwed up when I hit back or something, because this got posted TWICE! Please delete that copy moderators, thanks!
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

gameboy

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #4 on: 7 November 2008, 09:04:16 »
Quote from: "omega"
7) Strategies - Having the CPU follow random strategies including: All out attack, attack workers/isolated units, attack from different directions, attack by surrounding and advancing, protecting ranged units with melee units, etc; These strategies make the AI tougher, and depending on the difficulty level, the AI could use better strategies for harder battles. (And more exciting)
I think it would be better if the AI had a personality, say booming for the economic AI, rushing for the AI quick to attack, and turtling for the more defensive AI.
Also it Would be great to have a random map generator.

hailstone

  • GAE Team
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: Glest Ideas Compilation (reposted)
« Reply #5 on: 7 November 2008, 09:34:33 »
Quote from: "Omega"
I still get a ton of 'cannot find header file' errors. Not sure why. Any help?
We can't really help you if you don't tell us the errors.

I have setup two threads for this purpose. One for Linux and one for Windows.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #6 on: 7 November 2008, 17:43:26 »
Its just stuff like 'cannot find types.h'   'cannot find wx/wx.h' etc...

I have been working on my coding skills, but I haven't quite left the console window yet. I'm not yet sure how to do things like load a splash screen or a video (I'd like to learn that) make links, or anything else in a window application. VS can make window apps, but I'm not sure how to program them...

EDIT//
Here's a cool kind of console 'HELP' program that is basically a help file for glest's map maker. Still haven't left the console...
(Hmm, you cant upload exe to the board, guess I gotta use media fire for that)
Click here to download the exe (Windows only)
Been wondering if anyone has tutorials for c++ in windows applications (compatible with VS) and tutorials for moving out of the console and into windows.
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

hailstone

  • GAE Team
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: Glest Ideas Compilation (reposted)
« Reply #7 on: 8 November 2008, 13:50:19 »
Please post the error messages in the appropriate thread I have provided.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #8 on: 15 November 2008, 00:47:25 »
Wait, I fixed everything except a few which I suspect require me to download something.

Code: [Select]
fatal error C1083: Cannot open include file: 'lua.hpp': No such file or directory
Code: [Select]
fatal error C1083: Cannot open include file: 'xercesc/util/XercesDefs.hpp': No such file or directory
Code: [Select]
fatal error C1083: Cannot open include file: 'glprocs.h': No such file or directory
One is for the Lua scripting, and the other is for the xml parser. As for glprocs, I don't know about it, so can someone who has the header upload it please? The rest I managed to link. I just need to fix these three here.

Also, there is a few warnings, but I don't think they will affect the file.

Code: [Select]
game_camera.cpp
c:\users\owner\documents\glest\source\glest_game\game\game_camera.h(85) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(64) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(64) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(121) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(121) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(164) : warning C4244: 'initializing' : conversion from 'float' to 'const int', possible loss of data
..\..\..\..\..\Glest\source\glest_game\game\game_camera.cpp(165) : warning C4244: 'initializing' : conversion from 'float' to 'const int', possible loss of data
Code: [Select]
components.cpp
..\..\..\..\..\Glest\source\glest_game\facilities\components.cpp(131) : warning C4018: '<' : signed/unsigned mismatch
..\..\..\..\..\Glest\source\glest_game\facilities\components.cpp(168) : warning C4018: '>=' : signed/unsigned mismatch
Code: [Select]
game_util.cpp
..\..\..\..\..\Glest\source\glest_game\facilities\game_util.cpp(89) : warning C4018: '<' : signed/unsigned mismatch

These shouldn't affect the files, since they are mismatches of signing and conversion from an integer value to a floating value. Though for the first one, I think it could be fixed by changing the int to float, but its probably best to leave it alone, since it most likely is not going to be a 'possible loss of data'.

Anyway, once I get this compiled, I'll look for more tutorials in hopes of one day being able to add some things with programming. Nothing too complexe, since my skills concerning headers are very limited, but I'm thinking about trying to add a night strength value. (At first, just have it work like upgrading a level, and eventually allow one to control the amount of the upgrade)
And any help for that would be great.
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

hailstone

  • GAE Team
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: Glest Ideas Compilation (reposted)
« Reply #9 on: 18 November 2008, 23:08:39 »
Quote
Please post the error messages in the appropriate thread I have provided.
This is for organisational purposes. So people don't repeatedly ask the same questions.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #10 on: 28 November 2008, 00:33:44 »
Ok, ok... But where can I download these headers?

EDIT// Here it is, my first 'outside-of-console-window-but-still-kinda-simple-application'.
http://http://www.mediafire.com/?yjizwlnjmtn
At least it's an eye toy...
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #11 on: 30 November 2008, 05:46:27 »
Can someone tell me how to make links to sites, files, and other exes?
[

Code: [Select]
{URL=link}URL text message{/URL}
Where {=[

- @kukac@]
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

prehistoricman

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #12 on: 4 December 2008, 04:03:48 »
I'd like to add two of my own

Combat Stances
I find it really annoying to have to chase down all of my melee units.  It would be really helpful if they would return to position if the unit that they are chasing is killed or leaves their los.  In addition, I like to keep my ranged units from moving to chase units, so having a method to keep them in place would also be nice.

Formations
It really would be useful if my men would stick together when I order them to one location.  It really stinks when your fast and light units arrive first only to be slaughtered because your slower units hadn't caught up yet.  In addition, a spaced out formation that would help prevent mass aoe death would be nice too.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #13 on: 4 December 2008, 15:23:17 »
I don't think you understand. I know how to make a link on the board, I want to make a link inside the EXE. Basically, if I set a button click event, what code is in the event?
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

modman

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #14 on: 5 December 2008, 01:34:23 »
Maybe this entire topic belongs in the GAE forums.  Then daniel.santos will see it easier.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #15 on: 5 December 2008, 15:18:27 »
Thing is, Glest is far more popular than GAE, which some people don't even know what it is! Also, GAE doesn't work on my computer. Call me demented, but I'd like to see some of these changes too! Of course, GAE is fine to use these ideas, but I think it should still be in General Discussion, where it can affect normal Glest and GAE!
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

modman

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #16 on: 6 December 2008, 03:47:13 »
They will someday attempt a merge of the two engines, so at that time you may get the above features, but until then the only place they're going is in GAE.  Plus the GAE team makes up most of the programers on the forums.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #17 on: 7 December 2008, 20:16:32 »
You gotta remember, while GAE is more active, Glest still is active. When Glest upgraded to Lau, we gained the campaigns and tutorials people where asking of GAE. Although maybe you are right, I would still like to see this in regular Glest as well.
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

modman

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #18 on: 9 December 2008, 23:06:09 »
There was an idea of these neutral "creeps" that could be in the game.  I think it would really improve gameplay because you could get extra kills, yet your workers would never be safe while on the move.  I have no idea what the models would look like though.  Probably some Daemon-like creature.

horusofoz

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #19 on: 9 December 2008, 23:25:04 »
I think it would be good to have a variety of neutral creeps. From wild bears or wolves, to demons, bandits, rogue mages etc. You could have them guarding resources or treasures, a small number on random patrols that have the potential for them to stroll into your village and start attacking. Also if possible maybe have low-to mid level creeps be respawned in certain areas maybe though hig level creeps such as demons or dragons, are not respawned when killed. Again I suggest Warcraft 3 as a reference for this idea.

Also what would be mad is if by say Glest 5 or 6 we could develop the rog elements for "hero" units as they did in warcraft 3. However I think before then we need to get the base game much more solidly set.

hailstone

  • GAE Team
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: Glest Ideas Compilation (reposted)
« Reply #20 on: 10 December 2008, 00:04:50 »
Here is the thread if you're interested. viewtopic.php?f=15&t=3440
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

horusofoz

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #21 on: 10 December 2008, 03:04:26 »
Thanks. Am going to post this idea in that forum. Feel free to delete this post and previous one if you consider this cross posting.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Glest Ideas Compilation (reposted)
« Reply #22 on: 10 December 2008, 03:37:18 »
Now, before we go too far off topic, lets get back to the glest ideas.
I was thinking, and I thought it might be cool to have a method of showing video or animated images (gif). There could be support for avi, mpeg, and maybe even flv. Those are good video formats, and can be used well in glest's scenarios. I don't think it would be that hard to impliment, though we would need a video codec, perhaps Bink video codec, I think that's what was used in Halo 3... :O
Though it would be nice to be able to have video, as long as it's not too hard to make (meaning it's a common format, such as the above recommendations).
Edit the MegaGlest wiki: http://docs.megaglest.org/

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

modman

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #23 on: 14 December 2008, 22:53:34 »
This would be easiest to do with lua scripting, because with that you could easily, given the possibility, refrence to the clip.

The clips themselves would be ultra-hard to make though, without taking away from the feel of Glest.  A bad clip could easily make the game really cheesy.

gameboy

  • Guest
Re: Glest Ideas Compilation (reposted)
« Reply #24 on: 15 December 2008, 02:50:48 »
you can just do the animating in blender, that way you could have really cool shadows ( not that the current ones are bad, they don't work on my pc) and subsurfaced models for a smoother look and realistic water too!