Page 3 of 5
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 24 Apr 2013, 19:57
by gajop
zwzsg wrote:gajop wrote:I mainly hate it for not having classes
Well, you can have classes by using metatable and the :
As for library, yes, no languages has as many libraries as C++, but Lua still can have libraries.
I know, I use it:
https://github.com/gajop/Lua-Class-System.
It's hard work to get something so basic, and it's far from perfect.
Pxtl wrote:
I mean, do you know if you could produced synced simulation code in C#? Python? Do you know if you could sandbox them? Sandboxing Python has had a long and nightmarish history.
Do you know if it couldn't?
Pxtl wrote:
In Lua, it's trivial for engine developers to control access to whichever functionality they want you to have.
How is that a good thing? Give game devs the option to decide what they should do, even if it's stupid and it causes desyncs, it's their fault then.
Alternatively allow these languages in unsynced at least.
Pxtl wrote:
Scheme-based
No thanks! I've seen scripts in a Scheme derivative and it's ugly/unreadable/unmaintanable, and also functional. Few people fully understand OOP, and even fewer have understanding of functional programming.
FLOZi wrote:Must we really descend into the internet's 50 billionth programming language discussion.

Yes, otherwise do as Anarchid said and post animated gifs, this thread was never meant to go anywhere.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 24 Apr 2013, 20:08
by zwzsg
gajop wrote:Oohh, so Java/C# (other compiled languages that run on "VM"s) are bad but languages that need an interpreter get a free pass?
I dislike Java because it's bloated, its syntax is too verbose, and it's neither as fast and close to metal as C nor as simple and easy as a high level language such as Lua.
The main annoyance I have with compilation is that with C++ it takes time, other languages do it fast and run portable, so it's hardly an issue.
The main annoyance I have with compilation is that it needs a compiler. May be easy for you, but I found out installing a compiler and a dev environment in general is such a hassle I rather quit.
You get a free pass with interpreted languages if you take advantage of it : I've written Lua for three different environments, and all I needed each time was a text editor.
gajop wrote:How is that a good thing? Give game devs the option to decide what they should do, even if it's stupid and it causes desyncs, it's their fault then.
Not really. Game devs are supposed to be less hard core coders than engine dev. So it's good to give us a safe, controlled environment, where bugs are easy to fix and of few consequences.
And if game devs want complete controls and no safety, then they can start coding in C at the engine level!
FLOZi wrote:Must we really descend into the internet's 50 billionth programming language discussion.

