Code Monkey home page Code Monkey logo

glest / glest-source Goto Github PK

View Code? Open in Web Editor NEW
56.0 56.0 39.0 43.83 MB

Glest is a network multi-player cross-platform 3D real-time strategy (RTS) game, where you create armies of units and battle different factions.

Home Page: https://glest.io

License: GNU General Public License v3.0

Shell 1.10% CMake 1.22% Python 0.42% Batchfile 0.26% C++ 80.10% C 15.26% Makefile 0.31% HTML 1.13% Objective-C 0.09% Objective-C++ 0.06% Assembly 0.01% Perl 0.03%
bash cmake cpp games glest graphical-programming multiplayer network rts strategy

glest-source's People

Contributors

akien-mga avatar alketii avatar andy5995 avatar basxto avatar bennettdixon avatar craigpotter avatar devnexen avatar dgkmaster avatar escottalexander avatar fforjan avatar filux avatar freshdumbledore avatar goetzk avatar guillaumeb-github avatar hkl123 avatar jammyjamjamman avatar jasperdanan avatar jberrend avatar joaomarcoscsilva avatar kensington avatar monwarez avatar pabs3 avatar pranav0281999 avatar softcoder avatar susnux avatar tiagorlampert avatar titiger avatar titison avatar tomreyn avatar williame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glest-source's Issues

Display more information about units, in game, before and after its creation.

I think it would be nice to include more information about units. For example, some buildings can store resources, but there's not indication what they can store until they are built.

@biels also mentioned that he would like to know more about about the attack and damage properties of units. When he was referring to whether a unit should be damaged by its own attack splash:

But then it should be shown on the command or somewhere when the splash harms itself or not

OOS on Windows

andy5995 - Today at 1:57 PM
for some reason David, on Windows, is getting an out of sync (OOS) crash after 5-7 minutes of network play. That doesn't happen with me and the 2 other Linux players. but David has no problem with MegaGlest..
The OOS error messages are not very detailed, so will take some effort to debug it. But we also get OOS after 1 minute of someone joining a game in progress.
So if we can get some good debugging techniques in place and figure out causes of that, would solve a lot of issues now and in the future

These are screenshot of an OOS I reproduced using the in-game join feature:

screen22
screen23

Some debug output from the client:

https://gist.github.com/andy5995/b9c46b111b280f2349d2b1a43a7d9f65

I believe this is how the Fog-of-War OOS bug was fixed on MegaGlest. The commit is dated around the time I figured out how to reproduce it and Custom_94 confirmed it with me.

MegaGlest/megaglest-source@ed6f169

multi-player games slow down when unit counts increase

As unit counts increase, the game may become unplayable (lag). There are ways to prevent this, such as using maps with less resources (gold, stone, wood). For me, it happens when unit counts get to around 700-1000. Most games I have no problem.

we keep talking about memory, but CPU and GPU usage is also part of the problem, afaik. When there's 1000 units doing different things... maybe it would help to take a close look at the command functions (ccAttack, ccMove, etc) to figure out if they can be refactored and optimized.

https://github.com/ZetaGlest/zetaglest-source/blob/develop/source/glest_game/types/command_type.cpp

To be honest, there's a lot about graphics, and 3D rendering I don't understand. To improve the issues I mentioned above will take a combined effort, and more discussion.

[discussion] Decide on a version number

It will probably be months before the first release,
but does anyone have suggestions as to what the first version of the ZetaGlest fork should be?

0.01?

updating Windows build process

We're working on updating the Windows build script, to make it easier than ever to build on Windows. xD And also to make sure ZG can be compiled on Windows with updated dependencies.

There's been some discussion in the Discord chat room, but I'm creating a ticket so progress can be tracked more easily (hopefully).

build issues on Mac OSX

I got this error report from @escottalexander


