Page 1 of 7

Let's learn from Wesnoth and think about the future of spring

Posted: 25 Jul 2015, 22:14
by hokomoko
Warning: Semi-Coherent Rambling Ahead

Wesnoth has just posted a cry for help: http://forums.wesnoth.org/viewtopic.php?t=42912
Sadly, a hard truth must be faced: Wesnoth, as a project, is understaffed. At this time, there are fewer than half a dozen developers working on each new version of the game, and even fewer of them are able to work on the engine itself.
Full list of staff here: http://forums.wesnoth.org/viewtopic.php?t=42911

It seems similar to the situation here, and I've also seen they have familiar issues like campaigns (read: games) being broken due to interface changes: http://games.slashdot.org/comments.pl?s ... d=50181755

A few days ago Nemo asked me what Spring's goals are (other than "build a kickass RTS engine") and I honestly had no idea, not to mention "kickass" is highly subjective.

I'd like your thoughts about:
1) Is it necessary Spring have short/long term goals?
2) What should they be? (prioritise!)

Discussion guidelines:
1) This is supposed to be a constructive discussion about the future, not a criticism blamefest, be positive and focus on things that should be done rather than things that shouldn't have been done.
2) Goals != Features - this isn't the thread where you ask for spherical maps. Examples of goals: "Add support for better graphics", "Make more things controllable by games and lua", "Make engine development easier", "Make game development easier".

Thanks!

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 25 Jul 2015, 23:32
by Tim Blokdijk
I played AoE2 yesterday.. multiplayer lan, single faction against single ai. My sister likes to build the town, run the economy and do the research. And I do the scouting, build the walls & defence and do the fighting. We do this from time to time. We had fun.
It's my personal goal to have that expedience with my sister while playing something based on the Spring project.

I think that having a little fun multiplayer campaign would do the trick. I sponsored the Spring.LoadMap feature to help that goal along. What will be a problem is that me and my sister have different play styles. She likes the relative complex economic element of AoE2 (4 resources) and I like to outsmart the AI. I don't think that the existing Spring games would accommodate our play styles like AoE2 manages to.
A feature that I might help sponsor at some some time in the future would be to load and play on multiple maps simultaneously. That way my sister can play on the "home" planet map (without an active enemy AI) and push stuff trough the galactic gate to me playing on the "alien" planet map (with an active enemy AI).

But this is just my semi-secret little personal goal.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 25 Jul 2015, 23:37
by FLOZi
1. Yes

2. 'Make development easier' is a nebulous aim, not a concrete goal.
Gain at least 2 more core developers' is a goal.
'Fix the half-completed mess that is the AI interfaces'* is a goal
"Make game development easier" is the same - a worthy cause for sure but we need a much more concrete list of objectives.


* My speculation as a layman in this area

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 00:10
by jamerlan
I think that spring as an engine is pretty good already. I tried to make a "Russian" community (of players) and actually some of players are started to develop! Some of them made widgets and one of them is one of the springlobby devs :-) I dont want to say that it's all happened because of me.. but community itself is evolving. More players -> more devs!

I tried to promote spring. But official lobby had too much bugs (with downloading for example) - hard to install. Many people tried to install and failed. I think that someone should be responsible for the whole spring ecosystem. Spring should be cool as a product. Currently, many people are joining lobby, posing "what to do? how to play?" messages in lobby and then they leave. Because nobody cares! We loosing players every day -> we loosing developers too

springlobby team working hard on fixing bugs, I dont blame them at all. All I wanted to say: please help new guys who joining lobby every day. Make some "welcome" and "how to play" topics in the main channels or smth. And we need a big boss who will be responsible for the whole product

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 00:45
by FLOZi
Priorities as I see them:

My mantra: Power. Flexibility. Ease-of-use.

Aim #1: Make Spring more 'Game Developer Friendly'

Recognise that potential game devs are Springs true end users.

Goal 1.a - Ingame editor for mapping and modding (ScenEd)
Goal 1.b. - Showcase existing content and how each game has unique elements that have been achieved by Springs P.F.E.
Goal 1.c. - Advertise the engine as a product to potentitial developers - Ludum Dare is a great way to do this


Aim #2: Make Spring Games more 'Player Friendly'

Recognise that lobbies are the main barrier to game devs maintaining interested players.

Goal 2.a. Lua Lobby?
Goal 2.b. Web lobby is probably a smart ticket too

Aim #3: Get more game developers

Aim #1 is the means to this end.

Aim #4: Get more players

Aims #1 through #3 are means to this end.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 01:25
by AF
Threads like this are fun but rarely do anything, nobody identifies goals and champions them afterwards and pushes things forward. It's that lack of pushing things forwards that's at the root of this.

If you really want goals:

