Skip to main content

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password
Register
  • Home
  • Browse
    • 2D Art
    • 3D Art
    • Concept Art
    • Textures
    • Music
    • Sound Effects
    • Documents
    • Featured Tutorials
  • Submit Art
  • Collect
    • My Collections
    • Art Collections
  • Forums
  • FAQ
  • Leaderboards
    • All Time
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
    • Weekly
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
  • ❤ Donate
FLARE [ARCHIVED]

Modding/Mapping for FLARE?

MCMic
Friday, February 17, 2012 - 05:26
MCMic's picture

Hello!

I love the game, really, I played it for the first time recently, and it was awesome.

I finished the 3 quests, I want more!

 

So I was wondering how does mapping/modding for FLARE works?

I just found out about this page : https://github.com/clintbellanger/flare/wiki/Mapmaking

But it claims to be outdated.

That kind of things should be keep up to date and linked from the main website.

 

But before even thinking of doing new maps, the simplest way to extend flare would be to add quests to the existing maps and npcs. Is quest writing supposed to be done directly in the txt files or is there some kind of interface for this kind of things?

  • Log in or register to post comments
Clint Bellanger
joined 15 years 9 months ago
Friday, February 17, 2012 - 06:38
Clint Bellanger's picture

I use Tiled to edit maps. The quest dialog files are edited in any plain-text editor.

Basically I need to carve out some time and create tutorials for all of this. Otherwise you can try looking at existing files to see how they work. Feel free to ask me any questions about what you see.

  • Log in or register to post comments
MCMic
joined 14 years 10 months ago
Saturday, February 18, 2012 - 03:37
MCMic's picture

Yeah, I managed to add a quest by doing a new mod.

But in order to add a character on a frontier map, I had to copy the whole map. It would be great if map and enemies on it would be on separate files.

My quest is really small, I just added a necromancer hard to beat that the first npc ask us to kill if we come back to see him after averguard. Please look at http://mcmic.haxx.es/necromancy.tar.gz

  • Log in or register to post comments
pennomi
joined 14 years 8 months ago
Thursday, February 23, 2012 - 12:13
pennomi's picture

Congratulations, you've made a good first step towards modding FLARE! I just played through your new quest. It worked great for me, though that graveyard could be a serious deathtrap for unsuspecting 1st-level players on their way to the goblin encampment.

  • Log in or register to post comments
makrohn
joined 13 years 2 months ago
Thursday, May 3, 2012 - 17:41
makrohn's picture

Blergabeeble.  I have a VERY small (20x20) test map going, and I can get the chest to open it if I walk over it.  I corrected the collision layer, but now I can't open the chest!  The hotspot attribute appears to be necessary, but I can't for the life of me figure out what it's calling for.

I agree with McMic that it'd be nice not to have to copy the whole map file - I also had to just in order to create the teleport point.

Also, for anyone following in my footsteps, the documentation at https://github.com/clintbellanger/flare/wiki/Mapmaking appears to be outdated in the following way:

 

[layer] id=background format=dec data=

 

should be:

 

[layer] type=background data=

 

  • Log in or register to post comments
Clint Bellanger
joined 15 years 9 months ago
Thursday, May 3, 2012 - 17:48
Clint Bellanger's picture

makrohn, there are two ways to make chest events work.

1. Make it so the chest opens when you walk next to it. Instead of the event location being the 1x1 tile the chest is on, make it the 3x3 area surrounding the chest.

2. Hotspots are screen offsets and width/height for the mouse-clickable area to activate an event. If you're using a regular chest I suggest taking the hotspot info from an existing chest on a current map.

  • Log in or register to post comments
makrohn
joined 13 years 2 months ago
Thursday, May 3, 2012 - 22:09
makrohn's picture

Is there a defeat_unset_status?  I'm trying a classic "kill 3 goblins" quest, and I've gotten as far as kill the first one to get defeat_status=1_dead_gob.  I somehow need, however, a prerequisite requires_status=kill_gobs, and then further down requires_status=1_dead_gob, defeat_status=2_dead_gobs, defeat_unset_status=1_dead_gob, so on, and so forth.  Unless you already have some sort of incremental tracker built into the engine?

  • Log in or register to post comments
Clint Bellanger
joined 15 years 9 months ago
Thursday, May 3, 2012 - 23:43
Clint Bellanger's picture

There is no defeat_unset_status, though if there's enough case for one I'll add it. Quest counters are something I can add later, and make the most sense for this kind of quest.

Until then, perhaps do a more interesting quest :)

  • Log in or register to post comments
makrohn
joined 13 years 2 months ago
Thursday, May 3, 2012 - 23:52
makrohn's picture

Ahaha.  Good answer.

  • Log in or register to post comments
odino4ka
joined 13 years 2 weeks ago
Monday, June 18, 2012 - 00:50

small path for tiled-qt-0.8.1/src/plugins/flare/flareplugin.cpp

 

change from:

        if (ObjectGroup *group = layer->asObjectGroup()) {
            foreach (const MapObject *o, group->objects()) {
                if (o->type().isEmpty()) {
                    out << "[" << group->name() << "]\n";

                    // display object name as comment
                    if (o->name().isEmpty()) {
                        out << "# " << o->name() << "\n";
                    }

                    out << "type=" << o->type() << "\n";
                    out << "location=" << o->x() << "," << o->y();
                    out << "," << o->width() << "," << o->height() << "\n";

                    // write all properties for this object
                    Properties::const_iterator it = o->properties().constBegin();
                    Properties::const_iterator it_end = o->properties().constEnd();
                    for (; it != it_end; ++it) {
                        out << it.key() << "=" << it.value() << "\n";
                    }
                    out << "\n";
                }
            }

to:

          if (ObjectGroup *group = layer->asObjectGroup()) {
            foreach (const MapObject *o, group->objects()) {
                if (!o->type().isEmpty()) { // !
                    out << "[" << group->name() << "]\n";

                    // display object name as comment
                    if (!o->name().isEmpty()) {
                        out << "# " << o->name() << "\n";
                    }

                    out << "type=" << o->type() << "\n";
                    out << "location=" << o->x() << "," << o->y();

                    if(group->name()=="enemy"){
                       out << "\n";
                    } else {
                    out << "," << o->width() << "," << o->height() << "\n";
                    }

                    // write all properties for this object
                    Properties::const_iterator it = o->properties().constBegin();
                    Properties::const_iterator it_end = o->properties().constEnd();
                    for (; it != it_end; ++it) {
                        out << it.key() << "=" << it.value() << "\n";
                    }
                    out << "\n";
                }
            }
        }

sample map: http://www.ex.ua/view_storage/759173035633

 

С Уважением Ковальчук Роман.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 9 months ago
Monday, June 18, 2012 - 02:41
Clint Bellanger's picture

odino4ka,

Is your patch to avoid writing width,height for enemies?

The data isn't necessary, but the Flare engine will ignore those values for Enemy blocks. This is nice because the Flare Tiled plugin stays very simple.

Unless there's a situation I'm not thinking of that may cause issues?

  • Log in or register to post comments
odino4ka
joined 13 years 2 weeks ago
Monday, June 18, 2012 - 03:03

This patch allows you to create a map without using text editors.
In your manual for the creation of maps, monsters, and adds a group of monsters in your hand, after the patch, it can be done in the editor Tiled, which for many will be easier. try, then it will be possible to arrange the editor monsters or NPC, or event, or teleport, and then do export and play.

P.S. Apologies for machine translation, I do not understand English.

 

С Уважением Ковальчук Роман.

  • Log in or register to post comments