Designing for a problem

5
Official Construct Team Post
Laura_D's avatar
Laura_D
  • 4 Sep, 2020
  • 438 words
  • ~2-3 mins
  • 1,123 visits
  • 0 favourites

This week's blog continues on a bit from last week – the story about the crafting thread in the forums? Well, that conversation continued on and more people pitched in their ideas for a crafting system and while it got me thinking.

While it's fantastic to try and think of a one-size-fits-all solution to a problem, it's often not as easy as it sounds. If you're working on a small game then often the same solution can be used, but when you start looking at more complicated projects you need to start thinking about designing for a specific problem.

It's all well and good saying, I want to create a crafting system, but when you start looking at what that means and how many different ways there are to solve that particular problem, the one-size-fits-all idea becomes a little less helpful. It can definitely offer a good starting point, but sometimes building a system from the ground up is better than trying to tweak an existing system to fit your needs.

In terms of crafting, generally you stick some items together to create something new. But dig deeper, and you get more questions – can multiple combinations make the same item, or can the same combination of items produce different results? How does the player come across recipes? By trial and error, or can they discover recipes as they progress through the game?

There are aspects of different crafting solutions that can be applied to each scenario, but it's a case of picking out which works best. The JSON file I'm currently using is great for storing all of my item data and recipes. But the way it's set up would mean that every recipe is available to craft with from the beginning – this is great for a trial and error style crafting system, but it doesn't allow for the player to unlock recipes. A dictionary-based approach for recipes like those used in some of the projects in that forum thread would probably work better for the ability to unlock recipes.

Personally, I would try and build a new tester project incorporating the dictionary approach with aspects of my existing system to try and see how it all fits together. That way, it helps my understanding of the mechanics, but it also allows me to make adjustments where necessary and work out if it truly fits my needs. It's a bit more effort to begin with but pays off in the long run.

Plus, it gives me nonsense to talk about in these blogs! And on that note, there's enough nonsense in this edition. Till next time!

Subscribe

Get emailed when there are new posts!

  • 5 Comments

  • Order by
Want to leave a comment? Login or Register an account!
    • [-] [+]
    • 2
    • 2 points
    • (1 child)
    [deleted]
      • [-] [+]
      • 2
      • Laura_D's avatar
      • Laura_D
      • Construct Team Community Manager
      • 2 points
      • (0 children)

      I did a ton of research into different games to try and make notes on their crafting systems (including things I liked and disliked about each - like only being able to make one item at a time in Animal Crossing!) But I never realised Super Paper Mario had crafting!

      I think I'm off to YouTube to take a look, thanks!

  • Hello there,

    I am an old user of construct 2. I was compiling and presenting my projects with cocoon. Even if the cocoon service was disabled, I continued to use the plugin.

    today one of my game got a warning from google play:

    Security alert

    Your application has an unsafe use of HostnameVerifier. Please refer to this article on the Google Help Center for details, including the recognized expiration date for fixing the vulnerability.

    Vulnerable classes:

    com.ludei.inapps.LudeiServerValidation$2$1

    Please fix the issue before: 11/26/2020

    Do they want changes to folders or version code? I would be very happy if someone guides me on what to do.

    • Consider posting your question in the Construct 2 forums rather than in this unrelated blog post.

      Cocoon support has been dropped years ago. You should modify your project and use the supported exports as indicated in the manual article and update your file in the store.