Yes, the initial thread was only split thrice, that's not a round number, we need another split!
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 24 Apr 2013, 23:06
by PicassoCT
they get a crisis, we just get obstickies.. always treatign them engine devs beta, cause what does a moddeev no about crysys
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 24 Apr 2013, 23:08
by FLOZi
FLOZi wrote:gajop wrote:So we have files specified by the game devs which control unit def properties, but to access those properties in game we use different property names?
For certain tags - yes. I was planning on adding an extra 'field' to the Units-UnitDefs page for those tags where this is the case (using 'special' param of {{tag}} template). edit:
quick e.g. here
However if both interfaces are used by the game devs, surely they shouldn't offer different property mapping, as that's inconsistent and raises confusion.
It's not ideal... it's a historical mess and cleaning it up won't be easy. There are certainly some cases where it makes sense for them to be different as they aren't the same data e.g. string-input tags that become bitmasks, or tags that are converted between different units of measure during loading.
Probably the best thing is to first document those tags where it is the case and see what proportion are affected.
You can get a decent idea just by browsing
UnitDef.cpp. IMO it is the exception rather than the norm.
Bump an actual relevant post that no-one responded to.

Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 28 Apr 2013, 21:24
by FLOZi
http://springrts.com/wiki/Units-UnitDefs
Filled in most of the different ones. Some that are missing or changed in value or data type not included yet. Fair to say it is worse than I thought.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 28 Apr 2013, 22:31
by Silentwings
That's very useful, thanks
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 00:32
by Jools
gajop wrote:I agree with the whole Lua sucks notion, but for different reasons.
I mainly hate it for not having classes and lacking libraries (limited in what you could use in Spring, and most of it also requires compilation).
Yeah, I miss classes too and being able to inherit properties of higher classes.
Like "
class submarine
extends ship".
But then again you had variables such as "
public final static int BATTLESHIPS = 1"
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 01:05
by smoth
oh we are still talking about this.
I like the part where OO devs fight about whether or not the inheritance chain is too deep. I also like how everyone seems to feel that they some how would abstract their code into clean objects.. or the part where most of the lua in this community(some my own as well) is about as sloppy as a 2 day old mayonnaise sandwich.
Hang on while people act like OO is a godsend and how their initial architecture will not later require years of revision. Don't get me wrong I like OO but to act as though there is a CRIPPLING need for it here, or to act as though somehow it would get properly utilized beyond a few gadgets and widgets is beyond my level of tolerance for bullshit.
You can kinda half ass inheritance with meta-tables but polymorphism i am not sure about. Either way, I just think the whole OO argument is silly unless you plan on doing some large project like chili.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 01:09
by Silentwings
+1, imo OO is not suited to lua because lua is not suited to the scale of project that OO can become useful in.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 09:17
by PicassoCT
Not really. Game devs are supposed to be less hard core coders than engine dev. So it's good to give us a safe, controlled environment, where bugs are easy to fix and of few consequences.
And if game devs want complete controls and no safety, then they can start coding in C at the engine level!
You have not yet reached the "Out of memory-bad alloc"? Its not like we gamedevs cant cripple all there hardwork. We have the power^3!
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 09:34
by Anarchid
OO
Lua is multiparadigm. You can do object-oriented if you really want. Did you ever read Chili source? Yeah, go do that liek right now.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 09:49
by Silentwings
You can do object-oriented if you really want.Did you ever read Chili source? Yeah, go do that liek right now.
Tbh I think that suggestion will help no one and insult a few ... but you are also essentially wrong; in plain lua you can only do the most basic OO stuff and you need addons like LOOP (
http://loop.luaforge.net/) to get an OO environment within lua.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 10:11
by smoth
Anarchid wrote:OO
Lua is multiparadigm. You can do object-oriented if you really want. Did you ever read Chili source? Yeah, go do that liek right now.
:\
smoth wrote:the whole OO argument is silly unless you plan on doing some large project like chili.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 10:29
by PicassoCT
Oh, we are allmoist there.. fasten your helmets
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 11:12
by Anarchid
but you are also essentially wrong; in plain lua you can only do the most basic OO stuff and you need addons like LOOP (
http://loop.luaforge.net/) to get an OO environment within lua.
That depends on how hardcore you want your "oo environment" to be.
Obviously, you'll never get Lua to be Java with static typing and enforced boilerplate OO, even with LOOP.
+1, imo OO is not suited to lua because lua is not suited to the scale of project that OO can become useful in.
I've been doing quite a lot of OO in lua for a game called "gusanos" in ages past. My hair is a bird, your argument is invalid.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 11:18
by Silentwings
Anarchid wrote:... your argument is invalid.
silentwings wrote:... imo ...
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 15:18
by zwzsg
Silentwings wrote:imo OO is not suited to lua because lua is not suited to the scale of project that OO can become useful in.
Silentwings wrote:[opinion] because [argument]
Prefixing your post by IMO does not make your whole post immune to any critics.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 16:46
by CarRepairer
It's clear from page 2 that silentwings doesn't like lua for various reasons starting with syntax. I hadn't responded until now but I think the false and nil being the only values to evaluate to false is brilliant.
I'd like to hear directly from jK who created chili and did a great job overcoming obstacles if he indeed was able to create an official OO environment with lua. A quick check in wikipedia to refresh the memory lists off the following fun words: dynamic dispatch, encapsulation, subtype polymorphism, inheritance, open recursion. I remember during his chili development days he would often talk about issues in using lua's weak and strong tables (I had looked these up but since forgotten what they mean). So jK could you weigh in, since you know more than most of us.
A while later I really wanted some OO power when I was making maze generators for Kaiser's game and jK pointed me to a really simplistic OO implementation that was not nearly as powerful as the one he made in chili, but it was much easier to work with and it suited my needs. However at the time I couldn't help but notice it was lacking some of the essentials I listed above. Here's a maze.
http://youtu.be/h46ux4ANdxE
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 29 Apr 2013, 20:01
by Silentwings
Prefixing your post by IMO does not make your whole post immune to any critics.
Assuming that I thought my post was immune from
any criticism makes your own post quite susceptible to criticism, imo.
It's not that I have a huge distaste for lua, I'm just not really a fan - I do use it and mostly don't complain.
Re: Game Dev Obstacles (split from Spring developer crisis)
Posted: 11 May 2013, 14:47
by knorke
In spring many nice things are made. But many stay out of reach for players because something else is blocking.
Cool stuff dies as techdemo because of some small problem, so much lost potential.
examples:
-maps with mapoptions. springie hosts do not support them: so why would anyone want to code mapoptions into their map if half the autohosts will not be able to use them?
-missions. there are/were several editors and systems to make and play missions. But starting the missions is difficult because not all lobbies support missions. (or not all types of missions)
-ingame menus for singleplayer, campaign and such.
technically possible and done but useless since getting into these menus is so hard. Previous two I dont know how to fix, but this one might be doable:
http://springrts.com/phpbb/viewtopic.php?f=64&t=30376