Author Topic: Calling all modders  (Read 17673 times)

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Calling all modders
« on: June 23, 2012, 06:06:11 AM »
So I'm starting to think about how to make the new pc version more suited to modding than it currently is.  Unfortunately I'm not familiar with the original scripts and modding options. From what I do know it was quite flexible (I have seen Alex's guide/chat to him).

So, what I'd like to know is what kind of things people like to do in their mods, and what requests they have.

Anyone who has made a mod for the iOS version will have a good idea of what the new one can and can't do.

I'm also wondering about other ways to support modders, such as a better way to share, rate, and play levels or even entire stories, maybe in game or through a website. I'm not sure if apple will allow us to do this on iOS but on PC maybe we can do something in the future if enough people are interested.

I can't promise anything at the moment, and mod support may come through updates, but the more I know now the more we can plan!

Pilchard123

  • Tester
  • Old Oak
  • ****
  • Thank You
  • -Given: 4
  • -Receive: 24
  • Posts: 932
  • Eufloria: Yes
Re: Calling all modders
« Reply #1 on: June 23, 2012, 03:53:50 PM »
http://www.dyson-game.com/smf/index.php?topic=1219.0
http://www.dyson-game.com/smf/index.php?topic=1387.0

That's to name just a few, but perhaps just a little nearer the higher end of them. Most of the stuff annikk did was using stuff that wasn't in originally, though. TBH, I'd be happy with just basic modding support that gets bigger as time goes on.

Lost Seedling

  • Shrub
  • ***
  • Thank You
  • -Given: 9
  • -Receive: 30
  • Posts: 205
Re: Calling all modders
« Reply #2 on: June 24, 2012, 03:13:59 AM »
Here are some old related threads. Interesting how some of these were later implemented!

http://www.dyson-game.com/smf/index.php?topic=712.0

http://www.dyson-game.com/smf/index.php?topic=1211.0

And of course this monster:

http://www.dyson-game.com/smf/index.php?topic=3.0

It would be nice if there were some centralized source for posting and finding mods. This link http://www.dyson-game.com/smf/index.php?topic=1200.0 was a good start but obviously not sufficiently updated.

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #3 on: June 28, 2012, 06:48:10 PM »
More suggestions please!

Got vague thoughts about a level editor (in the distant future) and allowing entire level sets at the moment...

Would definitely like to integrate custom levels (finding, downloading, rating) in the app itself.

Rudolf

  • Administrator
  • Old Oak
  • *****
  • Thank You
  • -Given: 5
  • -Receive: 13
  • Posts: 669
  • Eufloria: Yes
Re: Calling all modders
« Reply #4 on: June 29, 2012, 04:26:36 AM »
I will have quite a few editor suggestions for you Alex :-D

On a related note, as utterly awesome as the mods have been, people haven't touched visuals of seedlings and other Euflorian life forms and objects that much yet.  I think however that AMAZING things can be created with only a few values and textures exposed.

Lost Seedling

  • Shrub
  • ***
  • Thank You
  • -Given: 9
  • -Receive: 30
  • Posts: 205
Re: Calling all modders
« Reply #5 on: June 29, 2012, 03:03:59 PM »
..people haven't touched visuals of seedlings and other Euflorian life forms and objects that much yet...

"Yet?". Are you implying that it is currently possible to alter or modify the appearance of these things? If so, I wish I knew how! If not, that would indeed be a very welcome capability for modders in the future.     

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #6 on: June 29, 2012, 05:29:33 PM »
I don't think you can do that in the original but rudolf will tell me if i'm wrong.

I am working on that code next week though so I can start exposing variables... Main issue is trying to avoid values which crash the app or cause other problems. Some of the code is quite tightly integrated and exposing them may take a lot of related work.

Rudolf

  • Administrator
  • Old Oak
  • *****
  • Thank You
  • -Given: 5
  • -Receive: 13
  • Posts: 669
  • Eufloria: Yes
Re: Calling all modders
« Reply #7 on: June 30, 2012, 12:32:45 AM »
I am pretty sure Alex exposed some rendering stuff. He showed me some examples of c
New visuals people can create, but I am not sure how much of that actually made it into the game.
I will check with him.

However, There is a lot that can be exposed I reckon.

Alex

  • Administrator
  • Ent
  • *****
  • Thank You
  • -Given: 3
  • -Receive: 14
  • Posts: 1,035
Re: Calling all modders
« Reply #8 on: July 02, 2012, 04:33:07 AM »
I gave people the ability to draw. This did allow people to add their own visuals to what's there already, but you had to know where the thing was that you wanted to draw on, and you couldn't alter the existing graphics. So for instance, annikk.exe created a starfield and various other things. You'd have to keep track of each seedling you wanted to draw over in your own lua code, which isn't sensible. It was good for UIs.

Also these drawing routines were not ported over into the PS3 or iOS versions, as it wasn't deemed necessary and time was short. So they would need to be reimplemented.

I would say a good thing to do would be to allow seedlings or perhaps a more basic game entity class to substitute their render or update functions with a lua function. In this way the modders would have total control over a game entity.

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #9 on: July 02, 2012, 06:25:44 AM »
Good idea batman. It's like you know this game or something ;)

I had been mulling over the idea of a generic entity which could be handled from lua only tho I think this would have to wait until a future version/sequel rather than the current eufloria hd. I can foresee various issues without some tweaking at the moment. Saves will also be very easy to break with inappropriate scripting.

The list of 'wants' is building :)