CMake Error at /usr/local/Cellar/cmake/3.10.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.10.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  mk/cmake/Modules/FindSDL2.cmake:179 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  source/shared_lib/CMakeLists.txt:103 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/Users/elliottalexander/github/ZetaGlest/zetaglest-source/mk/macos/build/CMakeFiles/CMakeOutput.log".
ERROR: CMAKE failed.

The osx build is passing travis:

https://travis-ci.org/ZetaGlest/zetaglest-source/jobs/333771388

@escottalexander , have you used Homebrew before to install packages? I looked at the travis log (link above) and I see that the sdl2 library is being installed using brew.

Thanks for the report - sounds like something that will need to be mentioned in our docs.

add ability to harvest units

Right now, only resources can be harvested, but not units.

If this were implemented, animals could be harvested

ZetaGlest/zetaglest-data#26

And we'd have more options to implement traders or a way to generate resources

ZetaGlest/zetaglest-data#29

Default command on right click (move / attack)

I would give priority to the attack command over the move command on units that have it, so that when you right click on the floor, a unit that can attack walks there with the attack command. Also, if the unit is in a group together with units that can't attack, different orders should be given to different units. Units that can attack go attacking and units that can't go moving. If you had a building selected for some reason as well it simply wouldn't do anything. That would apply only when you make right click on the floor.
Sure sometimes it is useful to actually move the unit with the move command for example to position units in a battle or to retreat. But you can already do it with the M key (although I would change that mechanic of interacting with menus as proposed in #7 for producing units).

Implementation wise (what I can think of) would be the following:
selectedUnits.forEach(unit -> unit.defaultHeadCommand(targetLocation))
And unit.defaultHeadCommand(Location targetLocation) would do nothing for units that can't move, move units that can only move and head attacking for units that have an attack skill. (Here I'm using head as a synonym for going to somewhere since move already means "move without attacking")

attack icon should be the same for all factions, and indicate "Attack" more clearly

I think the attack icon should be the same for all factions.

This is the icon an Indian stickfighter has for attack.

screenshot_2018-02-25_10-21-05

I think it would be better, esp for new users, if the attack icon more clearly indicated that it's an attack icon; also, I don't really see any reason why the attack icon couldn't be the same for all combat units in all factions. A standard basically, so when clicking a combat unit, one can easily see which icon is used for attack.

Dependencies for Linux in BUILD.MD not up to date

It seems that the dependencies for Linux in BUILD.MD are not up to date anymore.

The following libraries are needed to compile :
g++
liblua5.2-dev
libcurl4-gnutls-dev

If it's OK with you guys, I'd like to update it and make my first ever contribution to an open source project!

Final list would be :

gcc g++ cmake libsdl2-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libx11-dev liblua5.2-dev libjpeg-dev libpng-dev libcurl4-gnutls-dev libircclient-dev libglew-dev libftgl-dev libfribidi-dev libcppunit-dev libminiupnpc-dev libfreetype6-dev libgnutls28-dev libkrb5-dev libkrb5-dev libnghttp2-dev libopenal-dev libldap2-dev libwxgtk3.0-dev librtmp-dev libvlccore-dev libvlc-dev

Tested with a brand new install of Ubuntu (ie: compilation + played tutorials)

start_zetaglest_gameserver: Segfaults

I never use this script but tried it recently. Here's the output:

andy@oceanus:~/src/ZetaGlest/zetaglest-source/mk/linux$ ./start_zetaglest_gameserver 
Notice: Detected processor with 4 cores.
Starting server...
ERROR: Server has quit unexpectedly.
       Please inspect /home/andy/.zetaglest/server.log.
Segmentation fault
andy@oceanus:~/src/ZetaGlest/zetaglest-source/mk/linux$ cat ~/.zetaglest/server.log 
Fri Feb  2 12:33:21 CST 2018
Starting server...
./start_zetaglest_gameserver: 331: ./start_zetaglest_gameserver: : Permission denied

refactor function to play different sounds

