2d games, possible?

You mean like this kinda game?

Not sure about the movement, but I think for this particular scenario working in a 3D environment with 2D sprites would be easier than faking 3D in 2D, but maybe I’m bias because I have always been doing stuff in 3D…

No, that is isometric.

I haven’t tried it myself, but I feel like you can make a 2D game by sticking an image to the canvas and moving it.

1 Like

This is a “2D” game in which the various sprites are of slightly different size to convey a sense of depth – and of course how they’re stacked one against the other. (The camera is 90º to the scene and will remain there.) This sort of thing is “easy peasy” to do with a 2D-oriented game engine: it’s what they’re built for.

Armory, of course, would enable you to “break outside the 90º camera box,” and also build the characters as genuinely 3D. It might be “a street-fight scene,” as before, but it would have an entirely new – ahhh… – “dimension.” :slight_smile:

Yeah, but having fake depth seems to me more complicated to work with than having actual depth, take the collision for example, in a game like the picture I posted I can think of a few quick ways to have collision with “depth” so they have a radius, but with 2d I think that gets trickier to implement, at least from my side, but that probably, as I mentioned before, is because I attack the issue with a 3d mindset :sweat_smile:

import kha.Image;
import kha.FastFloat;
    
class YourSprite
{
    public var image:Image;
    public var sx:FastFloat;
    public var sy:FastFloat;
    public var sw:FastFloat;
    public var sh:FastFloat;
    public var dx:FastFloat;
    public var dy:FastFloat;
    public var dw:FastFloat;
    public var dh:FastFloat;
    
    public function draw(g:kha.graphics2.Graphics)
    {
        g.drawScaledSubImage(image, sx, sy, sw, sh, dx, dy, dw, dh);
    }
}

class YourSomeSystem extends iron.Trait
{
    public var sprites:Array<YourSprite>;
    
    public function new()
    {
        super();
        
        notifyOnRender2D(onRender2D);
    }
        
    function onRender2D(g:kha.graphics2.Graphics)
    {
        for (s in sprites)
            s.draw(g);
    }
}

sx, sy, sw, sh - texture space.
dx, dy, dw, dh - screen space.
Check zui sources for more info.

hey everyone,

yes, it is possible to make a successful 2d game, but It is typically the platform for budding game developers as they are easier to design even with limited resources.

thanks and regards… Shareit Vidmate APK