[Archived] Original Mod Collaboration Thread


Recommended Posts

I integrated the tile testing with the mod. I'm calling Millenium's new ground type "Poopcloud", just in case we add more cloud grounds later (the name is open for discussion, though!). The mod is now adding the new ground type and (as long as "DEBUG" remains set to true in rc.lua, as it is now) the player will have an infinite poopcloud-dropping turf in their inventory. The turf item uses the assets from the carpet turf (it's just for testing, after all). 

Tempted to add a glow to their background, though. Needs MOAR magic!

Glow is best added at the code level (except on the inventory icon, that needs to be done at the texture level). See this as an example:

https://www.youtube.com/watch?v=3cRxSDZ8gDo]https://www.youtube.com/watch?v=3cRxSDZ8gDo
Edited by simplex
Link to comment
Share on other sites

@debugman18As you may or may not know, I wrote a library/framework for mod development (called wicker), which I've been using for Tallbrood and for the snailking mod. Would you like to put Up and Away under it?The basic idea is to put all mod code under scripts/upandaway/ (replicating the game structure there, such as making a scripts/upandaway/prefabs/ folder, but possibly breaking it in subdirectories for organization), using require()-based loading for everything, and to have code run in an environment that extends the mod environment, while optionally also having direct access to the global environment without having to do imports. It also has a lot of library code for general convenience, and automates/integrates things such as mod configuration (with type checking for configuration variables).Basically, to have a file run under the framework, using the "extended mod environment", you'd add

--@@ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
to the top of the file (the rest of the code could remain as is). Things like AddSimPostInit become methods of a variable called TheMod, but they can also be used directly, as we do in modmain.lua, by adding "BindTheMod()" below that. Global variables can be imported normally (using GLOBAL).Alternatively, to have direct access to the global environment, you'd put
--@@GLOBAL ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., package.seeall, require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
These comments starting with "@@" are just there because I use a Perl script to automatically insert and update them. Edited by simplex
Link to comment
Share on other sites

Hahahah! That is one messed up Moose! I love it! lol

But seriously, that is pretty damn close! If you could fix the legs a bit so they don't look like they're hovering and maybe mirror the pear-shaped body vertically so the thin end is on top, and add a little neck to it, i think it could work. The sideview head is awesome! And the pengull's little wings will be disappointing compared to those you drew...

 

here, i tried doing some of these changes

Posted Image

i think i will make the neck longer

  • Like 4
Link to comment
Share on other sites

trying to screw around with the pengull

Posted Image

i don't even know what's better anymore

Well if it makes you feel any better, this duck made me laugh very hard. The other one wasn't bad, just had issues with the animation build. It doesn't help that the idea being implemented here is very abnormal.

 

 

@debugman18

As you may or may not know, I wrote a library/framework for mod development (called wicker), which I've been using for Tallbrood and for the snailking mod. Would you like to put Up and Away under it?

The basic idea is to put all mod code under scripts/upandaway/ (replicating the game structure there, such as making a scripts/upandaway/prefabs/ folder, but possibly breaking it in subdirectories for organization), using require()-based loading for everything, and to have code run in an environment that extends the mod environment, while optionally also having direct access to the global environment without having to do imports. It also has a lot of library code for general convenience, and automates/integrates things such as mod configuration (with type checking for configuration variables).

Basically, to have a file run under the framework, using the "extended mod environment", you'd add

--@@ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
to the top of the file (the rest of the code could remain as is). Things like AddSimPostInit become methods of a variable called TheMod, but they can also be used directly, as we do in modmain.lua, by adding "BindTheMod()" below that. Global variables can be imported normally (using GLOBAL).

Alternatively, to have direct access to the global environment, you'd put

--@@GLOBAL ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., package.seeall, require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
These comments starting with "@@" are just there because I use a Perl script to automatically insert and update them.

 

 

@debugman18

As you may or may not know, I wrote a library/framework for mod development (called wicker), which I've been using for Tallbrood and for the snailking mod. Would you like to put Up and Away under it?

The basic idea is to put all mod code under scripts/upandaway/ (replicating the game structure there, such as making a scripts/upandaway/prefabs/ folder, but possibly breaking it in subdirectories for organization), using require()-based loading for everything, and to have code run in an environment that extends the mod environment, while optionally also having direct access to the global environment without having to do imports. It also has a lot of library code for general convenience, and automates/integrates things such as mod configuration (with type checking for configuration variables).

Basically, to have a file run under the framework, using the "extended mod environment", you'd add

--@@ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
to the top of the file (the rest of the code could remain as is). Things like AddSimPostInit become methods of a variable called TheMod, but they can also be used directly, as we do in modmain.lua, by adding "BindTheMod()" below that. Global variables can be imported normally (using GLOBAL).

Alternatively, to have direct access to the global environment, you'd put

--@@GLOBAL ENVIRONMENT BOOTUPlocal modname = assert( (assert(..., 'This file should be loaded through require.')):match('^[%a_][%w_%s]*') , 'Invalid path.' )module( ..., package.seeall, require(modname .. '.booter') )--@@END ENVIRONMENT BOOTUP
These comments starting with "@@" are just there because I use a Perl script to automatically insert and update them.

 

I imagine that would benefit development? I'm definitely not opposed to it being used.

Link to comment
Share on other sites

I'm starting to make the tail more bushy, and I'm getting the thing again if I delete a part from the atlas file I have these transparent replacements...

 

Posted Image

 

and we need a working color scheme, here is one of my work sheets, the colors differ a little bit 

 

Posted Image

Edited by MilleniumCount
  • Like 2
Link to comment
Share on other sites

I imagine that would benefit development? I'm definitely not opposed to it being used.

I believe it would, that's why I wrote it. But since putting a program inside a framework is a big (code) design decision, it was important to ask. If you're in doubt on how something works, please ask me to clarify.The require()-based loading adds (in addition to the standard require()) the functions modrequire(), which require()s something relative to scripts/upandaway (so, for example, our "require 'upandaway.strings'" in modmain could be replaced by "modrequire 'strings'"), wickerrequire(), which require()s something relative to the wicker base directory (this is mostly to load libraries) and pkgrequire(), which loads something relative to the calling script's directory.I have to do some minor adjustments to it because it was written under the assumption a mod would have a single entry point (modmain.lua). Accounting for modworldgenmain.lua as well would be simple, but it's not there yet (completely, at least, the framework already assumes it may run under a "slim" environment, such as worldgen).Everything's in a self-contained directory, so sticking it into a mod is simple. What I've been doing is clone its git repository into scripts/<modname>/wicker, leaving this directory itself out of the mod's repo. Would you prefer for me to bundle it directly into Up and Away's repo, so that using the master.zip will "just work"?
Link to comment
Share on other sites

I'm starting to make the tail more bushy, and I'm getting the thing again if I delete a part from the atlas file I have these transparent replacements...

 

Posted Image

 

and we need a working color scheme, here is one of my work sheets, the colors differ a little bit 

 

Posted Image

i like the way how it turns out! we have to remember that the color will be based on the winter color change, so it will be closer to the atlas color. nice raccoons XD

Link to comment
Share on other sites

yeah, the neck trick doesn't work out that well XD

 

Pengull idea: fail, Gobbler neck idea: fail.

I'm going to shut up now.

 

Though, thats soooo close (and looks great), only broken anim is in that ONE state. You could call a different atlas for it or not use it at all. I bumped into similar issues with the Snailking and sometimes it's the only way to adapt a completely different animal to existing sprites... The only other atlases i can imagine allowing for that design would be the chessmonsters, but those would suck.

 

PS: legs are perfect ^_^

Edited by lifemare
Link to comment
Share on other sites

I believe it would, that's why I wrote it. But since putting a program inside a framework is a big (code) design decision, it was important to ask. If you're in doubt on how something works, please ask me to clarify.The require()-based loading adds (in addition to the standard require()) the functions modrequire(), which require()s something relative to scripts/upandaway (so, for example, our "require 'upandaway.strings'" in modmain could be replaced by "modrequire 'strings'"), wickerrequire(), which require()s something relative to the wicker base directory (this is mostly to load libraries) and pkgrequire(), which loads something relative to the calling script's directory.I have to do some minor adjustments to it because it was written under the assumption a mod would have a single entry point (modmain.lua). Accounting for modworldgenmain.lua as well would be simple, but it's not there yet (completely, at least, the framework already assumes it may run under a "slim" environment, such as worldgen).Everything's in a self-contained directory, so sticking it into a mod is simple. What I've been doing is clone its git repository into scripts/<modname>/wicker, leaving this directory itself out of the mod's repo. Would you prefer for me to bundle it directly into Up and Away's repo, so that using the master.zip will "just work"?

Whatever changes there may be, I'm sure I'll adapt to. So far, it doesn't sound like it will make anything more difficult. (And even if it did, I'd have to learn, wouldn't I?) You're definitely more knowledgeable than I am when it comes to these kinds of things, so I trust in your decision-making. I'm okay with it.

Link to comment
Share on other sites

Took a quick look at the mobs list and here's what i think could be used :Upscaled BirdMandrakeBishopKrampusWerepig

I'm not sure if Krampus would work or not.

 

What about the Deerclops, but scaled down?

 

Edit: But what simple meant was to just avoid whatever animation state is disconnecting the neck.

Edited by debugman18
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share