Dev meeting minutes 2012-05-21
Dev meeting minutes 2012-05-21
Date: 21-5-2012
Present: jK, abma, zerver
Welcome
<abma> hey!
<abma> enough people for a meeting, wehee! :D
<zerver> ya
<abma> zerver: did you see that pull request? https://github.com/spring/spring/pull/37
<zerver> k, thanks
<abma> do you want notifications about those + messages about comments? if so, you need to be in the ..erm team-spring (?) group
Release plan
<abma> [LCC]jK: what do you think, is it worth to make a testing release and target a real release?
<abma> not sure if its worth the time, as it seems like we all are currently very short in time...
<jK> I wanted a release in <1month
<jK> too bad hoij isn't there
<jK> got a cmake problem
<abma> hm, what doesn't work?
<abma> i'm not good in cmake but i did some stuff, too
<jK> I have problem with cmake's fucking stupid caching
<zerver> Lots of stuff on mantis atm, but other than that I see no problem with making a release
<jK> FindPackage caches results, very bad when you want to use static & dynamic packages in the same project
<jK> only 3 spring-mt things on mantis
<abma> most bug reports are about spring 88, so i see no real problem, too
<abma> i have no idea what you want to do, but it should be possible to use a if / else with (if i remember right) PACKAGE_FOUND or HAVE_PACKAGE...
<jK> "very bad when you want to use static & dynamic packages in the same project"
<jK> so no PACKAGE_FOUND & HAVE_PACKAGE won't help anything here
<abma> aah, got you
<jK> problem is I need to call FindPackage _twice_ (once for dynamic & once for static library)
<abma> i guess you've to write your own find_package then
<abma> afaik cmake uses the first package it finds
<jK> FindPackage is written in c++ or what ever language cmake uses natively
<jK> so it's near impossible to write it yourself
<jK> (it calls all those FindMyFooBarLibrary.cmake script which are scattered across your whole hdd)
<jK> *scripts
<abma> you mean something like /usr/share/cmake-2.8/Modules/FindLua50.cmake ?
<jK> I really hate cmake ... (mainly how it handles library linking)
<jK> yup
<abma> http://www.cmake.org/pipermail/cmake/20 ... 41326.html
<abma> but thats not a clean solution :-/
<abma> maybe built lib/lua twice / shared + static and link to that
<abma> + pm hoijui :D
<jK> abma, I know already _how to find static libraries_
<jK> problem is that cmake now caches the results in all those fucking function
<jK> +s
<abma> i meant: write one find_library for static and one for shared...
<jK> all those functions aren't written in cmake
<jK> they check folders across your whole hdd
<jK> something that is pure evil if you want to do that in cmake scripting language
<jK> not to forget that the caching goes down to the lowest functiosn
<jK> so setting SET(CMAKE_FIND_LIBRARY_SUFFIXES .a) won't do anything when you called the function already before without it
<jK> and neither any foobar(my_library_name) would ever work
<abma> ouch, yep. didn't think about that :-/
<abma> so only way i see is, to compile lua yourself...
<jK> nothing lua related
<abma> what lib do you want to link then?
<jK> any
<jK> engine static build
<jK> i already have a function that converts most cmake library filenames to the static ones
<jK> just to find out that cmake is a pain in the ass and handles libraries just in the worst way you may think of
<jK> so something the input of TARGET_LINK_LIBRARIES() can be the library _filename_, the project's internal object name (e.g. all those libaries spring builds itself and links: sound, lua, streflop, ...) AND gcc/ld _arguments_ (e.g. "-lfreetype")
<jK> *sometimes
<jK> only the first can be easily transformed to static linking, the "-lfreetype" ones are just impossible to convert
<abma> hm, can't the buildsystem take care of that? like only install static libs?
<abma> what are you going to do?
<abma> the first question comes last :-/
<jK> <[LCC]jK> engine static build
<jK> and cmake is the buildsystem
<jK> and it fails horribly
<abma> hm, damn... i should take care a bit more about the correct words...
<abma> i mean the building host
<abma> as it seems the static linked file will be downloaded by others
<jK> o_O
<abma> or did i horrible fail in understanding the problem?
<abma> sorry, i'm a bit tired already
<jK> yup
<jK> problem has nothing to do with the libraries at all
<jK> the problem is pure cmake to make usage of them
<abma> then maybe my idea was a bit weird: remove all shared libs from the system :D
<jK> it's neither a unsolvable problem to _only_ use static libraries in one project
<jK> the problem is when you want to use shared & static ones in one cmake project
<abma> why do you want to use both? :D
<abma> damnit
<abma> i seem to fail in ask the correct questions
<jK> cause I want to have a static-linked buld next to all others w/o needing to create a new cmake project
<abma> why is the shared version still needed?
<jK> cause static linked builds have disadvantages
<abma> hm: static linked spring is for redistribution: build it only on the buildbot with some parameter for example, uses these files to redistribute
<abma> and shared spring is build from the packagers?
<jK> then I would still have to create a totally new cmake project just to compile from static libs
<jK> a damn lot of work
<abma> no, just a different buildslave with static libs
<abma> ok, thanks for explaining
<abma> i guess now i have to make minutes because i couldnt help :D
<jK> lol
conclusion: we want to make a release soon, jk tries to make a static build of spring but has some cmake problems... please HELP! (maybe hoijui?!)
pr-downloader
<jK> btw would be good if pr-download gets build by koshis buildclient
<jK> +er
<abma> only curldev libs are needed
<abma> add them to mingwlibs or somewhere else?
<abma> mingwlibs would be easiest but maybe not cleanest solution
<jK> do they provide prebuild ones?
<abma> seems so, yep
<abma> but only "inofficial" ones... but seems to be ok
<abma> if not, i've already built them on my own...
<jK> then push them just into mingwlibs
<abma> ok
<abma> add it to the installer as well then?
<abma> hmm, adding it similar like rapid would make sense
conclusion: pr-downloader will be added to the win32 build / installer (by adding curl libs to mingwlibs)
dual lua states
<zerver> btw regarding previous discussion about dual lua states etc, I found that the batching also has some annoying side effects
<zerver> for example, conditions may change before the batch is run, so that some calls you would expect to succeed will fail or return nil
<jK> we said that in a meeting before you even added it
<zerver> okay, I forgot it then
<jK> and said to avoid most of these issues, you would need to force clearing the batch queue in specific events
<zerver> yes, may be doable unless many events are affected
<zerver> clearing the batch comes at a cost
<jK> e.g. when a UnitDestroyed is added to the queue, and you still got a UnitCreated in the queue is must process the batch queue w/o delaying
<jK> yeah
<jK> but it will always faster than w/o batching
<jK> +be
<zerver> faster than single state and no batch, yes. slower than dual states
<jK> incorrect, but I am tried of this
<jK> told you now ways to often how things work
<zerver> just wanted to point out that dual states does not have these problems, but other problems (complexity) instead
<zerver> no need to discuss any more
<jK> :)
conclusion: uhm... something is wrong with the luastates in spring-mt...
note: we had no real agenda this time, so its maybe a bit messy.
Present: jK, abma, zerver
Welcome
<abma> hey!
<abma> enough people for a meeting, wehee! :D
<zerver> ya
<abma> zerver: did you see that pull request? https://github.com/spring/spring/pull/37
<zerver> k, thanks
<abma> do you want notifications about those + messages about comments? if so, you need to be in the ..erm team-spring (?) group
Release plan
<abma> [LCC]jK: what do you think, is it worth to make a testing release and target a real release?
<abma> not sure if its worth the time, as it seems like we all are currently very short in time...
<jK> I wanted a release in <1month
<jK> too bad hoij isn't there
<jK> got a cmake problem
<abma> hm, what doesn't work?
<abma> i'm not good in cmake but i did some stuff, too
<jK> I have problem with cmake's fucking stupid caching
<zerver> Lots of stuff on mantis atm, but other than that I see no problem with making a release
<jK> FindPackage caches results, very bad when you want to use static & dynamic packages in the same project
<jK> only 3 spring-mt things on mantis
<abma> most bug reports are about spring 88, so i see no real problem, too
<abma> i have no idea what you want to do, but it should be possible to use a if / else with (if i remember right) PACKAGE_FOUND or HAVE_PACKAGE...
<jK> "very bad when you want to use static & dynamic packages in the same project"
<jK> so no PACKAGE_FOUND & HAVE_PACKAGE won't help anything here
<abma> aah, got you
<jK> problem is I need to call FindPackage _twice_ (once for dynamic & once for static library)
<abma> i guess you've to write your own find_package then
<abma> afaik cmake uses the first package it finds
<jK> FindPackage is written in c++ or what ever language cmake uses natively
<jK> so it's near impossible to write it yourself
<jK> (it calls all those FindMyFooBarLibrary.cmake script which are scattered across your whole hdd)
<jK> *scripts
<abma> you mean something like /usr/share/cmake-2.8/Modules/FindLua50.cmake ?
<jK> I really hate cmake ... (mainly how it handles library linking)
<jK> yup
<abma> http://www.cmake.org/pipermail/cmake/20 ... 41326.html
<abma> but thats not a clean solution :-/
<abma> maybe built lib/lua twice / shared + static and link to that
<abma> + pm hoijui :D
<jK> abma, I know already _how to find static libraries_
<jK> problem is that cmake now caches the results in all those fucking function
<jK> +s
<abma> i meant: write one find_library for static and one for shared...
<jK> all those functions aren't written in cmake
<jK> they check folders across your whole hdd
<jK> something that is pure evil if you want to do that in cmake scripting language
<jK> not to forget that the caching goes down to the lowest functiosn
<jK> so setting SET(CMAKE_FIND_LIBRARY_SUFFIXES .a) won't do anything when you called the function already before without it
<jK> and neither any foobar(my_library_name) would ever work
<abma> ouch, yep. didn't think about that :-/
<abma> so only way i see is, to compile lua yourself...
<jK> nothing lua related
<abma> what lib do you want to link then?
<jK> any
<jK> engine static build
<jK> i already have a function that converts most cmake library filenames to the static ones
<jK> just to find out that cmake is a pain in the ass and handles libraries just in the worst way you may think of
<jK> so something the input of TARGET_LINK_LIBRARIES() can be the library _filename_, the project's internal object name (e.g. all those libaries spring builds itself and links: sound, lua, streflop, ...) AND gcc/ld _arguments_ (e.g. "-lfreetype")
<jK> *sometimes
<jK> only the first can be easily transformed to static linking, the "-lfreetype" ones are just impossible to convert
<abma> hm, can't the buildsystem take care of that? like only install static libs?
<abma> what are you going to do?
<abma> the first question comes last :-/
<jK> <[LCC]jK> engine static build
<jK> and cmake is the buildsystem
<jK> and it fails horribly
<abma> hm, damn... i should take care a bit more about the correct words...
<abma> i mean the building host
<abma> as it seems the static linked file will be downloaded by others
<jK> o_O
<abma> or did i horrible fail in understanding the problem?
<abma> sorry, i'm a bit tired already
<jK> yup
<jK> problem has nothing to do with the libraries at all
<jK> the problem is pure cmake to make usage of them
<abma> then maybe my idea was a bit weird: remove all shared libs from the system :D
<jK> it's neither a unsolvable problem to _only_ use static libraries in one project
<jK> the problem is when you want to use shared & static ones in one cmake project
<abma> why do you want to use both? :D
<abma> damnit
<abma> i seem to fail in ask the correct questions
<jK> cause I want to have a static-linked buld next to all others w/o needing to create a new cmake project
<abma> why is the shared version still needed?
<jK> cause static linked builds have disadvantages
<abma> hm: static linked spring is for redistribution: build it only on the buildbot with some parameter for example, uses these files to redistribute
<abma> and shared spring is build from the packagers?
<jK> then I would still have to create a totally new cmake project just to compile from static libs
<jK> a damn lot of work
<abma> no, just a different buildslave with static libs
<abma> ok, thanks for explaining
<abma> i guess now i have to make minutes because i couldnt help :D
<jK> lol
conclusion: we want to make a release soon, jk tries to make a static build of spring but has some cmake problems... please HELP! (maybe hoijui?!)
pr-downloader
<jK> btw would be good if pr-download gets build by koshis buildclient
<jK> +er
<abma> only curldev libs are needed
<abma> add them to mingwlibs or somewhere else?
<abma> mingwlibs would be easiest but maybe not cleanest solution
<jK> do they provide prebuild ones?
<abma> seems so, yep
<abma> but only "inofficial" ones... but seems to be ok
<abma> if not, i've already built them on my own...
<jK> then push them just into mingwlibs
<abma> ok
<abma> add it to the installer as well then?
<abma> hmm, adding it similar like rapid would make sense
conclusion: pr-downloader will be added to the win32 build / installer (by adding curl libs to mingwlibs)
dual lua states
<zerver> btw regarding previous discussion about dual lua states etc, I found that the batching also has some annoying side effects
<zerver> for example, conditions may change before the batch is run, so that some calls you would expect to succeed will fail or return nil
<jK> we said that in a meeting before you even added it
<zerver> okay, I forgot it then
<jK> and said to avoid most of these issues, you would need to force clearing the batch queue in specific events
<zerver> yes, may be doable unless many events are affected
<zerver> clearing the batch comes at a cost
<jK> e.g. when a UnitDestroyed is added to the queue, and you still got a UnitCreated in the queue is must process the batch queue w/o delaying
<jK> yeah
<jK> but it will always faster than w/o batching
<jK> +be
<zerver> faster than single state and no batch, yes. slower than dual states
<jK> incorrect, but I am tried of this
<jK> told you now ways to often how things work
<zerver> just wanted to point out that dual states does not have these problems, but other problems (complexity) instead
<zerver> no need to discuss any more
<jK> :)
conclusion: uhm... something is wrong with the luastates in spring-mt...
note: we had no real agenda this time, so its maybe a bit messy.
Re: Dev meeting minutes 2012-05-21
How is the agenda produced? There are tons of things that need fixing...abma wrote: note: we had no real agenda this time, so its maybe a bit messy.
Re: Dev meeting minutes 2012-05-21
only topics that need discussions between developers gets to the agenda, bugs mostly don't need discussions. things like "i have a problem here, there are multiple solutions, what to do?" gets into the agenda, stuff like "when i build this unit, create that unit, spring crashes" not.Jools wrote:How is the agenda produced?
There are no rules, what will be discussed... the only recurring topic is "Release plan" :)
things that are not on mantis? then please report it there...There are tons of things that need fixing...
Re: Dev meeting minutes 2012-05-21
I meant more general kind of issues, not operative/maintenance type. Questions such as:
* where do we see ourselves in 5 years? I'm sure the team must have a strategy, is it being followed, are we happy with the development during the last year?
* Can we build an installer package for the whole game?
* How can we make the game better (meaning the simulation), what is it good at at the moment, what is it bad at. What is the return on effort to enhance a certain part of the package? Does there exist such work which will not yield any large benefits?
* where do we see ourselves in 5 years? I'm sure the team must have a strategy, is it being followed, are we happy with the development during the last year?
* Can we build an installer package for the whole game?
* How can we make the game better (meaning the simulation), what is it good at at the moment, what is it bad at. What is the return on effort to enhance a certain part of the package? Does there exist such work which will not yield any large benefits?
Re: Dev meeting minutes 2012-05-21
Spring is not a game.
Re: Dev meeting minutes 2012-05-21
rename it SING thenFLOZi wrote:Spring is not a game.
Re: Dev meeting minutes 2012-05-21
Spring PRoject Is Not a Gamegajop wrote:rename it SING thenFLOZi wrote:Spring is not a game.
Re: Dev meeting minutes 2012-05-21
How is that relevant at all?FLOZi wrote:Spring is not a game.
Re: Dev meeting minutes 2012-05-21
Take your pick. I know that spring project (TM) likes to redefine certain words, such as "player", "team" and "game". You can do that, but you make things more complicated for no good reason, and it doesn't change the actual type of activity. You can call ethnic cleansing a "humanitarian disaster", but it still doesn't change what has happened.game1
▶noun
1 an activity engaged in for amusement.
■ the equipment used in playing a board game, computer game, etc.
2 a form of competitive activity or sport played according to rules.
■ (games) a meeting for sporting contests.
■ (games) Brit. athletics or sports as a lesson or activity at school.
3 a complete episode or period of play, ending in a final result.
■ a single portion of play, forming a scoring unit within a game.
4 informal a type of activity or business regarded as a game: the dating game.
■ a secret plan or trick: I was on to his little game.
5 wild mammals or birds hunted for sport or food.
Re: Dev meeting minutes 2012-05-21
I think he's referring to:Jools wrote:How is that relevant at all?FLOZi wrote:Spring is not a game.
That said... picking up on that part of your post instead of forgiving your use of taboo terminology wasn't really fair... from the perspective of the developers, Spring is game engine... they aren't building a physics simulation in a void, they are developing the back-end code for a game... it's just that that game could be any of a number of games.Jools wrote:[...]* Can we build an installer package for the whole game?[...]* How can we make the game better (meaning the simulation)[...]
Re: Dev meeting minutes 2012-05-21
Fair enough, and I don't think that anyone really minds that you get flexible code that you can use for a number of games, such as TA, Pinball, Chess (if I exaggerate), the point is just that how about making the physics simulation well for one game, and then think about expanding when that task has been completed?SinbadEV wrote:from the perspective of the developers, Spring is game engine... they aren't building a physics simulation in a void, they are developing the back-end code for a game... it's just that that game could be any of a number of games.
Re: Dev meeting minutes 2012-05-21
Spring is an engine. There is no gameplay in spring. There are no models. No units. No maps. No sounds.Jools wrote:Take your pick. I know that spring project (TM) likes to redefine certain words, such as "player", "team" and "game". You can do that, but you make things more complicated for no good reason, and it doesn't change the actual type of activity. You can call ethnic cleansing a "humanitarian disaster", but it still doesn't change what has happened.
it is an engine with some base level logic.
Unfortunately it is done that way and any attempts to generalize functionality are met with rage from absentee ba players who post and seldom actually play these days.Jools wrote:Fair enough, and I don't think that anyone really minds that you get flexible code that you can use for a number of games, such as TA, Pinball, Chess (if I exaggerate), the point is just that how about making the physics simulation well for one game, and then think about expanding when that task has been completed?
Re: Dev meeting minutes 2012-05-21
How about:SinbadEV wrote:Spring PRoject Is Not a Gamegajop wrote:rename it SING thenFLOZi wrote:Spring is not a game.
Spring Project Really Is Not a Game
Re: Dev meeting minutes 2012-05-21
I'm starting to hate you a little less each day, Jaz.Jazcash wrote: How about:
Spring Project Really Is Not a Game
Re: Dev meeting minutes 2012-05-21
Good! I think...FLOZi wrote:I'm starting to hate you a little less each day, Jaz.Jazcash wrote: How about:
Spring Project Really Is Not a Game
Re: Dev meeting minutes 2012-05-21
this stuff you mentioned.. like.. general goal(s), where to be in 5 years, ...
this is stuff that only really works with a single, overlooking entity, but the spring dev team is just a group of individuals, that.. by now, use some methodology (mostly meetings) to solve conflicts if their actions overlapp/influence stuff the others do.
each dev has his own view of what is important and what he wants to see done in hte next few years. trying to force all to work on one thing does not work. best you could achieve in theory, is to establish more and more low level standards (code format, very abstract/broad design standards).
this is stuff that only really works with a single, overlooking entity, but the spring dev team is just a group of individuals, that.. by now, use some methodology (mostly meetings) to solve conflicts if their actions overlapp/influence stuff the others do.
each dev has his own view of what is important and what he wants to see done in hte next few years. trying to force all to work on one thing does not work. best you could achieve in theory, is to establish more and more low level standards (code format, very abstract/broad design standards).
Re: Dev meeting minutes 2012-05-21
Were there any attempts at static building engine for linux?
Re: Dev meeting minutes 2012-05-21
http://buildbot.springrts.com/builders/ ... logs/stdioLicho wrote:Were there any attempts at static building engine for linux?
+ some recent commits in the repo....
-
- Moderator
- Posts: 2464
- Joined: 12 Oct 2007, 09:24
Re: Dev meeting minutes 2012-05-21
I consider Spring to have some gameplay. There are mechanics that most RTS have and that the large games for Spring use. Things like pathfinding and LOS, improvements or configuration options would improve possible gameplay with spring.
If I were able to magically tell everyone what to do in the engine for the benefit of ZK I would focus on these two points:
The rest of the engine is pretty good. There are some engine tweaks that would enable me to implement some interesting gameplay with lua but it's fairly low priority. Also 88.0 actually works so if the next release messes anything up we're going right back to 88.0.
If I were able to magically tell everyone what to do in the engine for the benefit of ZK I would focus on these two points:
- Improve pathfinding. QTPFS looks good but still has issues, so I'll wait for this to be done.
- Improve ATI compatibility.
The rest of the engine is pretty good. There are some engine tweaks that would enable me to implement some interesting gameplay with lua but it's fairly low priority. Also 88.0 actually works so if the next release messes anything up we're going right back to 88.0.