<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>Objects — Orx: Portable Game Engine</title>
      <link>https://forum.orx-project.org/index.php?p=/</link>
      <pubDate>Wed, 08 Apr 2026 21:21:51 +0000</pubDate>
          <description>Objects — Orx: Portable Game Engine</description>
    <language>en</language>
    <atom:link href="https://forum.orx-project.org/index.php?p=/discussions/tagged/objects/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>how to make RPG Maker?</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9118/how-to-make-rpg-maker</link>
        <pubDate>Thu, 29 Dec 2022 14:16:51 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>hurble</dc:creator>
        <guid isPermaLink="false">9118@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>hello,</p>

<p>am new here,<br />
how do I make an visual editor to make it similiar to rpg maker GUI<br />
or at least a rpg game on here?</p>
]]>
        </description>
    </item>
    <item>
        <title>orxSolver</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9084/orxsolver</link>
        <pubDate>Wed, 19 Feb 2020 02:42:24 +0000</pubDate>
        <category>Projects - Tools</category>
        <dc:creator>krypto42</dc:creator>
        <guid isPermaLink="false">9084@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>It's been a long time since my first (and last) thread here. I've gotten to a point where I'm trying to work on my game again, an RPG. I needed to figure out a way to make a list of attributes for characters that would be easily configurable, so I thought of creating a solver DSL for defining the relationships between attributes, in any arbitrary order so long as no loops are detected, which could then be attached to arbitrary orxObjects to automatically generate any dependent attributes on that object. The reasoning for this is to have an easy repository for all equations used in the game, which could be reused not just for stats but also damage calculations, or anything else really.</p>

<p>An example using hp, where equipped_list and effects_list are keys on the object that are just lists of other sections that currently affect the character:</p>

<pre><code>[StatSolver]
Equations  = StatEquations
Defaults   = StatDefaults
Update     = change

[StatDefaults]
base_hp      = 10
base_mult_hp = 1
damage_hp    = 0

[StatEquations]
max_hp                = Clamp(0, max_hp_cap, (base_hp * base_mult_hp) + (equipment_mod_hp * equipment_mod_mult_hp))
total_hp              = max_hp + (temporary_mod_hp * temporary_mod_mult_hp) - damage_hp
max_hp_cap            = infinity
equipment_mod_hp      = Sum(equipped_list, equip_modifier_hp, default: 0)
equipment_mod_mult_hp = Sum(equipped_list, equip_modifier_mult_hp, default: 0)
temporary_mod_hp      = Sum(effects_list, temp_modifier_hp, default: 0)
temporary_mod_mult_hp = Sum(effects_list, temp_modifier_mult_hp, default: 0)
</code></pre>

<p>This would, given any orx object, generate the attributes base_hp, base_mult_hp, damage_hp, total_hp, max_hp_cap, equipment_mod_hp, equipment_mod_mult_hp, temporary_mod_hp, and temporary_mod_mult_hp on that object.</p>

<p>I've currently got a parser and topological sort working, I've started on setting up a VM for it, but I noticed that the orxConfig API isn't thread safe, which I would need if I wanted to solve for multiple characters in parallel if the equations are referencing lists of config sections, but not if they're just referencing other variables on the object itself, since that can be saved to a hashtable beforehand. The only solutions I can think of so far are either manually doing mutex locks when reading the config (not ideal), duplicating the code from the config module to read values from another section without modifying the config section stack (also not ideal), or just dealing with solving for one object at a time (which limits how much it can be used). Just wondering if there's any tips on this.</p>
]]>
        </description>
    </item>
    <item>
        <title>Timeline Track Objects doing the same function?</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9077/timeline-track-objects-doing-the-same-function</link>
        <pubDate>Mon, 30 Dec 2019 08:03:05 +0000</pubDate>
        <category>Help request</category>
        <dc:creator>Super_Michael_05</dc:creator>
        <guid isPermaLink="false">9077@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi, I have a problem when I run my code. I want to have many enemy spiders that move but only the first one moves. If someone could help me that would be appreciated.<br />
Here is some of my Config code:</p>

<pre><code>[Scene]
TrackList          = enemyMakerTrack

[enemyMakerTrack]
1                     = Object.Create spiderObject
Loop                = True

[spiderObject]
Graphic            = spiderGraphic
Scale                = 0.2
Position            = (800, 275, 0)
AnimationSet    = spiderAnimationSet
Body                 = spiderBody

[spiderGraphic]
Texture         = spider_full.png
TextureOrigin   = (0, 0, 0)  
TextureSize     = (0, 0, 0)
Pivot           = center

[spiderAnimationSet]
Texture         = spider_full.png
FrameSize       = (1024, 1024, 0)
Pivot           = center
spiderWalkRight  = 5
spiderWalkLeft   = 5

StartAnim       = spiderWalkLeft

spiderWalkLeft-&gt; = spiderWalkLeft # .spiderWalkRight
spiderWalkRight-&gt; = spiderWalkRight # .spiderWalkLeft

[spiderWalkLeft]
KeyDuration     = 0.1
TextureOrigin   = (0, 1024, 0)

[spiderWalkRight]
KeyDuration     = 0.1
TextureOrigin   = (0, 0, 0)

[spiderBody]
Dynamic         = true
PartList        = spiderBodyPart
LinearDamping   = 5

