flareteam / flare-game Goto Github PK
View Code? Open in Web Editor NEWFantasy action RPG using the FLARE engine
Home Page: http://flarerpg.org/
License: Other
Fantasy action RPG using the FLARE engine
Home Page: http://flarerpg.org/
License: Other
Suggestions:
lost_mine.tmx > lost_mines1.tmx
maps/alpha_demo/cave1.txt > cave_level1.txt
The version in the tiled/ folder appears to be newer, with semi-translucent shadows (much like grasslands). The actual layout of tiles appears to be different, so the tilesetdef will need to be updated as well.
Right now, if you try to talk to Martigan, nothing happens because he has no topic
key for any of his dialog nodes.
Also, Guill continually offers a reward for defeating Maddox, so it looks like a requires_not
is needed there.
Hi,
Flare won't start for me with the following error:
*(from the clone root folder)*
$./flare
Mod "default" not found, skipping
Unable to open engine/font_colors.txt!
Unable to determine default font!
I've successfully compiled the game on linux using 'cmake . && make' and I've removed the user configuration files from the locations given in the README.
Is there a step missing?
Regards,
This screenshot should show it:
https://dl.dropbox.com/u/45541625/2012-10-06-123729_321x343_scrot.png
I'd be happy to work some of these into the alphademo if people like them:
1: Kamikaze enemies. sacrifice=true doesn't make any sense for PC powers in a single-player game (unless you want the player to have to manage their HP in that way deliberately), but could be pretty awesome for the enemies.
2: Life-mana exchange. A high level wizard might want to swap a small amount of life for some more mana.
3: Blood speed. A high level warrior might want to trigger haste with his HP, instead of his limited MP.
I'm not sure this is a bug at all, but if it isn't, the interface should be more clear.
I have no idea, however, where the item went and where/whether i can buy it back.
If this is considered a bug, i'd recommend to have ctrl-click drop items instead of selling them unless there's an actual shop or stash to move the item to.
After I get the passwords and talk to the statues, the gates don't open. I get the XP like I should, though. Leaving and re-entering the room opens the gates.
On a fresh character clicking the bookstand that holds the Averguard Tome doesn't cause the book to appear.
Does the Averguard Tome bookstand event now need an explicit 100% drop chance?
I sometimes want to examine an item i just picked up. But i always have to search the whole inventory to check it. It might be also nice to determine all green / blue items without needing to hover them. Coloring the cell with the item might help.
We're working to add more features to all three core tile sets so that the final maps will really shine.
We'll want to create or commission new icons for the new armor pieces.
They will have to strictly match the current quality. We may find matches in Wesnoth, however any icons we use from there must explicitly be released by the artist under CC-BY-SA for Flare (Wesnoth art is GPL by default, not dual-licensed).
We won't start any commissions until we know the entire set of new icons needed for v0.18.
We need to look through the old "flare" repo and locate the tags for v0.14, 15, and 16. We'll at least create those here. We won't create branches for those old tags, and we won't worry about recreating the minor bugfixes (e.g. 15.1).
Version-Release number of selected component:
flare-0.17.1-8.fc17
Additional info:
backtrace_rating: 4
cmdline: /usr/bin/flare
crash_function: WidgetScrollBar::set
executable: /usr/bin/flare
kernel: 3.6.10-2.fc17.i686
uid: 1003
xsession_errors: Unable to open /home/zangpo/.local/share/flare/stash.txt!
Truncated backtrace:
Thread no. 1 (7 frames)
#0 WidgetScrollBar::set at /usr/src/debug/flare_v017_1/src/WidgetScrollBar.cpp:132
#1 WidgetScrollBox::refresh at /usr/src/debug/flare_v017_1/src/WidgetScrollBox.cpp:126
#2 MenuLog::add at /usr/src/debug/flare_v017_1/src/MenuLog.cpp:219
#3 GameStatePlay::checkLog at /usr/src/debug/flare_v017_1/src/GameStatePlay.cpp:306
#4 GameStatePlay::logic at /usr/src/debug/flare_v017_1/src/GameStatePlay.cpp:577
#5 GameSwitcher::logic at /usr/src/debug/flare_v017_1/src/GameSwitcher.cpp:84
#6 mainLoop at /usr/src/debug/flare_v017_1/src/main.cpp:145
Further detailed info: https://bugzilla.redhat.com/show_bug.cgi?id=891001
I opened this issue to discuss steps needed to implement in order for Flare to support handheld platforms.
What I understand as a "handheld platform" is a device, which:
Note that some handheld platforms will have a touchscreen, however I would like to focus here on a situation where keyboard/joystick is the only way of input.
Case study:
GCW Zero - 8 buttons (keyboard interface), d-pad (keyboard interface), analog (joystick interface)
GPH Caanoo - 9 buttons (joystick interface), analog (joystick interface)
Video of the current status of Flare performance on these devices: http://www.youtube.com/watch?v=ymc--9fIAxc
(I encourage to watch it to understand the points I'm raising further on)
== Menu navigation ==
Options menus:
In-game menus:
== Picking up items ==
== NPC Dialog menus ==
== Using the bottom bar ==
== Loading times ==
Loading times should be optimized to reduce their time.
I believe some of the proposed features should also be merged back with the flare-engine when implemented.
Because of the way Stealth is implemented I'm not sure we can do much about it, but we should consider ways to make this play nicely. E.g. have a transform option where equipped items are still applied, or make this always true for transforms.
The following data.pot files need to be refreshed to reflect the v0.18 string freeze.
mods/fantasycore/languages/data.pot
mods/alpha_demo/languages/data.pot
For now we'll ignore the newly-created devlab when it comes to translations. Do not generate a data.pot for it, so that translators will not be tempted to update it prematurely.
What's currently the "body" armor will become four new equipment slots:
Additionally we'll create a new Head slot for wearing helmets.
I've uploaded art_src renders of the 3 main male armor types for us to begin testing these new armor slots.
Note: Let's not worry about packing these images, making the female versions, or making the minicore versions until we get the system worked out on these.
I don't know exactly what went wrong or what was adapted, but the gui in minicore seems screwed.
The missing files result in the avatar's head disappearing when you put on a leather hood, along with this error message:
Error loading animation definition file: animations/avatar/female/leather_hood.txt
It'd be cool to be able to trigger an event or set_status when a map has no more enemies on it. This could make, for example, a map which you couldn't leave until you killed everything.
[event]
type=on_clear
?
Filed this issue in the wrong repo....
I think we're close to being wrapped up for v0.17. Here's a list of remaining tasks.
Code
Mod Cleanup
Art/Data
If it sounds reasonable, I'd like to call a String Freeze for Friday, Sept 21.
Then we'll be looking at releasing v0.17 on Friday, Sept 28.
The demo itself won't have much in the way of new content -- just the teleporter map mainly, and a handful of spike traps in one map. That'll be okay -- these last few Alpha releases will not be very exciting for players, as it's mostly about making things mod-friendly.
We could create game development GUI with "built-in" game design system that will simplify game development and avoid the need to read manual(howto) for game creating using Flare engine. The idea is to convert writing config files to GUI interface, so each value you enter will have tip, and you will not care about config file syntax.
This can implement:
It could start Tiled if you push "create map" button
Starting point (for ideas) could be CELayout Editor It is crossplatform and allows editing GUI in realtime. We could use WxWidgets as it does.
Hello. Where should I add "-libm" when I get such error?
[ 196s] [100%] Building CXX object CMakeFiles/flare.dir/src/main.cpp.o
[ 196s] /usr/bin/c++ -DDATA_INSTALL_DIR="/usr/share/games/flare" -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto -I/usr/include/SDL -o CMakeFiles/flare.dir/src/main.cpp.o -c /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/src/main.cpp
[ 198s] Linking CXX executable flare
[ 198s] /usr/bin/cmake -E cmake_link_script CMakeFiles/flare.dir/link.txt --verbose=1
[ 198s] /usr/bin/c++ -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto CMakeFiles/flare.dir/src/Entity.cpp.o CMakeFiles/flare.dir/src/Animation.cpp.o CMakeFiles/flare.dir/src/AnimationManager.cpp.o CMakeFiles/flare.dir/src/AnimationSet.cpp.o CMakeFiles/flare.dir/src/AStarNode.cpp.o CMakeFiles/flare.dir/src/Avatar.cpp.o CMakeFiles/flare.dir/src/BehaviorStandard.cpp.o CMakeFiles/flare.dir/src/CampaignManager.cpp.o CMakeFiles/flare.dir/src/CombatText.cpp.o CMakeFiles/flare.dir/src/Enemy.cpp.o CMakeFiles/flare.dir/src/EnemyBehavior.cpp.o CMakeFiles/flare.dir/src/EnemyGroupManager.cpp.o CMakeFiles/flare.dir/src/EnemyManager.cpp.o CMakeFiles/flare.dir/src/FileParser.cpp.o CMakeFiles/flare.dir/src/FontEngine.cpp.o CMakeFiles/flare.dir/src/GameState.cpp.o CMakeFiles/flare.dir/src/GameStateConfig.cpp.o CMakeFiles/flare.dir/src/GameStateTitle.cpp.o CMakeFiles/flare.dir/src/GameStateLoad.cpp.o CMakeFiles/flare.dir/src/GameStatePlay.cpp.o CMakeFiles/flare.dir/src/GameStateNew.cpp.o CMakeFiles/flare.dir/src/GameSwitcher.cpp.o CMakeFiles/flare.dir/src/GetText.cpp.o CMakeFiles/flare.dir/src/Hazard.cpp.o CMakeFiles/flare.dir/src/HazardManager.cpp.o CMakeFiles/flare.dir/src/InputState.cpp.o CMakeFiles/flare.dir/src/ItemManager.cpp.o CMakeFiles/flare.dir/src/ItemStorage.cpp.o CMakeFiles/flare.dir/src/LootManager.cpp.o CMakeFiles/flare.dir/src/MapCollision.cpp.o CMakeFiles/flare.dir/src/MapRenderer.cpp.o CMakeFiles/flare.dir/src/Menu.cpp.o CMakeFiles/flare.dir/src/MenuActionBar.cpp.o CMakeFiles/flare.dir/src/MenuActiveEffects.cpp.o CMakeFiles/flare.dir/src/MenuCharacter.cpp.o CMakeFiles/flare.dir/src/MenuConfirm.cpp.o CMakeFiles/flare.dir/src/MenuEnemy.cpp.o CMakeFiles/flare.dir/src/MenuExit.cpp.o CMakeFiles/flare.dir/src/MenuHUDLog.cpp.o CMakeFiles/flare.dir/src/MenuInventory.cpp.o CMakeFiles/flare.dir/src/MenuItemStorage.cpp.o CMakeFiles/flare.dir/src/MenuLog.cpp.o CMakeFiles/flare.dir/src/MenuManager.cpp.o CMakeFiles/flare.dir/src/MenuMiniMap.cpp.o CMakeFiles/flare.dir/src/MenuPowers.cpp.o CMakeFiles/flare.dir/src/MenuStash.cpp.o CMakeFiles/flare.dir/src/MenuStatBar.cpp.o CMakeFiles/flare.dir/src/MenuTalker.cpp.o CMakeFiles/flare.dir/src/MenuVendor.cpp.o CMakeFiles/flare.dir/src/MessageEngine.cpp.o CMakeFiles/flare.dir/src/ModManager.cpp.o CMakeFiles/flare.dir/src/NPC.cpp.o CMakeFiles/flare.dir/src/NPCManager.cpp.o CMakeFiles/flare.dir/src/PowerManager.cpp.o CMakeFiles/flare.dir/src/QuestLog.cpp.o CMakeFiles/flare.dir/src/SaveLoad.cpp.o CMakeFiles/flare.dir/src/SDL_gfxBlitFunc.c.o CMakeFiles/flare.dir/src/Settings.cpp.o CMakeFiles/flare.dir/src/SharedResources.cpp.o CMakeFiles/flare.dir/src/StatBlock.cpp.o CMakeFiles/flare.dir/src/TileSet.cpp.o CMakeFiles/flare.dir/src/Utils.cpp.o CMakeFiles/flare.dir/src/UtilsDebug.cpp.o CMakeFiles/flare.dir/src/UtilsFileSystem.cpp.o CMakeFiles/flare.dir/src/UtilsParsing.cpp.o CMakeFiles/flare.dir/src/WidgetCheckBox.cpp.o CMakeFiles/flare.dir/src/WidgetButton.cpp.o CMakeFiles/flare.dir/src/WidgetInput.cpp.o CMakeFiles/flare.dir/src/WidgetLabel.cpp.o CMakeFiles/flare.dir/src/WidgetListBox.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBar.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBox.cpp.o CMakeFiles/flare.dir/src/WidgetSlider.cpp.o CMakeFiles/flare.dir/src/WidgetTabControl.cpp.o CMakeFiles/flare.dir/src/WidgetTooltip.cpp.o CMakeFiles/flare.dir/src/main.cpp.o -o flare -rdynamic -fwhole-program -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf
[ 250s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: /tmp/cciVcosq.ltrans9.ltrans.o: undefined reference to symbol 'sincosf@@GLIBC_2.1'
[ 250s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: note: 'sincosf@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so so try adding it to the linker command line
[ 250s] /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so: could not read symbols: Invalid operation
[ 250s] collect2: ld returned 1 exit status
[ 250s] make[2]: *** [flare] Error 1
[ 250s] make[2]: Leaving directory /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build' [ 250s] make[1]: *** [CMakeFiles/flare.dir/all] Error 2 [ 250s] make[1]: Leaving directory
/home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build'
[ 250s] make: *** [all] Error 2
I really like the double doors sound effect when passing between dungeon maps.
We could use a couple more:
Dragging items while dieing keeps them on mouse making drop impossible.
Once respawned (hit enter) the item is dropped on the ground
Is placed in the graveyard where zombies are spawn, its dead but before it glowed and was a greater token of life. Therefor its nearby grounds was used as a graveyard due to the belief of a greater after life.
Something has cursed a gravestone which spawns the zombies and made the ground dead, trees died and the Tree of Life too.
Destroying the cursed gravestone brings back life to the ground and the Tree of Life blooms again as it was before. The tree of life is magical and pollutes the air with seeds that make "Red Flowers", "Blue Flowers" and "Green berry bushes" to grow around the frontier outline. This vegs. can be harvested and brought to Alchemist for potions craftings as a reward.
Alechemist whines about shortage of components and brings a few topics to discuss: Potion Components which will tell what is required for potions and that they are not grewing like before in frontier plains, raises her speculation about the cursed grounds around "Tree of Life" and it might be the source to the problem, which brings another topic.
A story about the Tree of Life is told and a quest starts were hero should investigate the source to the cursed grounds at graveyard.
When this quest is complete, the Tree of Life starts spawn random components in frontier plains (red / blue flowers and green berry bushes) which the hero can harvest.
The quest reward is just a dialog that informs the hero that if he found any of the components and brings them to her he would be rewarded with potions for the trouble.
Bringing the items to alchemist will present different dialog topics for crafting with the following recipts:
Green Berries = Green berry juice
Red Flower + Green berry juice = Health potion
Blue Flower + Green berry juice = Mana potion
Hi,
I compiled this in MSVC2010 and the best method was to download all the SDL libraries as precompiled binaries and to create the project from existing sources. Some minor modifications were needed,
The method for enumerating directories in MS windows code is shown here:-
more specifically
/**
* Returns a vector containing all filenames in a given folder with the given extension
*/
int getFileList(std::string dir, std::string ext, std::vector<std::string> &files) {
#ifndef MSVC_BUILD
DIR *dp;
struct dirent *dirp;
if((dp = opendir(dir.c_str())) == NULL) {
//cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
size_t extlen = ext.length();
while ((dirp = readdir(dp)) != NULL) {
// if(dirp->d_type == 0x8) { //0x4 for directories, 0x8 for files
std::string filename = std::string(dirp->d_name);
if(filename.length() > extlen) {
if(filename.substr(filename.length()-extlen,extlen) == ext) {
files.push_back(filename);
}
}
}
closedir(dp);
#else
WIN32_FIND_DATA wfd;
HANDLE hf;
std::string findwhat;
findwhat = dir + "\\" + ext; // files
hf = FindFirstFile(findwhat.c_str(), &wfd);
while (hf != INVALID_HANDLE_VALUE)
{
if (wfd.cFileName[0] != '.' && !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
std::string found;
found = /*path + "\\" +*/ wfd.cFileName;
files.push_back(found);
}
if (!FindNextFile(hf, &wfd))
{
FindClose(hf);
hf = INVALID_HANDLE_VALUE;
}
}
#endif
return 0;
}
/**
* Returns a vector containing all directory names in a given directory
*/
int getDirList(std::string dir, std::vector<std::string> &dirs) {
#ifndef MSVC_BUILD
DIR *dp;
struct dirent *dirp;
struct stat st;
if((dp = opendir(dir.c_str())) == NULL) {
//cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
// do not use dirp->d_type, it's not portable
std::string directory = std::string(dirp->d_name);
std::string mod_dir = dir + "/" + directory;
if ((stat(mod_dir.c_str(), &st) != -1)
&& S_ISDIR(st.st_mode)
&& directory != "."
&& directory != ".."
)
{
dirs.push_back(directory);
}
}
closedir(dp);
#else
WIN32_FIND_DATA wfd;
HANDLE hf;
std::string findwhat;
findwhat = dir + "\\*"; // directory
hf = FindFirstFile(findwhat.c_str(), &wfd);
while (hf != INVALID_HANDLE_VALUE)
{
if (wfd.cFileName[0] != '.' && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
std::string found;
found = wfd.cFileName;
dirs.push_back(found);
}
if (!FindNextFile(hf, &wfd))
{
FindClose(hf);
hf = INVALID_HANDLE_VALUE;
}
}
FindClose(hf);
#endif
return 0;
}
struct Point
to
class Point
and to add constructors, i.e.
class Point
{
public: // forgot to add that if this is a class the members need to be declared public
Point(){ x=y= 0; }
Point( int X, int Y ){ x=X; y=Y;}
int x, y;
};
and also for the FPoint class. Then some files have constructed the Point structure in the following way
Point mouse = {x,y};
these are changed to
Point mouse(x,y);
Today I added default names for each portrait. This helps systems without keyboards.
Please look over these names for ones that should be changed. Examples of what I'm looking for:
If you're one of the people depicted in these portraits and you'd like a different default name, just let us know!
Some lines in README could get a manual break maybe. Especially when reading on console you do not always see the lines broken to next line automatically. A limit of 80 characters per line could help probably.
Steps to reproduce:
For some reason, picking this character portrait leads to a headless character model. I haven't checked with all the other character portraits, but the ones I checked with all had character models with heads.
Flare version: latest master (16add5c)
something go wrong with merge i think... and created clintbellanger / flare-game / flare-game
my translation went to the right place
Migrated from clintbellanger/flare#531
dorkster recently added a config toggle for High/Low quality textures. This refers to the transparency of textures -- full alpha (8 bit) vs. magic pink (1 bit).
On some systems there may be a vast performance improvement by using the low-quality textures -- e.g. systems that support hardware blitting but have slow processors to do alpha transparency calculations.
How to arrange all these textures? I suggest a new folder alongside images that mimics its structure, named something like images_noalpha or images_low.
I need to poke around and see which images don't have full alpha versions, even in the art_src folder. I need to check NPCs and flying loot animations, perhaps others.
For power animations we can carefully create no-alpha versions. It's all about the Alpha Threshhold (as it's called in GIMP).
And future thoughts: it might be a lot to ask for every Flare game to supply both full alpha and 1-bit alpha images (especially for projects where full-alpha makes no sense, like most pixel art). Perhaps in config files we can enable/disable this toggle feature and set a default for the project.
I submitted this issue on the 0.16 build but am unable to find it. It seems instant segfault if any fullscreen resolution is selected in OSX. I can provide any diag you need. Here is the auto generated report:
I added the remaining warps to alpha_demo, so (as far as I know) we're done with data strings.
Let's regenerate the data.pot files for fantasycore and alpha_demo.
Hi there, I was trying v0.17.1 (from flarerpg.org) and found the following issue:
When clicking to equip a new item (e.g. wand) the game lags for a short time. After that the equip-sound effect is played and everything is alright. I can reproduce this each time I (re-) equip my character. Because I found this problem using my netbook, I asked a friend of mine to check on his machine (actual more powerful but I don't know any exact data) using the same version. He also reproduces the occurence.
We are both using Linux Ubuntu (me 12.04, him 12.10). I'm neither sure about the exact reason nor I have the free time to seek for it. So I'm using the issue-functionality of github to notify you :)
I hope there is not other report about this issue (I was looking in the first place but didn't found something suitable).
Kind regards
Christian
In my opinion the sound is too loud for such a small fire basket in comparison to other environmental spot sounds such as the smith or water flows.
With the new Effects structure, I'm pretty sure we can imagine many new cool ideas, using Penalty Costs instead of HP or MP. Imagine some of the following ideas:
[power]
name=Drunken Fighter
description=Take a swig of that johnny jump up, and trade accuracy for crit rate temporarily.
post_effect=<critbuff>,25,300
post_effect=<accuracybuff>,-25,300
[power]
name=Ironclad
description=Slow down your walkspeed and attack in exchange for an impenetrable dfense
post_effect=slow
post_effect=immunity
[power]
name=Starfish Form!
description=You're small but heal fast
post_effect=<maxhpbuff>,-50,300
post_effect=<hpregenbuff>,10,300
[power]
name=Sense Auras
description=Don a blindfold to become more in tune with nature
post_effect=Accuracy -100
post_effect=MP Regen up
Or even chain together powers and effects somehow so that a berserk rage will spike your damage, but as soon as it wears off, you're slow or start bleeding.
The Install file has good instructions for building flare on various platforms. It would be nice if there was good instructions for building flare and installing build dependencies on Mac OSX as well.
I think it would be good to have easy to follow instructions for all the main platforms flare can run on. That way barriers to contribute can be minimized for those people who are not programmers, but are capable in other areas such as, creating art assets, quests, etc.
Migrated from clintbellanger/flare#543 (Edit by @stefanbeller: I copied the text as you get it when clicking on the edit button, so the format is kept.)
We're at the point where Flare has at least the first version of MOST major features required to make a game. Much of the remaining work we havea planned for the engine is refactoring for modders.
This means it's time to take a serious look at Flare: The Game. Taking the current assets, putting a bit of polish on them, and turning out a satisfying full game with it.
First thing to discuss: what missing engine features are absolutely necessary to making a complete game?
The main thing that comes to mind is a "Cinematic" game state to display cut scenes (most likely slides of images + text + music). But that's a feature that can be implemented really late into the game-making process.
Second: what current engine features absolutely must change to make an interesting game? The Powers menu is the most likely. On paper it seemed fun to unlock powers that way, but in practice it really isn't satisfying. Thus our planned Powers menu rewrite.
What near-essential data needs to be created to make a good game? Maximum results for minimal effort (aka we're not creating 10 new tile sets).
Here are my thoughts:
I want to flesh out the current 3 tile sets. Each of them will get new tiles to add interesting options for map designs.
I want to create Teleport Circle art and add it to each tile set. Then I want to create a test "hub map" where you can warp to teleport circles you previously discovered. I'm pretty sure all this is completely doable with the current campaign status system.
I want to at least add 2 new shields and 2 new armors, so that at each tier there is a shield + armor to wear.
Features like More Equipment Slots, 2H Weapons, Dual Wielding might simply not make the cut. We might save those for Flare 2 aka Wandercall.
I want to create a few completely new Test/Dev maps FULL of interesting events.
We'll also play with the numbers. Example: I want Defense to matter more, so I'm scaling up armor absorption. To do this I will need to scale all the numbers up (e.g. starting health might be 100 instead of 10).
Finally we'll create a game data "style guide". Things to keep in mind for map size and layout. How often to place teleport circles. How to place bosses and chests so they aren't cheaply farmable. etc.
This preproduction phase will happen in parallel to v0.17 development. In the meantime we'll kick around basic story/plot ideas.
Once we have decent progress, we'll start making final game maps in earnest. I expect that ALL of the previous maps will be thrown out. However, with the fun tools/templates from the dev maps and the data style guide, it should be straight-forward and fun.
If we end up making a solid 10 hour single player campaign, it would be a huge success.
The statues in the Living Bones area are NPCs. Now that NPCs have a separate animation file, we need to add new animations to alpha_demo/animations/npcs
These missing images are currently causing the brothers_lair_sacrifice_room.txt map to hard exit with: Error loading animation definition file: animations/npcs/statue_guardian_ice.txt
Side note, if we can't find the animation for something, just throw a warning and keep playing (let that missing animation object be invisible).
Yesterday I started a new character and player around 2 hours, killed a lot of enemies, but non of them randomly dropped any items.
Now I reloaded the char and resumed playing and now there is gold dropped. I think this might be a bug somehow.
And icons for chain and mage as well, probably.
Whenever I enter "Frontier plains", the following warning messages are printed in the terminal:
EnemyManager mental attack sound: Loading sound ./soundfx/enemies/antlion_ment.ogg failed: Mix_LoadWAV_RW with NULL src
EnemyManager critdeath sound: Loading sound ./soundfx/enemies/wyvern_critdie.ogg failed: Mix_LoadWAV_RW with NULL src
I've also seen the following:
EnemyManager physical attack sound: Loading sound ./soundfx/enemies/human_male_phys.ogg failed: Mix_LoadWAV_RW with NULL src
EnemyManager mental attack sound: Loading sound ./soundfx/enemies/human_male_ment.ogg failed: Mix_LoadWAV_RW with NULL src
EnemyManager critdeath sound: Loading sound ./soundfx/enemies/human_male_critdie.ogg failed: Mix_LoadWAV_RW with NULL src
EnemyManager mental attack sound: Loading sound ./soundfx/enemies/minotaur_ment.ogg failed: Mix_LoadWAV_RW with NULL src
Looking in mods/fantasycore/soundfx these files does indeed seem to be missing. (Then again, they don't seem to be mentioned in git log, so this might be a known issue.)
Edit: with the recent changes, the messages printed was improved a lot. Also found a couple other ones.
This is more a reminder for future releases:
The current one (0.17.1) has all files marked as 777.
Inside of the repository permissions are set correctly.
We've done recent refactoring of active powers, passive powers, effects, etc. This opens up a lot of new possibilities.
It makes sense to start with some practical features we want to actually add to the game now. Working on those may reveal code that needs to be added at the engine level.
Ok, some examples.
I want to add caltrops and bear traps to the game. These will replace the "Immobilize" power in the Ranger tree. The way these work is: use the power to place the trap on the ground. If an enemy moves over them, the trap triggers and the enemy is slowed (caltrops) or immobilized (bear trap) for a short time.
There will be two visuals: one is the placed unsprung trap, and the second is the sprung trap attached to the victim. I think the unsprung trap can be a fixed hazard with a long lifespan, and the sprung trap can be an effect with its own animation.
I want to add more variety and unique feel to the Minotaurs. Part of what I want to do is give them a Berzerk effect that they gain at half health. Ideally I'd like for it to have multiple status effects. Example:
From what I know about our effect system, each effect only contains one stat right? So to implement this we'd actually need three effects. Maybe one of them (e.g. the increased damage) could come with an animation.
Can active powers (or triggered powers) only create one effect?
Maybe we expand so that either (1) one power can grant multiple effects, (2) one effect can change multiple stats, or (3) both 1 and 2.
Side note: right now effects are kind of like a template, and the actual scalar value is specified elsewhere (e.g. in the activated power). If we expand effects to alter multiple stats it might make the effect interfaces a bit convoluted. I'm actually okay with having effects with fixed scalars. WoW does this with their Spell style effects: there isn't just one Bleeding spell, there are several that represent various bleed damage and durations. But the current system is handy (e.g. where we don't need multiple Bleeds), so if there's a pretty way to expand it then I'd like that.
The latest release 0.17.1 had a mismatching archive and folder name.
tar.gz file was: flare_linux_v017_1.tar.gz
folder in the file: flare_v017_1
I would suggest to use flare-0.17.1.tar.gz as archive name and flare-0.17.1 as folder name inside.
This would also simplify makro use in rpm packages for eg.
That file is one different in one line from the default mod.
And we're changing the syntax of the file anyway in
https://github.com/clintbellanger/flare-engine/pull/363
So we could get rid of the flare-game specific file and having flare-game rely on the flare-engines default.
We need to address a few bugs in v0.17 before I have time to look at anything past that.
All of these bugs have to do with players using v0.16 settings/saves and running v0.17.
Issues I've heard:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.