Hi there! Brand new here. I really like your mod. I'm going to be playing with it more over the next few days. I especially am liking your crafting concepts.
I'd really like to get involved with developing in Terasology and would like to offer you some help with this mod. My main interest is in developing crafting and building in game as much as possible. Would you be interested in some help with this?
Ah cool that sounds good. I'm afraid art isn't my thing either lol. Would you also be interested in any help with any coding in the crafting system? I'll try out some more of the crafting system with a view to playability and ease of use for a new player
@Dan Up!, any code contributions are welcome as well. Something I need to accomplish in the next few months is re-architecting the ProcessPart system found in the Workstation module. This is the system that drives all the crafting stuff in JoshariasSuvival. Basically the current implementation has a few design problems that I want to address:
It does not separate data and code at all (the logic is in the component and not in a system)
It relies on each processing part to use the CoreRegistry (which is going to be deprecated sometime)
That said, where do you want to start? What interests you off the bat that you would want to dive in to? Possibly some blocks with cool mechanisms that you want to add?
Ah cool, I may be able to help with that. I'll grab the code to have a look through. I haven't looked at the core terasology code yet, so I'll wrap my head around the code I need to, then I'll have a look at your modules. I'll look into your crafting process more fully in game and see if I can think of anything that can streamline the design or any additions that might compliment it. Have you currently got any specific design philosophy that your crafting follows? It mainly looks workstation based and doesn't have much hand crafting, are you attempting to make crafting as true to life as possible? Or mainly simple and functional?
Hey Josharias (is there a shorter form? "Jo"? "shar"? "Josheeee")
This module does look like it's on the 'tekkit' side of things, and I can get into that . I'm not sure how much I could help with the art, but if you have anything "byte-sized" that can be implemented by someone still getting used to the system I'd be willing to do some stuff. Still trying to learn about the way things work, and getting used to working on a module would be a nice way of advancing a bit (I've only been working on some core stuff that I plan to submit this week-end).
I've had to create a component and look through systems in general when I found out those were a thing, but currently I just use an event to set data (from the console). Thing is I think I can do the 1st part if you haven't gotten around to it yet ( since now it's like a month later, I'm not sure how up-to-date you are on the project ).
I'm not sure what the CoreRegistry is, but I'll be sure to look through it for a bit when I get home (and maybe after a bit of factorio or civ5 )
I could do blocks with functionalities (I've seen some issues with teleportation, and I'm not sure if that stuff still stands or what - I'd be interested in that if it isn't implemented somewhere), but if it would be blocks that specifically target your mod, I'm not sure what the extent of their functionalities could be. Could you give me some examples of what you thought of but haven't gotten around to implementing yet? Or maybe just concepts that you'd think you want and we can talk about how that would work . (and fyi I'm not particularly keen on multiblock structures ). Still, what do you think?
"Josheeee" is what my brother calls me. (yes, and we are both in our 3rd decade) "Josh" will do.
I have recently dont the refactoring for the Workstation module to reduce the usage of CoreRegistry. So that is no longer on the list of things to do. That said, CoreRegistry is an implemetation of the service locator pattern.
One of my goals today is to go through the github issues on all my modules and "groom" them. Maybe Ill tag issues with "help wanted" that are still useful and could be picked up by someone. I have been using ZenHub to get the issues for all modules involved in JoshariasSurvival into one place. That could be helpful for you too.
@Dan Up!, sorry for the delayed response (not quite sure how I missed your questions). Design philosophy so far... I have tried to stick to these concepts:
Make it easy enough for my 6 year old to understand. (Keeping detailed science and procedure at a minimum)
A block should only do one thing. (for example, dont burn wood and smelt iron in the same block
I haven't started using ZenHub for viewing issues on multiple modules yet, although I might do it as soon as I will have the need to
I have searched through the issue the last few days and haven't seen any "help wanted" ones as of yet. I'm still looking into my own issues at the moment but I'll be done with those by the end of the week (hopefully) and start looking for other stuff to do. Ofc there are other issues, but I'm curious what you'd need help with seeing as this mod is looks pretty solid.
Also, you could spin a module of your own that adds some more content. I would be happy to include it in JS. My only requirement would be that the content can be accessible without the "giveItem" command. Integration with the help system is a bonus.
Oh, and if anyone is really creative and ambitious, you could create a themed gameplay module with similar dependencies as JS that has a possibly a storyline, or possibly an end goal, or some other uniqueness.
@Josharias I would really like to add some items, but ofc I'll want to cheat them in for the functionality at first, integrating them with your system afterwards. Is that a bad way to look at this? I want to be sure it works the way I want it to before it needs to be crafted over and over, but that's just me
The storyline aspect sounds wonderful; I got into quite a bit of a conversation on the LaS section about the lore and such, and this survival could quite be the antithesis to that world. Maybe the initial idea for the Terasology lore would fit here quite well? (the steampunk exodus to other planets). I have read a bit into Gooey's quest as well, but I haven't tried it out per se.
@Cervator I have horror stories about controlling fluid levels in tanks with 1st and 2nd degree discrete systems (which I'll have an exam for ) , but at least we won't want this to be realistic at first, right?
About the LaS tasks, I've sorta' been stalking them for a while now, keeping my eyes on quite a few of them (some of them being closed or obsolete, but did give me some ideas so I kept the tabs open). I've figured AI and interaction systems (one of which is combat) are the most needed there, so they are in my plans
Didn't know there is a weather manager, and I'm not sure if I will look into it too soon, but it is good to know it exists. Will keep it in mind if it could influence the functionality of some other modules
Using "giveItem" to aid diagnostics is something I also still do. There are also some "creative mode" items/blocks that I use for diagnostics that are not craftable. I have found it to take a fair amount of discipline to keep everything craftable as it is easy just to create some mechanism and then move on (because creating new stuff is fun!).
Hi @Josharias, I had the pleasure of playing with your survival module yesterday night for the first time. It was a lot of fun! I thought I'd give you some feedback before everything fades from my notoriously leaky memory.
1. The experience for the new user is a little overwhelming, especially crafting-wise which is what I mostly focused on. I think the game should somehow guide you through an expanding set of capabilities rather than present you quite early with all the things you can (eventually) do. I.e. items that require higher crafting levels than the one the player has would be best left out of the lists. That is, if I can't craft a particular tool yet because of a lack of skills (rather than materials) just don't show it to me yet.
2. Also, when I click on a craftable item icon, i.e. beside the inventory grid, I first get the list of things I can craft with it and then the list of items I need to craft it. For some reason I found this counter-intuitive as I was normally interested in how to craft the item and only once I had it I would become interested in what I can do with it.
3. The display of individual "recipes" is mostly intuitive. The one thing I didn't find intuitive was the recipes requiring tables and tools set in them. Somehow tables and tools should be in a different visual category compared to the other ingredients used as inputs. One way you could handle this is by using brackets: [table + hammer] + blueberries = smooshed blueberries. This sets the table and the tool somewhat apart from the rest of the recipe.
4. Still on recipes, I can see how having a time icon to document the processing time of a recipe was probably quite easy to implement. However, again time feels somewhat different from tools and ingredients, not quite in the same category. I wonder if the time icon could then be placed over the equal sign or even better over an arrow sign instead, to signify that the process of converting inputs to outputs takes X number of seconds. 5
5. Have you considered learning skills as a byproduct of doing things rather than starting a timer? I.e. swimming level might be a step function of the time I spend in the water. Crafting level might be related to the time I spend crafting AND the complexity of the item I'm crafting.
6. We were all moderately hungry and very thirsty. Definitely need some food and drinks in there!! =D
Thank you for the feedback @manu3d! Thank you for giving it a shake.
1. Agreed, the default should be to only show items you could craft if you had the materials.
2. Yeah, I have been procrastinating getting that hardcoded sort going. I agree that putting the how to craft first would be intuitive.
3. Good thought to visually distinguish the tools better. Not quite sure what could be easily done on that front. Any ideas?
4. Putting the time above the equals sign is an interesting idea. Not sure how easy it would be to implement though.
5. That is a direction a gameplay template could take quite easily. Included in the skills module is a mechanic where you can consume an item and gain a skill, doing some more extension to track other factors and award skills at intervals would also be possible. For JS, I have desire to see how far the timer skills can take me.
6. Yes, more food and drink. Agreed... I am still waiting for inspiration to create more food content.
On 3, well, I suggested adding brackets. Alternatively you could add a frame or a background to each icon and color-code them: a color for functional blocks (i.e. a table), a color for a tool and another color for the input materials. Now that I think about it relying on color only would generate accessibility issue and you might also want to vary the shape of the frame/background behind each icon. I.e. square for functional blocks, triangles for tools and circles for materials. Furthermore, I'd consider dropping the "plus" signs. They clutter the display of the recipe. A reasonably small amount of space between icons would be enough in my opinion: it's obvious that all the items on one side of the equal sign need to be present to generate the output on the other side.
On 4, isn't the equal sign ultimately an icon too? Just replace it with a different icon that has a clock above the equal sign. Then make it sensitive to a hovering mouse to provide the time required for the crafting of the recipe. That been said, I'm thinking an arrow rather than an equal sign might be more appropriate, as in "the inputs become the output" rather than "the inputs are the output".