How far can you go using stencyl-blocks?

MichaelPel

  • *
  • Posts: 458
So I was reading an article about roguelike dungeon generation, and I'm interested in doing a little sideproject. It doesn't go into detail on how exactly everything works, and instead gives you the big picture of what must be done without going too much into detail. For now, the blocks have been enough for me to do anything I can think of. Are blocks enough to generate simple dungeons, and check if esch generated room has access to another (or else start over)? Sorryif this has been answered before

Thank you

stefan

  • *
  • Posts: 2263
As far as i know you can do 95รท of pretty much everthing with blocks. In the 2.5 years i have been using stencyl i have been doing crazy stuff haha. I even created a dialog system without realising there already was a extention, and it had almost the same functions.

SadiQ

  • Posts: 1795
You can do pretty much anything with just code blocks. The major downside to using only code blocks is managing complexity.
It's a lot easier to read and understand lines of code compared to actual blocks when the complexity is large, and it's also a lot faster to write code instead of dragging blocks.
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

stefan

  • *
  • Posts: 2263
Amen to managing complex behaviors using blocks. A huge improvement would be a search function where you can search for certain blocks. This is something i had in mind quite some time but i know what the dev team us currebtly up to and how busy they are.

SadiQ

  • Posts: 1795
You can right click on a block and you have the option to Find in Behaviors which helps slightly, but understanding really complex behaviors is still a skillful task. 
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

stefan

  • *
  • Posts: 2263
Ahh nice. But thats true again, and also the reason why I prefer making them from scratch rather then trying to modify exiating ones =)

oripessach

  • *
  • Posts: 259
There are two areas where blocks are driving me crazy, compared with writing code:

1. Managing moderately complex mathematical expressions is unwieldy. Even something simple like:

Code: [Select]
Math.sqrt((Math.pow((actor1.getX() - actor2.getX()), 2) + Math.pow((actor1.getY() - actor2.getY()), 2)))
ends up as a fairly wide blog of nested blocks. And if you want to change one of the plus or minus signs in the middle of an expression? Forget it. It's easier to just build the whole thing from scratch. In a traditional programming language, you just change the plus into a minus. If the values in your expression come from lists, things are even worse.

2. No local variables. This is a pretty big one, especially given point #1.  There's no straightforward way to store intermediate results of expressions in local variables to improve readability, forcing you to either add attributes (which may not be needed elsewhere and just clutter up your behavior) or resort to defining custom blocks, which is a time consuming process where some errors can't be corrected.


Luyren

  • *
  • Posts: 2783
2. No local variables. This is a pretty big one, especially given point #1.  There's no straightforward way to store intermediate results of expressions in local variables to improve readability, forcing you to either add attributes (which may not be needed elsewhere and just clutter up your behavior) or resort to defining custom blocks, which is a time consuming process where some errors can't be corrected.
Actor Values can be created on the fly, if that's any help.
My Stencyl resources are available here: https://luyren.itch.io/
Cutscenes, RPG Elements, Particles, Map System and many more.

SadiQ

  • Posts: 1795
2. No local variables.

I use a code block and declare the temp variable in there, but then I almost always end up using more and more code blocks, and then eventually I use more code blocks than actual blocks. That code block is a double edge sword :)
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

chrizt

  • Posts: 345
i think making something with pure block will be safer when stencyl make updates, or for some reason changing language again, block will be translated to new version of stencyl while code one might not work anymore on newer stencyl version, just my opinion, i tend to try avoid using any code on any game i made, also i have no knowledge about code too, if i were to use code, i will prefer other engine to do that
need help with behavior? game design? graphic design? just contact me
skype : christian.atin
email : christianatin27@gmail.com

SadiQ

  • Posts: 1795
i think making something with pure block will be safer when stencyl make updates, or for some reason changing language again, block will be translated to new version of stencyl while code one might not work anymore on newer stencyl version, just my opinion, i tend to try avoid using any code on any game i made, also i have no knowledge about code too, if i were to use code, i will prefer other engine to do that
I personally prefer the risk of having to modify my code if it fails to work after some update instead of having to work on an overly complicated set of behaviors.
But why would you use another engine to use code when Stencyl makes it so easy to use code to create a game?
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

Justin

  • *
  • Posts: 4712
Quote
Amen to managing complex behaviors using blocks. A huge improvement would be a search function where you can search for certain blocks.
Better search and even a find+replace engine for blocks are things that I've been planning for a while. The simple (and unfinished) "find block in behaviors" feature was really simple to program so that's all we have for now, unfortunately.

Quote
2. No local variables. This is a pretty big one, especially given point #1.  There's no straightforward way to store intermediate results of expressions in local variables to improve readability, forcing you to either add attributes (which may not be needed elsewhere and just clutter up your behavior) or resort to defining custom blocks, which is a time consuming process where some errors can't be corrected.

These are both very soon to being completed (maybe within a month?). I just spent about a week recently putting in a lot of the framework to make these two feature easier to implement. Look forward to it. :)
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

chrizt

  • Posts: 345
i think making something with pure block will be safer when stencyl make updates, or for some reason changing language again, block will be translated to new version of stencyl while code one might not work anymore on newer stencyl version, just my opinion, i tend to try avoid using any code on any game i made, also i have no knowledge about code too, if i were to use code, i will prefer other engine to do that

because i find its a bit hard to find documentation about stencyl, even the stencylpedia is lacking informations of what i am looking for sometimes,  i am not saying i dont like stencyl, i have work on like 10++ games for client using stencyl, i really wish if stencyl can support more social media feature and things which people usually looking for, i often cant get a job just because it require "facebook sharing" or something like that, i dont blame stencyl, its totally my lack of skill to make extension on my own. also minor bugs that i reported never get fixed or i think my thread never get any reply to begin with, for example: if i create a new list attribute and use it, i will get an error. but if i close and save the game first then reopen, i can use the newly created list attribute. its quite annoying to do that everytime i need to create a new list.
maybe it only happen to me, i am not sure
need help with behavior? game design? graphic design? just contact me
skype : christian.atin
email : christianatin27@gmail.com

LIBERADO

  • *
  • Posts: 2720
And if you want to change one of the plus or minus signs in the middle of an expression? Forget it. It's easier to just build the whole thing from scratch. In a traditional programming language, you just change the plus into a minus.
Yes, it is very unwieldy and annoying, really. I have often thought about something like this:


« Last Edit: September 10, 2015, 12:51:38 pm by LIBERADO »
I'm spanish, excuse me for my bad English.
I'm not a private teacher. Please, post your questions in the public forum.

MichaelPel

  • *
  • Posts: 458
yes please that would be perfect