Extension Ideas

Jon

  • *
  • Posts: 17524
With the arrival of extensions and the ability to define custom blocks that bundle up with those extensions, it opens up the field to a lot of possibilities.

For example...

- Dialog System (characters speaking text, like the one we have in 2.x) [Done by Justin, Irock]
- Web Views (for mobile) [Done by 3rd party]
- Gamepads [Done by 3rd party]
- Push Notifications [Done by 3rd party]
- Google Analytics [Done by 3rd party]
- Hooking to niche / custom networks. Will require the ability to inject code into the preloader [Done by 3rd party]
- Video [Done by 3rd party]

« Last Edit: February 11, 2014, 11:12:09 pm by Jon »

1MrPaul1

  • *
  • Posts: 1285
Extensions this is really rock! now it is much better than in 2.x versions....
This is very powerful! sadly I can't programming...
It will be cool if somebody will make extension-converter "(actor) as text" or  "create actor by name". very needed.
may be will be useful extension "create actor at layer (layer ID)" that will create actor directly on the needed layer.
also I often need to rearrange actors that placed on the same layer.
For example if actor1 is lower than actor2 it always must be in front of actor2.
We can see this feature in many(if not all) 2D games, I saw it even in sega, but I don't know how to make it in Stencyl. Without it games are very plane.


rob1221

  • *
  • Posts: 9473
For a single function, making an extension doesn't make much sense.  Just use getActorTypeByName(_Name).  For your "create actor at layer" suggestion, you don't even need code to do that.  Simply make a custom block that creates an actor, and then uses the block that sends an actor to a specified layer.

1MrPaul1

  • *
  • Posts: 1285
For a single function, making an extension doesn't make much sense.  Just use getActorTypeByName(_Name).  For your "create actor at layer" suggestion, you don't even need code to do that.  Simply make a custom block that creates an actor, and then uses the block that sends an actor to a specified layer.
Yes, i have this custom block already, but it always must to be attached somewhere, to actor or to scene, this is why it will be great to have this function as usually block that works always and everywhere without attaching additional behaviors... If it is possible of cause

rob1221

  • *
  • Posts: 9473
I guess you have a point there.  Fortunately making your own extension blocks for those is pretty easy.  For example "getActorTypeByName" might look like this (confirmed to work):
Code: [Select]

<block tag="Get-Actor-Type-By-Name" spec="Actor Type of Name %0" code="getActorTypeByName(~)" type="normal" color="blue" returns="actortype">
<fields>
<text order="0"></text>
</fields>
</block>

« Last Edit: October 04, 2012, 11:13:22 pm by rob1221 »

1MrPaul1

  • *
  • Posts: 1285
my extension even not shown in the list of extensions.... I don't know what to write in hx file

jihem

  • *
  • Posts: 161
I started to translate code about decision-making methods from one of my book (in french, sorry guys  ;) ) to stencyl : basic statistical combination, learning classifier system, search in trees (alpha-beta, recursive, optimistic,...), entropy algorithms, others metaheuristics methods... and graph basic mathematics (best way, cost of travel, ...).
while (!success=retry());

Jon

  • *
  • Posts: 17524
Pathfinding would definitely be useful if it were boiled down into some format that beginners could understand.

jihem

  • *
  • Posts: 161
If you have seen the things I made for the StencylForge, you know I use tileID (MapBot) to list the exits of a tile. I can add a cost to each tileID so I can compute the best way. When tile api was not release  I use a string to store the scene description : a letter for each type of tileID (ie. MapBot android sample on whizkids.fr). I think I will split my free time between this and the project I will do with James Prestwood. I will release this as cc-by so everybody can use it freely. We can play with attractive/repulsive fields with things like "follow", "catch", "escape" behaviors (very easy to do). Is there a place on the forge for 3.0 stuffs ?

« Last Edit: October 05, 2012, 03:44:41 am by jihem »
while (!success=retry());

rob1221

  • *
  • Posts: 9473
my extension even not shown in the list of extensions.... I don't know what to write in hx file
The code I posted goes in the XML file.  Just copy the test extension and modify it.

1MrPaul1

  • *
  • Posts: 1285
But there is two files. Blocks.xml and hx with name of extension. Code that you provide looks like code for blocks file or am I need to place similar code in both files?

rob1221

  • *
  • Posts: 9473
You don't need to modify the .hx file at all for this.  That's only for creating a new class.

Uni

  • Posts: 12
Pathfinding would definitely be useful if it were boiled down into some format that beginners could understand.

Just implemented pathfinding as a standard behavior using the tile extension you provided, no need for any haxe code. It's not lightning fast, but gets the job done. Once I'm done with the edge cases I'll be happy to share it. Basically you just create a collision layer containing only walkable tiles and specify the layer id.
-Eerik Kivistik

vikingpotato

  • Posts: 852
- Tapjoy
- Flurry
- A detailed system of setting Screen Zooming + Screen Bounds
- Changing zoom at Runtime
- All Box2d joints
- Frame-rate Locking
- Creating Shapes and assigning texture fills
- Slow Motion :D :D


Pardon me if some of these do not count as extensions..

Hectate

  • *
  • Posts: 4643
Perlin noise blocks. Apparently the current implementation in Haxe is only available in flash.
:
:
Patience is a Virtue,
But Haste is my Life.
Proud member of the League of Idiotic Stencylers; doing things in Stencyl that probably shouldn't be done.