Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Morgana retro Dungeon Crawler (uses Tilengine)
#44
Hi again megamarc and everyone, I'm happy to report finally some progress  Biggrin



I made the Swords Tarot Wall as a placeholder but I'm liking it so much that I would like to keep it, what do you think on this?
I made the Tarot Wall itself from here: https://theteaguns.itch.io/flat-shaded-low-poly-swords
The Tarot Slot FX is a modified pixel effect bought from here: https://henrysoftware.itch.io/pixel-effects
Some more credits inside the youtube hidden link. The upscailing and detailing of the Tarot Cards is made by me from this source: https://pixeljoint.com/forum/forum_posts.asp?TID=26827. But of course Mrmo Tarius is the main artist. Check the detailed credits inside the youtube hidden link video description.

Quote:You don't have to justify the pace of work on your project. I understand that it is a personal initiative that must find space between job, family, emotional state and other things. I maintain Tilengine as a personal project in my free time too, so I understand the situation. But I see you're putting your heart into it, cheer up and I hope you can push it until the end whatever the time it takes! It looks polished and promising, really. That friend of mine quiclky recognised influences from A500 Elvira game and Lovecraft theme. I'm glad to tell him you're still working on it.

Thank you very much megamarc  Wink I'm glad you understand the situation.

Quote:Regarding language selection, often the best tool to do something is the one you're more expert at. I'm good at C, but not at C++, especially to the newer iterations. I understand that you choose it having such strong background, and historycally it has been used a lot in videogame development.

I'm feel a bit embarrassed now about citing "strong background" haha I regret this compared with Scott Meyers Effective C++ and his Effective C++, I'm a speck of dust to his side! I felt like reading chinese when reading his book... (https://www.aristeia.com/ https://www.amazon.es/Effective-Specific...0321334876)

[Image: a.jpg]

He even has an option dedicated to him and his book on G++!!!

[Image: esborrar-till.png]

Quote:I'd like you don't get stuck with development. Sometimes there are bugs in Tilengine too. If you find something that doesn't work as expected, let me know, as for me is easy to release builds with enhanced tracing and debugging information. Even if the cause is outside Tilengine -as in this case-, those extra traces can help to pinpoint the source. So plase ask for advice when you find something strange.

Thanks, I have a feature request for Tilengine that would help me greatly. Context: You know that with C++ I switched to TLN_GetAvailableSprite() for getting sprite id's on the fly instead of having fixed sprite id's with C modular version of the project, thanks to your advice.

Well, I suggest adding TLN_GetLastAvailableSprite() and TLN_GetNextAvailableSprite(int sprite) and TLN_GetPreviousAvailableSprite(int sprite).

When dropping an item on to the floor I used to redraw the entire viewport. This works well, but when dropping items next to a Tarot Wall it resets the Tarot Wall animation, causing a minor annoyance.

I tried to draw_with_priority:

Code:
void Sprite::draw(){
    this->get_id(); // VERY IMPORTANT!!!
}

void Sprite::draw_with_priority(){
    this->get_id(); // VERY IMPORTANT!!!

    // Draw over everything else:
    TLN_EnableSpriteFlag(sprite,FLAG_PRIORITY,true);
}

But the Sprite keeps getting a lower sprite id (5) and it's hidden beneath other elements, despite the FLAG_PRIORITY. It would be better to get a high id.

The first method would check the last declared sprite in the engine, for instance:

Code:
TLN_Init(Screen::width,Screen::height,10,1000,50);

Last available sprite is 1000, or 999 (I don't know how you implemented it) and then return that value. 

I still use fixed sprite for mouse, I use sprite 999:

Code:
class Mouse{

    public:

    // Fields
    TLN_Spriteset spriteset;
    int sprite=999; // DON'T TOUCH!
    int x=0;
    int y=0;
    bool mouse_up=false;
    bool mouse_down=false;
    shared_ptr<Item> item_on_mouse;
    shared_ptr<Tarot_Card> stored_tarot_card;
    ...

To draw over everything else always. And I as well double check it with FLAG_PRIORITY:

Code:
void Mouse::set_cursor(){
     TLN_SetLoadPath("./assets/gui");
     spriteset=TLN_LoadSpriteset("cursor");
     TLN_SetSpriteSet(sprite,spriteset);
     x=y=0;
     TLN_SetSpritePosition(sprite,x,y);
     SDL_ShowCursor(0);

     // Draw over everything else:
     TLN_EnableSpriteFlag(sprite,FLAG_PRIORITY,true);
}

I would like to GetPreviousAvailableSprite from (int mouse_sprite) (999) so it would return 998. Hmm... But I see the problem now, dropping another object would get 997 sprite id and would draw UNDER the first item Sad

So maybe I should give fresh dropped items fixed id's again from 900 to up, just for dropping. When player walks or rotates sprites would get normal sane id's again.

What do you think of this solution? Having dropped (almost all) fixed id's seems like a regression and a "chapuza" to me :p Please give me your opinion on this.


Quote:I don't have a facebook account so I can't check the link, but at least it asks me to login now so I guess it's working again -it complained that it couldn't find thre resource before-.

For static analysis I use built-in Visual Studio 2017 analysis, and cppcheck. Each one gives different results so I regularly check with both. I haven't used clang one. I used Valgrind once some time ago for a linux build that was leaking memory, so I have little experience with it. What I remember is that it generated a sluggish slow build but helped find the leak at runtime. It's quite low-level tool.

I haven't seen Everest but I'll check, thanks for the recommendation :-)

Keep the good work, go at your own pace without compromising your personal life, and let me know any progress or help you may need!

Thanks again megamarc. Check out the discussion on RPGCodex, there are some design concerns that have been made visible to me and the concerns about that dawned on me. I'm struggling thinking with the direction of the design concerns made public there.

It's impossible to please everyone, and I must think carefully what to do.

Combat in particular seems to be of particular interest of every RPG player. I'm not fond of it, but of course I'll will implement it as it is an expected feature by everyone.
Reply


Messages In This Thread
WOW!!! - by PerspexSphinx - 11-19-2019, 07:39 AM
Morgana game (uses Tilengine) - by JaumeAlcazo - 01-02-2020, 04:23 AM
RE: Morgana retro Dungeon Crawler (uses Tilengine) - by JaumeAlcazo - 10-25-2021, 07:01 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)