Rudolf, have you designed a sequel yet?

Multiplayer, editor, proper custom user level/campaign system, and modding additions are all on the list!

Aino

  • Ent
  • ******
  • Thank You
  • -Given: 4
  • -Receive: 30
  • Posts: 1,527
  • Eufloria: Yes
Re: Calling all modders
« Reply #10 on: July 02, 2012, 07:58:30 AM »
If you need help, I can help... It seems I got a lot of free time this summer :)

But... where did you get the source, Alex?
Also, if you can: add a layer rendering system, that things are rendered layer by layer, making overlapping an avail to modders... if that takes too much effort, just add a PreRender function(executed before asteroids & game entities are rendered) and call the current render function PostRender or something. It will work just like the other render, but allows for things like Annikk's starfield and things you would like behind an asteroid to be rendered without consuming tons of CPU power and to be easier to code.

Lost Seedling

  • Shrub
  • ***
  • Thank You
  • -Given: 9
  • -Receive: 30
  • Posts: 205
Re: Calling all modders
« Reply #11 on: July 02, 2012, 08:17:54 AM »
I would say a good thing to do would be to allow seedlings or perhaps a more basic game entity class to substitute their render or update functions with a lua function. In this way the modders would have total control over a game entity.

I don't know what that means, but I've found using the Draw functions to a certain degree has a crippling effect on framerate. The rendering of "game entities" obviously does not suffer that problem. What you're saying would seem to indicate the opposite of what would be desired- the ability to draw and render/update without the current limitations on game performance caused by the Draw functions. I'm probably misunderstanding your statement, though.

Nevertheless, as beautiful as the game is in it's visual simplicity, I certainly would like to have ways to alter it's appearance and create more varied and stimulating imagery.

Rudolf

  • Administrator
  • Old Oak
  • *****
  • Thank You
  • -Given: 5
  • -Receive: 13
  • Posts: 669
  • Eufloria: Yes
Re: Calling all modders
« Reply #12 on: July 03, 2012, 05:12:42 PM »
Rudolf, have you designed a sequel yet?

Multiplayer, editor, proper custom user level/campaign system, and modding additions are all on the list!

Yeah, all the ideas and mechanics that did not make it into the original game. :-D

There were some wacky ones too, like, on taking down an enemy tree the game view would switch to the inside of an asteroid, which consisted of a WHOLE NEW GENERATED LEVEL, where the player would play a game similar to tower defense.
We also talked about the level select screen actually being a galaxy, and clusters of space would get into reach of each other just like asteroids offer a sphere of influence in the levels. So in that case the level progress would be completely non linear.
We also talked about modifiable seedlings, and that players could launch a mother tree into new areas of space, with the seedlings they had modified already, into tough new areas.
Then there was the idea to allow the player to keep on playing after conquering a full level, but rather than conflict based it would be a number of mechanics that mean they could create new seedlings/trees/flower types by recombining and splicing. Evolutionary gardening really.