- Fix engine bugs
- Improve the website
- Dramatically improve the single player experience for new players
- Improve the lobbies

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 01:56
by raaar
1) yes

2) the goals for the engine and official infrastructure:

------------- first -------------
- stable engine with the current features and no obvious gameplay bugs
like units stuck in factory, planes freezing mid air, units no longer collide after being unloaded from transports, shaking aircraft, etc.

- stable installation packages for windows and linux with the latest engine and lobby version (portable or not)

- stable lobbies and download system for games, maps and engines
if the automatic system doesn't work it should be simple for users to manually download the files and place them correctly



with these first priority issues solved, game devs could then be more confident about calling outsiders and advertising their spring games because they'd be less likely to deal with "looks bugged" or "couldn't get it to work". They could focus more on improving the games.

------------- second -------------
- allow game devs to control a bit more of units' and game behavior (through unitdefs, lua, mod options, etc.,) without breaking engine stability

- improved/fixed AI support (if it's broken, i'm not sure)

- stable server infrastructure that could hold up to a few thousand players simultaneously
if it needs more funding be open about it, or maybe we need lighter client-server interaction, or both


------------- third -------------
- improved game dev tools to make maps and missions


------------- fourth -------------
- complex map features that interact with pathfinding in novel ways, like bridges, allowing building of units on top of other units, etc.
- ?

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 11:12
by Forboding Angel
Honestly, until the lobbies stop failing to download properly each and every time (as in 0% failure rate), we are pretty much completely fucked.

If something as "basic" as your main portal to the games/engine isn't up to snuff, you're going to have a really difficult time enticing anyone at all.

Frankly, because of the extremely limited manpower in spring, I wish we could commandeer all devs to work on a single lobby client. The most viable ones would ofc be lualobby and weblobby (ReactJS, not the Dojo version). Springlobby would need an interface rewrite (scrollbars and non-responsiveness is bad mmmk?) to be seriously considered as a main client. Additionally, weblobby can be updated independent of the user's local install, which is a pretty big deal.

LuaLobby has the downside of being subjective to the game or whatever is included with the engine, and the engine has a bad habit of seeing one release per year (this year notwithstanding).

But lets be realistic, none of this shit is going to happen, and nothing will change. Perhaps within the next decade we will have a proper lobby client. Weird to think that many of us have been around for 11 or 12 years. I've been around since pretty much before the beginning as many of you were. I remember when TAUniverse mentioned spring as an idea (Does ta demo recorder count?), and then the little demo of spring (2002? 2003?). That was amazing at the time, and now look at us.

Anyway, while I have hope, my expectations are quite low.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 26 Jul 2015, 18:32
by gajop
First step: Go to Wesnoth forums/Slashdot and make a thread/post titled "Still want to develop for open source now that Wesnoth is dying? Check Spring". :twisted:

That said, we should be concerned with two things:
1) Improving the quality of Spring games (as final products) by simply improving performance, fixing bugs in the engine and/or introducing single player, better lobbies, matchmaking, etc.
2) Making it easier to develop for the Spring engine and to make Spring games.

One thing that I'd like to see is more Lua libraries for Spring. There's a huge number of things that can easily be made in a modular framework or library that can be configured with a few settings. Please consider if a feature you're writing can be abstracted and used in games of different nature without major modifications and make a library out of it.

On another note: just because this is all open source, consider that it should all be documented and that no one should spend time reading the code in order to use the product. This issue is also related with the fact that our wiki is still rather limited (especially for writing function-related example code or tutorials), and I'd like to at least get syntax highlighting added which I think would drastically improve on the current status.

PS: I see Ludum Dare not just as a way to promo our game (which isn't likely to happen unless we get much higher placements), but also as a way to discover the limitations new users face when doing game development. There were a number of engine fixes that happened immediately after the event, and a few more that I didn't have time to complain about. Other than LD, I'd also like to assist in making AI compos (although limited completely to a single game, probably ZK), in order to improve the AI interfaces and bring more AI devs to Spring.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 28 Jul 2015, 04:14
by smoth
I don't follow? wesnoth is a game and engine, spring is an engine. I don't see the comparison.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 28 Jul 2015, 05:28
by hokomoko
2 similarities:
1) Open source projects with a very small team.
2) Two groups with a very different point of view: (In Spring it's engine devs vs. game devs, in Wesnoth it's game/engine devs vs. campaign/addon devs)

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 28 Jul 2015, 12:37
by smoth
1) engines with a small team. The amount of content devs and game devs over the years was always many times the engine devs
2) I have tried for years to work with the engine devs and not against them, still do. this us VS them stuff I don't see

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 18:56
by 8611z
Linking to an unrelated OS-project's problem-thread that contains phrase "To put it bluntly, this ship is sinking", very subtle...?
Pity that discussion can not be so direct here, too.
A few days ago Nemo asked me what Spring's goals are (other than "build a kickass RTS engine") and I honestly had no idea, not to mention "kickass" is highly subjective.
A bit releated thread some time ago started with similiar quote: viewtopic.php?f=12&t=25825&p=481930
I not longer believe that "game development must be easier" is/was so big obstacle:
Documentation is here, but the modders refuse to read it!
Also reading bit source of engine is unavoidable and should be acceptable burden for modders too: At very least when someone uses it to explain something it is time to drop whatever else arguement you make.
Not long ago was a thread about "How does a non-programmer make a game?"
It ended with: "He does not."


