Implementation Josharias Survival

Dan Up!

New Member
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?
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
I would definitely be interested in some help, @Dan Up!! I would gladly accept any PRs or ideas or feedback on any of the stuff in JoshariasSurvival.

I have not really done a solid pass at balance/playability of a lot of this, I would not mind some help getting the crafting balanced.

Also, I often fall short in the aesthetics department. I would not mind some inspiration or artwork in that area.
 

Dan Up!

New Member
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
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
@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:
  1. It does not separate data and code at all (the logic is in the component and not in a system)
  2. 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?
 

Dan Up!

New Member
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?
 

Anthodeus

Member
Contributor
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 :fluttersquee:. 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 :twilightblush: )

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 :pinkiehappy:. (and fyi I'm not particularly keen on multiblock structures :p ). Still, what do you think?
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
"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
 

Anthodeus

Member
Contributor
Hey Josh,

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. :fluttersquee:
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
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.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Super bonus for maybe integrating the computer related modules in late-stage JS? Those modules really need to get crammed into a template so they're accessible and more maintained :)

For instance there is a fluid integration module - computers controlling fluid levels in tanks and pipes for other JS tech?

An unrelated suggestion would be checking out the pending additions for Light & Shadow, which would go well with your GSOC pick (combat)

Or maybe checking on the WeatherManager so it could get plugged into JS or other stuff?
 

Anthodeus

Member
Contributor
@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 :raritydespair: ) , 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 :twilightsmile:
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 :fluttersquee:
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
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!).
 

manu3d

Active Member
Contributor
Architecture
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

Ultimately, thank you so much for the module!!
 

Josharias

Conjurer of Grimoires
Contributor
World
SpecOps
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.
 

manu3d

Active Member
Contributor
Architecture
  • 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".
  • On 5, fair enough.
  • On 6, why the lack of inspiration?
 
Top