I opened a ticket in data to create a new sound when entering the lobby (https://github.com/ZetaGlest/zetaglest-data/issues/44).

Right now, this sound is played:

https://github.com/ZetaGlest/zetaglest-data/blob/develop/data/core/menu/sound/attention.wav

The code that plays that is here:

https://github.com/ZetaGlest/zetaglest-source/blob/f974fcf15ac01ee09f6aaff807a4abc41a53f90c/source/glest_game/global/core_data.cpp#L610-L628

That function should be rewritten so that a filename can be passed to it.

The attention.wav is still used in other parts of the game, so we can't just change that inside the function.

[discussion] change how the lobby works

When a player enters the lobby, their IP is displayed to people who are logged into the lobby with a regular IRC client. Is this a problem? Should how the lobby works be changed?

0 A.D. uses their own xmpp/jabber server. Before a player can enter the lobby, they have to register a user name and password.

Right now, a player can select any name without needing a password. It's never been a problem with MG, as far as I know.

@dafky2000 states:

i think some other irc networks might support cloaking but i dont think freenode does
could always spin up your own xP
https://freenode.net/kb/answer/cloaks

translation method

I'm not sure sure yet what to do about translations. Something along the lines of keeping part of the current method for scenario translations, and using GNU gettext or tinygettext for translating output messages that are within the source code.

I have experience with GNU gettext, I added support to one of my C programs. And I understand there is a cmake extension that supports GNU gettext (The gettext docs only offer info about how to set up an autoconf and automake file).

But tinygettext might be a good alternative.. problem is that I don't see it has much documentation.. On the plus side, it seems to be used on some pretty popular projects, as mentioned in its README

Perhaps the developers would help us through initial implementation, if we needed it.

MegaGlest, the project from which this one was forked, used Transifex for the translations, apparently.

The pricing for Transifex is far too high for me to consider using it.

No matter what translation method we use, we will be relying purely on the generosity of the open source community and other contributors for the actual translations.

errors in console when exiting

On Debian 9, after I click exit from the main menu, this happens randomly:

andy@oceanus:~/src/ZetaGlest/zetaglest-source/mk/linux$ ./zetaglest
zetaglest v3.13-dev
Compiled using: GNUC: 60300 [64bit] platform: Linux-X64 endianness: little
GIT: [Rev: 5707.bd6bcd1] - using STREFLOP [SSE] - [no-denormals]
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
terminate called after throwing an instance of 'Shared::Platform::megaglest_runtime_error'
  what():  In [thread.cpp::removeThreadFromList Line: 164] iterFind == Thread::threadList.end() Thread::threadList.size() = 1
Stack Trace:
./zetaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)address [0x55fe8a428ebc] line: 0
./zetaglest:Shared::Platform::Thread::removeThreadFromList()address [0x55fe8a429cd0] line: 0
./zetaglest:Shared::Platform::Thread::~Thread()address [0x55fe8a42a91c] line: 0
./zetaglest:Shared::PlatformCommon::BaseThread::~BaseThread()address [0x55fe8a3d56ae] line: 0
./zetaglest:Shared::Platform::Thread::shutdownThreads()address [0x55fe8a42a100] line: 0
./zetaglest:()address [0x55fe89ffaf3e] line: 0
./zetaglest:Glest::Game::glestMainSEHWrapper(int, char**)address [0x55fe8a01785b] line: 0
./zetaglest:Glest::Game::glestMainWrapper(int, char**)address [0x55fe8a017a13] line: 0
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7fa8f2cd62b1] line: 0
./zetaglest:_start()address [0x55fe89e3cc7a] line: 0

Aborted

upgrade states not saved if upgrade is in progress

I noticed this while playing the Amazones scenario on git.

To reproduce:

  • From the blacksmith, when sharpen points is at 2% (or 5 or 10, etc), save the game.
  • now exit
  • Load the saved game. You'll see the upgrade went back to 0%...