But is this thread really about more documentation, better lobbies, less crashes?
I think not much to discuss: Report bugs, do things. Takes time but approach is pretty clear?
The question is rather how to stop hype-advertisement about things that are known to be broken or non-existant.
Do you want to be like EA?

I think Spring's goals come natural from its strong points:
Without much effort can work on a multiplayer 3D game.
This is possible because "Spring [community]" takes care of the graphics engine, lobby, netcode,..while game maker can concentrate on ,well, making the game.
Multiplayer games require "crictical mass of players": Spring can provide players willing to play, or at least try, new stuff.
If the tested mod is not good then no reason for frustration: Can still play whatever else mods are there.
Basically I think the obvious thing is Spring as platform and community for many games, that is nice goal.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 19:07
by gajop
8611z wrote:Also reading bit source of engine is unavoidable and should be acceptable burden for modders too
No. Only person reading the source should be the source developer.
8611z wrote:Basically I think the obvious thing is Spring as platform and community for many games, that is nice goal.
Yes, as long as the platform is used for both the development and distribution of the game.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 19:20
by smoth
sometimes reading the source is the only way to get the answer you need. With so much game related stuff handled in the engine, not reading the engine source will hurt you.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 19:24
by PicassoCT
Basically- we want to be the poor mans Unity..

We could focus on making RTS evn easier (auto- stone-scissor-paper balancer) and other things.

Also maybe dev endurance could be kindled more, if everything springish started would be auto publizied. Under that viewpoint gajops analytics is gold.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 19:26
by gajop
smoth wrote:sometimes reading the source is the only way to get the answer you need. With so much game related stuff handled in the engine, not reading the engine source will hurt you.
yes obviously, but you _shouldn't_ _need_ to (emphasis on both words)
reading source is a huge waste of time often

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 09 Aug 2015, 23:12
by PicassoCT
the problem is that you usually have 2 lines of logic / math combined with 20 for filtering out wrong/edege cases and/or container access code

is there a github function that distills the logic from the data handling code?

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 10 Aug 2015, 01:17
by 8611z
gajop wrote:
8611z wrote:Basically I think the obvious thing is Spring as platform and community for many games, that is nice goal.
Yes, as long as the platform is used for both the development and distribution of the game.
The whole "Get more players!! Get more devs!!" fuss seems strange when you want them to only experience small part of Spring. Which is all this does: Create obstacles.
In Spring changing from one game to another is almost as easy as changing to a new map. Pretty unique advantage that imo played big role for Spring's longevity.
Or rather it used to be, before devs prefered to trust in magical events that will instantly bring fame & players to their game.
Now you need different installs, change servers, uncheck filters, do not find players because they are in different chat channels...
reading source is a huge waste of time often
Look at all the discussions about crap that is already documentated?
Does not make the time spent on docu look very effective.

Re: Let's learn from Wesnoth and think about the future of spring

Posted: 10 Aug 2015, 09:48
by PicassoCT
One naturally wishes for success.
Unity has success. Steam has success.
And by the power of wishing alone, i become Gabe Newell, wielding the power of a worldwide engine-ecosysem.
Thus subconciously one emulates - although emulation has a proofen trackrecord for killing those who do.

I think we shouldnt try to emulate unity.
Spring is not unity.
Everytime somebody trys to defy that, horrible Hax are need, and sturdy old spring, that can make allmost anything anyone throws at it into a RTS becomes a Dont-touch-it-tower that is even brought down by simple things like copy a unitdef and rename the unit.

Ever noticed how rare RTS or even DOTA type games are in LD?
The reason is that making and balancing a RTS compared to other titles, is a huge timesink.
Overcoming these timesinks, that would be awesome.
Models take to long for all Units?
Procedural Units! Lego! Drag & Drop ObjectCatalogue..

Balancing is complicated ?
Autobalancer for symmetric, stone-scissor-lizzard RTS, anyone?

Certain Types of RTS are hard - cause every special ability needs to be handcrafted in Lua?
Lua Special Ability Framework?

Learing a RTS is tough on the players?
Some improved version of Newb-O-Tron for the worx