I can go on for a few pages with other ideas I had?

Bonobo

  • Achiever
  • Old Oak
  • ****
  • Thank You
  • -Given: 139
  • -Receive: 12
  • Posts: 670
  • Eufloria: Yes
Re: Calling all modders
« Reply #13 on: July 03, 2012, 06:50:10 PM »
I can go on for a few pages with other ideas I had?
Oh, please do, Rudolf, I find this fascinating, and the more wondrous things you tell, the more we all might want to have them in the sequel, NOW, and for OS X and iOS, too ;D

Pilchard123

  • Tester
  • Old Oak
  • ****
  • Thank You
  • -Given: 4
  • -Receive: 24
  • Posts: 932
  • Eufloria: Yes
Re: Calling all modders
« Reply #14 on: July 03, 2012, 07:00:57 PM »
So are those ones you posted just the wacky ones, or are they ones that didn't get into the original game? Or both, either way.

Rudolf

  • Administrator
  • Old Oak
  • *****
  • Thank You
  • -Given: 5
  • -Receive: 13
  • Posts: 669
  • Eufloria: Yes
Re: Calling all modders
« Reply #15 on: July 03, 2012, 10:12:45 PM »
A combination of both!

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 1,809
Re: Calling all modders
« Reply #16 on: July 31, 2012, 04:33:49 PM »
Hello.

With regard to drawing, if you were going to implement this on iOS, it will be WAY more powerful if you could include the ability to either draw in front of, or behind, asteroids.

Why?  Well take the starfield engine for example.  Because the "stars" are always rendered in front of the asteroids, I have to use special algorithms to detect when a star is on top of an asteroid, and hide it.  This is a huge drain on CPU, especially if a lot of stars and asteroids are onscreen at once... if I could tell the stars to draw behind the asteroids, I could have THOUSANDS of stars onscreen instead of hundreds, irrespective of the number of asteroids..  I know this to be the case because I have tested the performance without the star-hiding code.


So I would propose the following for Draw commands:

DrawLine(x1,y1,x2,y2, r,g,b,a, thickness, background/foreground)
DrawSprite(id, x1, y1, r,g,b,a, size, background/foreground)

(Where "background/foreground" is a boolean, true or false, to indicate whether it should be rendered in front or behind of asteroids)

And if we could draw to both the level and the screen, similar to the PC version, that would be sweet. :>
ie: function ScreenDraw() and function LevelDraw()

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #17 on: August 01, 2012, 08:46:04 AM »
Sounds ok to me :)

Lost Seedling

  • Shrub
  • ***
  • Thank You
  • -Given: 9
  • -Receive: 30
  • Posts: 205
Re: Calling all modders
« Reply #18 on: August 26, 2012, 03:39:03 PM »
Assuming you add enough things to make modding possible and worthwhile, I would give my right arm and first-born child for a better debugging result. I've probably wasted hundreds of hours trying to track down bugs resulting in the "Eufloria has encountered a problem and needs to close" Windows message, leaving no clue as to where the error occurred, and no way to access the console for further detective-work. I guess the LUA debugging capabilities are not good or easy to implement, but any improvement in this area would be extremely helpful to non-programmers like me.

Aino

  • Ent
  • ******
  • Thank You
  • -Given: 4
  • -Receive: 30
  • Posts: 1,527
  • Eufloria: Yes
Re: Calling all modders
« Reply #19 on: August 26, 2012, 05:43:16 PM »
Assuming you add enough things to make modding possible and worthwhile, I would give my right arm and first-born child for a better debugging result. I've probably wasted hundreds of hours trying to track down bugs resulting in the "Eufloria has encountered a problem and needs to close" Windows message, leaving no clue as to where the error occurred, and no way to access the console for further detective-work. I guess the LUA debugging capabilities are not good or easy to implement, but any improvement in this area would be extremely helpful to non-programmers like me.