adjust position of text and graphic labels on game setup menu

andrius2102 has offered to do this after #37 is completed.

Most of what needs to be done will be obvious. Anything else will be caught during the review process.

screenshot_2018-02-11_17-33-55

This is only a small part of the code that would need editing and possibly refactoring to make re-positioning text easier in the future:

https://github.com/ZetaGlest/zetaglest-source/blob/d67e8c785a5c10843f3c76efb049d0381f73bffb/source/glest_game/menu/menu_state_connected_game.cpp#L205-L220

https://github.com/ZetaGlest/zetaglest-source/blob/d67e8c785a5c10843f3c76efb049d0381f73bffb/source/glest_game/menu/menu_state_custom_game.cpp#L248-L261

@Jammyjamjamman thought it might be a good idea to put scroll bars around the list of players.

Some examples of where a scroll bar is already used is at

https://github.com/ZetaGlest/zetaglest-source/blob/d67e8c785a5c10843f3c76efb049d0381f73bffb/source/glest_game/menu/menu_state_masterserver.cpp#L89-L102

andrius, don't feel a need to do that unless you really want to. We can make a separate ticket for it.

As for the positioning, feel free to re-organize the existing layout if you think of something better.

sometimes re-joining does not work

sometimes a player trying to re-join running game will lag-out immediately upon attempting to connect. It sometimes takes multiple attempts for a successful rejoin.

shift + 'i' should add idle workers to a selection group

Normally units can be added to the selection group by using shift.

For example, if I have 3 archers selected, I can add another archer, or stickfighter, by holding down shift while clicking on it.

The 'i' key can used to select idle workers. But holding down the shift key while pressing 'i' does not add them to a selection group.

Implement campaigns

One simple way I thought of to implement campaigns was to use existing scenario code.

So basically there would be a menu option for "Campaigns".

So once at the Campaigns menu, one would see

Campaign Foo
Campaign Bar
...

The "Campaign Foo" directory would basically contain all the scenarios (each in it's own scenario directory, with the same format as we're using now) related to that campaign. If they were prefixed by a number I think would be best.

Or Foo_1_scenario_name

Using that method may be the simplest, but a better way would be to have a
campaign.xml file that has the info about each scenario in that campaign.

But we'd still need separate directories for each campaign. If you had 5 campaigns, for example, each one with an average of 20 scenarios, you'd wind up with 100 sub-dirs. Better to separate them into their respective campaign folders.

Building on OpenBSD 6.2

On OpenBSD 6.2 in a VirtualBox...

I don't have a complete build yet. Here are my notes so far

A partial list of the packages, which I installed using pkg_add -U ...:

