flareteam / flare-game

Fantasy action RPG using the FLARE engine
http://flarerpg.org/
Other
1.1k stars 235 forks source link

New game models and question about loot system #819

Closed Danimal696 closed 4 years ago

Danimal696 commented 4 years ago

Hi, i just wanted to let you know ill release very soon a pack with new npcs, all animated, which i hope will be of use to the project: https://opengameart.org/forumtopic/new-enemy-versions-for-flare#comment-84378

Also, after checking the loot system i saw its way too rigid, every single item must be declared beforehand, be it magical or not; is there any plan to make it more diablo-like? where a dropped magical item is created on the go with a number of adjectives depending on rarity.

dorkster commented 4 years ago

The NPCs look great and will be useful with the town / indoor tilesets.

As for the loot system, there's no plans to change it. I think the argument against a Diablo-like system was that tacking on adjectives to the item names didn't play well with several languages. But thinking about it now, would it not be reasonable to display the adjectives individually and not as part of the item name? Let's take the Warlord Plate Boots from flare-game as an example:

# Current style: Adjective in name
Warlord Plate Boots
+12% Poise

# Proposed style: Individual adjectives
Plate Boots
Style: Warlord
  +X% Poise

# Pros and cons of the proposed style:
+ Much less items to maintain
+ Less strings to localize
+ Easier to introduce new items
- Localized strings need to be updated. But this is less work as mentioned above.
- Can't tell what an item's bonuses might be from its name when it's on the ground.
- Extra lines of text in the tooltip might make things a bit cluttered.

This is, of course, just brainstorming. For the meantime, we'll be sticking with the current method.

Danimal696 commented 4 years ago

Well, getting all short of magical loot is the sauce of every diablo clon, its a vice to see what shiny just got dropped by a monster. Randomizer is the way to go in my opinion, but i can wait no problem for when its done; ill just make a bunch of magic items combinations to create a pseudo impression of ramdon loot for my mod.

Danimal696 commented 4 years ago

Dorkster i need some help, how do i create/remove an npc from a map (a neutral talker) or move him to some other point of the map? Im trying to create one by using "spawn" in events, but it doesnt work.

dorkster commented 4 years ago

NPCs are static and are only created when loading a map. However, you might be able to work around this by using requires_status and requires_not_status to enable/disable the NPC from loading in specific spots.

Danimal696 commented 4 years ago

Thanks for your help Dorkster, im working my way around that limitation; if you dont mind i have another question, could i change the name of character attributes? Ex: Mind -> Intelligence I tried but failed, are they hardcoded?

dorkster commented 4 years ago

Do you mean the Physical, Mental, Offense, Defense stats? If so, you can definitely change them (and add new ones) in the engine/primary_stats.txt file. Here's what the default primary stats file looks like:

[stat]
id=physical
name=Physical

[stat]
id=mental
name=Mental

[stat]
id=offense
name=Offense

[stat]
id=defense
name=Defense
Danimal696 commented 4 years ago

Hello Dorkster, i have another question if you dont mind, im rigth at the point where i need to decide something hard; you see, i have based my mod over the no-name-mod which needs the alpha mod. Its a good idea or should i try for it to only depend on fantasy core? i would like to include all nice things from the alpha and noname + your alchemy; its possible at all? i get i would have to copy and merge all powers/item/... text files. But since its a lot of work and im not sure it can be done. Whats your opinion? should i stay on my modified no-name or go for full merger?

dorkster commented 4 years ago

I'd actually argue against merging the mods for a few reasons:

Danimal696 commented 4 years ago

Thanks, ill conserve my setup; i released the npc pack, you can get it from here: https://opengameart.org/content/flare-npcs-animated-pack-1

Danimal696 commented 4 years ago

Hello again, its possible to lock an item spot in the inventory rigth after character creation? I want create a beast-person option, replace the default head and put a beast one that would make the character unable to use helmets. Is there a way to do so?

dorkster commented 4 years ago

The only current way to lock an item slot is with another item. I think you make the case for being able to do this on a per-class basis. I've added this feature to the 1.12 milestone.

Danimal696 commented 4 years ago

Ok, i guess class or species is more of less the same; on the same note, could a pasive skill permanently lock one of the item slots?

dorkster commented 4 years ago

Letting skills lock slots might be the way to go. That way, they can be given to classes from the get-go or applied later in the game.

Danimal696 commented 4 years ago

i just tested it, i changed the power a pasive skill calls but it doesnt lock the item slot. I guess its something else for the future

Danimal696 commented 4 years ago

Sorry to be asking again so soon, but im going crazy over something. I have a city map with lots of new imported spritesheets, i have generated a new"tileset_grassland" for it and replaced the old one or else everything is shown as black. Now im trying to make a new map, really simple, just 8x8 of grass; but this map is showing as only black (i put an npc to test visibility in it), i guessed the problem was my new tileset definition so i restored the default one, it fixed the problem but broke the city map again. So i renamed the definition for the city map to "city_tileset_grassland" and directed at it from the city map .txt and the other new grassland map to its default version.

Now both maps work ingame, but i would like to merge both definitions and add more things in the future, is it possible? i cant find the way by myself.

dorkster commented 4 years ago

It sounds like the tile IDs in "city_tileset_grassland" don't match those in "tileset_grassland". You can test this by creating two small identical maps with each tileset using only the grassland tiles. The layer data in the two output maps should be the same.

If it's not, the tileset information in the TMX file needs to be reordered. I don't think you can do this via Tiled's GUI, so you'll have to edit the TMX file in a text editor. If you search the file for "firstgid", you should find the tilesets. Here is what a map using just the grassland looks like:

 <tileset firstgid="1" name="collision" tilewidth="64" tileheight="32" tilecount="15" columns="15">
  <image source="../grassland/tiled_collision.png" width="960" height="32"/>
 </tileset>
 <tileset firstgid="16" name="grassland" tilewidth="64" tileheight="128" tilecount="128" columns="16">
  <image source="../grassland/grassland.png" width="1024" height="1024"/>
 </tileset>
 <tileset firstgid="144" name="water" tilewidth="64" tileheight="64" tilecount="64" columns="16">
  <tileoffset x="0" y="32"/>
  <image source="../grassland/grassland_water.png" width="1024" height="256"/>
 </tileset>
 <tileset firstgid="208" name="tall structures" tilewidth="64" tileheight="256" tilecount="32" columns="16">
  <image source="../grassland/grassland_structures.png" width="1024" height="512"/>
 </tileset>
 <tileset firstgid="240" name="trees" tilewidth="128" tileheight="256" tilecount="16" columns="8">
  <tileoffset x="-32" y="0"/>
  <image source="../grassland/grassland_trees.png" width="1024" height="512"/>
 </tileset>
 <tileset firstgid="256" name="set_rules" tilewidth="64" tileheight="32" tilecount="8" columns="2">
  <image source="../grassland/set_rules.png" width="128" height="128"/>
 </tileset>
 <tileset firstgid="264" name="tiled_grassland_2x2" tilewidth="128" tileheight="64" tilecount="32" columns="4">
  <tileoffset x="0" y="16"/>
  <image source="../grassland/tiled_grassland_2x2.png" width="512" height="512"/>
 </tileset>

So essentially, you need to make sure your new tilesets are after the last tileset. Based on the firstgid and tilecount values, your tileset's firstgid should be 296.

After this, you will need to generate the Flare tileset definition again from the Tiled map.