The game should leave a debug.txt file in the Eufloria directory after each game and inform about EVERYTHING that's being done...

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #20 on: August 27, 2012, 07:11:19 AM »
For the PC version we'll have a think. Lua doesn't give nice error messages.

Also if you want to print from scripts that are running on the iOS version, use the in-game message system. Won't work with broken scripts tho.

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #21 on: November 16, 2012, 04:23:04 AM »
Brief follow up. One of the reasons we've held back the full release of the PC/Mac/Linux versions is to allow us time to look into improving the modding support. Any posts made in this thread will be taken into consideration!

We have to finish Eufloria Adventures before returning to Eufloria HD, so you have a few months yet.

Timeroute

  • Seed
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Posts: 3
Re: Calling all modders
« Reply #22 on: November 24, 2012, 11:59:25 AM »
Hi, first time posting. I was wondering if there was any chance of getting something like http://w3.impa.br/~diego/software/luasocket/home.html integrated - or at least giving modders the opportunity to integrate it, within their own mod.

The main reason for this would be that then modders would have the opportunity to essentially program their own multiplayer version of the game, which of course plenty of people have asked for. :D

Pilchard123

  • Tester
  • Old Oak
  • ****
  • Thank You
  • -Given: 4
  • -Receive: 24
  • Posts: 932
  • Eufloria: Yes
Re: Calling all modders
« Reply #23 on: November 24, 2012, 09:12:04 PM »
It might be possible to to the with just Lua. It would be a lot slower than the C version, even if it could be done. Might be interesting to try though.

Timeroute

  • Seed
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Posts: 3
Re: Calling all modders
« Reply #24 on: November 25, 2012, 03:35:05 PM »
I got a working LuaSocket integration. :D It only works with HD, not Classic, but it works.

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #25 on: November 29, 2012, 12:19:06 AM »
Hi, first time posting. I was wondering if there was any chance of getting something like http://w3.impa.br/~diego/software/luasocket/home.html integrated - or at least giving modders the opportunity to integrate it, within their own mod.

The main reason for this would be that then modders would have the opportunity to essentially program their own multiplayer version of the game, which of course plenty of people have asked for. :D

I have to say that I know nothing about this. I can look into it when we improve modding support before the final release though.

I'd imagine it'd be quite tough to keep the game in sync although maybe on PC you can get away with batching data at regular intervals and brute forcing it. There are a lot of things about Eufloria (HD) that may make multiplayer stuff tricky. For example a lot of code does different things for team 0 (player) and a little perhaps for team 1 (grey) compared to other teams but I guess an enemy team can mimic the player somewhat. 'Relaxed' mode puts a bias on team 0 and against the other teams BTW. This can easily be fixed by overriding the relevant variables.

I heard that people managed to hack in some multiplayer stuff for the old Eufloria (you crazy people) so I could add a couple of extra variables to prevent things like a team trying to run any AI - I could put it entirely under script control.

I assume I would need to make a lot more variables accessible from Lua. In the old version, could you access any variable on a seedling? It was C# and that sort of thing is easier to do in that language. This build is C++ and you don't have access to individual seedlings etc.

It probably isn't too much work for me to do this though.

Basically, if someone who has done it before can put some notes in this thread then I can try and open things up enough for you guys to play with :)

Anyone who is modding will be given access to the Eufloria HD beta when we're adding modding functionality, so we can add features while you test/request them :)

sillytuna

  • Eufloria lacky
  • Administrator
  • Arboreal Being
  • *****
  • Thank You
  • -Given: 58
  • -Receive: 71
  • Posts: 441
  • Eufloria: Yes
Re: Calling all modders
« Reply #26 on: November 29, 2012, 12:22:31 AM »
The game should leave a debug.txt file in the Eufloria directory after each game and inform about EVERYTHING that's being done...

We'll do what we can for this, and we'll provide an in-game console for things too. As far as possible!