cmake
sdl2
openal
glew
lua-5.2.4p1
cppunit
curl
fribidi
icu (I don't remember if this one was available or not)

For the script in mk/linux to even run, I had to edit the top line and change it to
#!/bin/sh

I needed to specify the locations of the compiler when building:

CXX=/usr/bin/g++ CC=/usr/bin/gcc ./build-zg.sh -w -g 4 -c 2

I found that on OpenBSD 6.2, cmake doesn't quit the configure process if it can't find REQUIRED dependencies. The build will start, and then fail when it needs a required dep.

Theoretically, ZetaGlest can be built with clang, but I'm going with g++ since that's what I'm familiar with.

Anyone that can provide instructions on building with clang, I'd be happy to add it to the documentation.

Where I got stuck was the compiler couldn't find iconv.h. I think I have to install it from the ports tree, so I'll try that next.

crash when loading a saved game from a scenario

I have a saved game for the scenario Atlantis (ZetaGlest/zetaglest-data#39).

When I hit "load", had a crash a second later.

saved game: zetaglest-saved_20180214_042432.zip

./zetaglest
zetaglest v0.8.01-dev
Compiled using: GNUC: 60300 [64bit] platform: Linux-X64 endianness: little
version: [v0.8.01-dev] - using STREFLOP [SSE] - [no-denormals]
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Cannot use real-time scheduling (RR/5)(1: Operation not permitted)
JackClient::AcquireSelfRealTime error
*ERROR* [2018-02-14 04:39:26] In [menu_state_load_game.cpp::mouseClick Line: 331]
Error [Error converting from string to int, found: [1.000000]
Stack Trace:
./zetaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)address [0x55b0d06c679c] line: 0
./zetaglest:Shared::Util::strToInt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)address [0x55b0d0699d6d] line: 0
./zetaglest:Glest::Game::Game::loadGame(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x55b0d0180800] line: 0
./zetaglest:Glest::Game::MenuStateLoadGame::mouseClick(int, int, Shared::Platform::MouseButton)address [0x55b0d0399f03] line: 0
./zetaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton)address [0x55b0d02a2b72] line: 0
./zetaglest:Shared::Platform::Window::handleMouseDown(SDL_Event)address [0x55b0d06d706b] line: 0
./zetaglest:Shared::Platform::Window::handleEvent()address [0x55b0d06d8e7c] line: 0
./zetaglest:Glest::Game::glestMain(int, char**)address [0x55b0d02aff2f] line: 0
./zetaglest:Glest::Game::glestMainSEHWrapper(int, char**)address [0x55b0d02b53a4] line: 0
./zetaglest:Glest::Game::glestMainWrapper(int, char**)address [0x55b0d02b5573] line: 0
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7f76955d32b1] line: 0
./zetaglest:_start()address [0x55b0d00db98a] line: 0
]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]
Waiting for the following threads to exit [1]:
Thread index: 0 ptr [0x55b0d548f5a0] isBaseThread: 1, Name: [FTPServerThread]```

Should commondata be in the "techs" folder?

Right now, a lot of sounds for zetapack are in

techs/zetapack/commondata/sounds

Should commondata be directly under the techs folder?

This would require changing a little code.

Right now if you want to test a mod and have the zetapack factions present, you have to create a new tech tree, add your mod, then add in the faction links. Your mod may only need to use sounds from commondata.. but that wouldn't be present from your new techtree folder, so the sounds would have to be added (copied).

This is an example of how commondata is used:

https://github.com/ZetaGlest/zetaglest-data/blob/254b3dd645faba8d5c29011b494e7297a23015c7/techs/zetapack/factions/egypt/units/scarab/scarab.xml#L40-L55

implement unit patrolling

There should be a "patrol" mode for units

  • press hotkey (p) or icon when units are selected
  • select 2 or more points on the map
  • press hotkey (p) again
  • units move between selected points in attack mode
  • if they see enemy units, then attack. Afterward, resume patrol

Command queuing is already a feature of the game using the shift key. One might be able to use the command queuing to implement unit patrolling.

AI should prioritize attacking units, not buildings

AI units should not attack a totem, for example, while it's being attacked by an enemy. If AI units are being attacked by units (mobile or otherwise), it should attack those first, and then attack buildings and other units.

This would be one step to making the AI smarter.

Attack commands cannot be queued

This bug was inherited from MegaGlest, but I'm not sure it was mentioned there. If you try to queue many attacks, you get a rubberbanding glitch (where units jump back to their initial position), until the final attack is queued. if you try to queue attacks with other commands, the queue gets reset as soon as the different command is queued.

need error checking for morph skill:speed

This happened in a scenario.

If a large number is used in the morph skill ( )

When the unit goes to morph, the status goes to 0 and never changes.

As you can see from this screenshot, the morph speed is altered (because the data type can't hold the number that large).

some error checking needs to be put in place to make sure values used are smaller than the storage space.

It's safe to assume that this bug affects all the variables used in the xml data files, not just the speed setting for the morph skill.

screenshot_2018-02-24_14-15-52

Units get stuck

Sometimes units get "stuck" even though there is plenty of room for them to move.

temporary problems when pulling and updating

To make things easier for contributors, I removed the submodule method.

What this means is that if you've already cloned the repo using git clone --recursive... you are likely to have problems the next time you use mk/linux/git_update.sh

Everything should be set right now, but I'm sorry to say that it will be easier for most people to re-clone the source and data repo into a different different directory.

The new instructions have been documented

https://github.com/ZetaGlest/zetaglest-source#try-the-game-without-contributing

People who have cloned forks for the purpose of contributing may have an easier time, but I've also updated those instructions as well:

https://github.com/ZetaGlest/zetaglest-source/blob/develop/CONTRIBUTING.md#set-up-the-repositories-locally

My apologies for the inconvenience.

installer script needs updating

I did some work on this last week.

https://github.com/ZetaGlest/zetaglest-source/blob/develop/mk/linux/tools-for-standalone-client/installer/make.sh

I didn't finish it though. It seems to call scripts from https://github.com/ZetaGlest/zetaglest-source/tree/develop/mk/linux to create a binary and data archive.

Some of the variables it uses should be in a single file, such as the data dir repo.

Also, it could use some error checking. I've seen it give a "completed successfully" message when it didn't really complete successfully.

I'm sure it worked fine before we changed the name of the program to ZetaGlest and moved the data dir, but it would be nice if the scripts were updated to make changes easier in the future. Maybe some fan of the game will want to fork it someday! xD

For that script to work, the mojosetup fork must be cloned into the installer/mojosetup directory. And also cloning the data dir is needed. The data dir needs to be adjacent to the source dir:

For example:

ZetaGlest/zetaglest-source
ZetaGlest/zetaglest-data

removing intro video

The intro video can be removed. When ZG starts, it should go directly to the main menu.

This will get rid of the libvlc dependency. It's not causing any problems, but needs to be removed from the build as part of this change.

It would be great to remove all the code that would be unused after this change, and make things clean.

Documenting Code

Documentation is currently very sparse in the zetaglest code. If you're working on some code, please try to comment undocumented code that you have learnt about. It will be greatly appreciated!

Thanks!

change how observer mode works

Right now, observers use a player slot.

For example, if you have a 3 v 3 game on six player map, there is not 7th slot for an observer unless the map is changed to a 7 or 8 player map.

On a 8 player map with 8 people playing, there would be no room for an observer.

There should be a way for observers to join without using a player slot.

[discussion] allow anyone to enter the lobby (InternetGamesAllowed=1)

I think there should not have to a scenario a user must win before entering the lobby.

When I first entered the lobby, I was a player who couldn't beat a 1.0 cpu on the conflict map.

Some players like Custom94 emphasized the importance to making a lot of workers...

Also... for testers.. potential contributors and curiosity seekers.. I don't think they should have to spend time winning a scenario to enter the lobby.

Is anybody opposed, strongly or otherwise, to allowing anyone access to the lobby?

removing the mod center

Is the mod center a needed feature?

Are there a lot of gamers that don't know how to download an extract a compressed file into a specific directory?

The mod center would be more helpful if mods could also get updated. I think that might be a feature that was being worked on. I see these two options in glest.ini

https://github.com/ZetaGlest/zetaglest-source/blob/70ec6b4269c7d7ea32b3120fb37047d8e44155fe/mk/linux/glest.ini#L11-L12

So to my thinking.. if data and mods could get auto-updated, that would make it much more convenient for users to install mods.

However.. it's a lot of extra code to maintain. It would be nice if we could focus on the GAME to keep making it GREATER.

We do want to make mods visible, and provide direct links to them! And have a system in place where users can see NEW mods, and see when older mods are UPDATED!

This this end, I've started experimenting adding them as submodules to the data repo:

ZetaGlest/zetaglest-data#30

zetaglest/zetaglest-data@b9f9183

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.