[spiderBodyPart]
Type            = box
Solid           = true
SelfFlags       = enemy
CheckMask       = platforms # bullet
BottomRight     = (225, 100, 0)
TopLeft         = (-200, -175, 0)
</code></pre>

<p>and here is some of my c++ code:</p>

<pre><code>#include &quot;orx.h&quot;

orxOBJECT* spider;

void spiderMovement()
{
    orxVECTOR spiderLeftSpeed = { -3, 0, 0 };
    orxVECTOR spiderRightSpeed = { 3, 0, 0 };

    if (dead == 0)
    {
        orxObject_ApplyImpulse(spider, &amp;spiderLeftSpeed, orxNULL);
        orxObject_SetTargetAnim(spider, &quot;spiderWalkLeft&quot;);
    }
}

orxSTATUS orxFASTCALL Init()
{
     orxObject_CreateFromConfig(&quot;Scene&quot;);

     spider = orxObject_CreateFromConfig(&quot;spiderObject&quot;);
}

orxSTATUS orxFASTCALL Run()
{
      spiderMovement();
}
</code></pre>

<p>This is not the whole code it is just things that are regarding to the problem.<br />
I can post the whole code if you like.</p>
]]>
        </description>
    </item>
    <item>
        <title>Child Objects with Associated Bodies</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9064/child-objects-with-associated-bodies</link>
        <pubDate>Fri, 15 Nov 2019 20:53:49 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>zgcrowno</dc:creator>
        <guid isPermaLink="false">9064@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi, all. I'm currently working on a project which involves a number of "Ship" objects which all share a large number of behaviors with one another. Each ship has four associated spawners (guns) which spawn different projectiles in similar, but not identical ways from ship to ship. I've encountered some odd behavior when trying to implement the latest projectile, however, and was hoping for a little elucidation on the matter.</p>

<p>Most of the projectiles spawned by the ships' spawners are to be completely detached from their respective spawners upon spawning, but one in particular is meant to be parented by its spawner, and move along with it (this behavior might seem a little odd, but I'm wishing to implement it this way so as to leverage the base Ship class' behaviors for all of its descendents). Unfortunately, when parenting the spawned projectile to its spawner, the projectile doesn't move along with it at a 1:1 ratio, but rather follows it incredibly slowly, in effect not being attached to its parent in any meaningful way at all. I've found that the forum threads, <a rel="nofollow" href="https://forum.orx-project.org/discussion/3837/creating-a-laser/p1" title="Creating a Laser">Creating a Laser</a> and <a rel="nofollow" href="https://forum.orx-project.org/discussion/comment/3497#Comment_3497" title="UseSelfAsParent Makes Spawner Move Twice as Fast">UseSelfAsParent Makes Spawner Move Twice as Fast</a> seem to address the same problem, and removing the projectile's Body attribute <em>does</em> "resolve" the issue, but the fact remains that this projectile <em>must</em> have a Body in order to collide with its necessary colliders. I attempted to circumvent the issue by following the <a rel="nofollow" href="https://wiki.orx-project.org/en/tutorials/passing_objects?s[]=child&amp;s[]=body#discussion__section" title="Passing Items from one Object to Another">Passing Items from one Object to Another</a> tutorial, and explicitly setting the parent of spawned objects, but this results in the same behavior.</p>

<p>Is there some trick to parenting objects with Body attributes that I'm unaware of, or do I really need to dispense with my universal spawner behavior and incorporate these projectiles as body parts of their associated ships? Thanks in advance.</p>
]]>
        </description>
    </item>
    <item>
        <title>Dynamic Casting of Config Models at Runtime</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9055/dynamic-casting-of-config-models-at-runtime</link>
        <pubDate>Thu, 31 Oct 2019 17:44:20 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>zgcrowno</dc:creator>
        <guid isPermaLink="false">9055@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hey all, so basically, what I'm trying to do is this: I have a ScrollObject descendent called "Orb" which may be instantiated by creating a ScrollObject from either of two config models (named "OrbP1" and "OrbP2", respectively). Let's say I've already created an instance of "OrbP1", but at runtime, want to make that an instance of "OrbP2" instead, meaning that it now has the graphic, body, etc. associated with an "OrbP2" instead of an "OrbP1". Does anyone have any good advice as to how to go about this? Thanks so much.</p>
]]>
        </description>
    </item>
    <item>
        <title>New tutorials: Relative Position and Scale for Objects and Spawners</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9032/new-tutorials-relative-position-and-scale-for-objects-and-spawners</link>
        <pubDate>Fri, 14 Jun 2019 02:21:10 +0000</pubDate>
        <category>Website</category>
        <dc:creator>sausage</dc:creator>
        <guid isPermaLink="false">9032@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Objects and Spawned objects can both operate within a Parent's relative position and scale. These two tutorials show you how easy it is:</p>

<ul>
<li><a rel="nofollow" href="http://orx-project.org/wiki/en/tutorials/useparentspace" title="UseParentSpace for Relative Object Positioning and Scaling">UseParentSpace for Relative Object Positioning and Scaling</a></li>
<li><a rel="nofollow" href="http://orx-project.org/wiki/en/tutorials/useparentspace_for_spawners" title="UseParentSpace for Spawners using Relative Position and Scale">UseParentSpace for Spawners using Relative Position and Scale</a></li>
</ul>
]]>
        </description>
    </item>
   <language>en</language>
   </channel>
</rss>
