Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Naughty Sparkle

20
Posts
7
Topics
6
Followers
54
Following
A member registered Sep 21, 2020 · View creator page →

Creator of

Recent community posts

Fun idea, however, I had to stop when the screen started rotating around. Otherwise, it was fun.

This was quite interesting read. I have been going to school for software design, and I have noticed something about myself. My past self is a jerk.

So to combat this past self, I comment excessively. I know myself to have a very low balking point, and we humans hate to think. If you can ease some of that for your future self by explaining something and prevent you from balking and fixing your bad code, do that.

Remember to NOT HARD-CODE things. For maintainability, that is a nightmare and I will guarantee your future self will hate to hunt for some variables, testing an idea is fine, but love of god fix it or mark it clearly for your future self. Thousands of variables will happen, and that is why we have garbage collecting in our programming languages.

Also, OOP (Object oriented programming) exists for a reason. Repeating yourself is one of the worst things that you can do to your project, especially when you're looking through hundreds or thousands of lines of code. Break it up to pieces, document well, name stuff clearly.

Learning OOP principles is good for the long run, and DO NOT REPEAT YOURSELF. Write a function or a class, and then call that class or invoke that function. It saves a lot of time and nerves when something goes wrong. Comment things, don't trust your dumb brain to remember these things.

Oh, nice! I was just about to report that it wasn't launching after I upgraded my PC. This issue was affecting me on Linux as it wasn't starting, but after the update it launches again. Thank you!

Thanks for responding. I thought the multiselect was not working, however I think I have discovered a bug. Sometimes the click and drag method works, and sometimes it results in that. I managed to capture it working and not working on the same GIF. I tried to make it into an inline GIF but for some reason itchio didn't like me uploading, but there is a Google Drive link to that GIF. Thought click and dragging wasn't working at all, since I was getting that issue when I was using it.
https://drive.google.com/file/d/1WeeeO8afxj_2F0CqjKyphvbr_Xk6szYL/view?usp=share...

I tried to find a consistent way to re-produce it, but it seems to happen on random. Sometimes a releasing left click registers, and sometimes it doesn't register. I think it may have something to do with the positioning of the cursor, however so far in my attempts it seems random. This may be a hardware issue too, but I haven't really troubleshot that yet. But shift clicking always works, so thank you for bringing that up, I appreciate it.

In the GIF you can see I have quite a bit of bones and managing those in the timeline gets a bit tedious at times. So far I have an animation that I call t-pose, and I copy the key frames from that to get the whole skeleton key frames to other animations. For that, I wish there would be something that would help out. But it works, and I am able to animate.

Glad to see that replacing images onto the skeleton is as easy as that. My plan was to make a skeleton template and animate once, and just replace the images with character specific bits, so I can just animate once. Thank you for having an easy solution for that.

Now that I had time to work on some animation, I did notice that while it is generally much better to work on skeletal animation in pixelover some quality of life improvements would be nice. Such as deleting or moving multiple key frames at once, now these are made one by one. Automatically addition of key frames, such as you are in animation timeline, and you slide the current frame, and you move a bone, I wish it would add that bone automatically into the timeline. Adding and managing multiple bones in the timeline is a bit of a hassle and I wish you could organize the bones there, since otherwise they are in the order you added them in.

But other than that, I have managed to rig a skeleton and made a simple idle animation. I wonder how altering the skeleton images and replacing the bone images will go. As I am hoping I can make the animations on the base skeleton and later on just replacing the images of the skeleton with the new images. But that comes down to line, so far bit janky but otherwise good. I hope this feedback helps.

I did discover this tool quite some time ago, and I may be "late to the party". I do want to show appreciation for making something like this.  I do feel like it is missing a thing or two, but nothing major.

The combat tracker is a bit clunky, as it could have a random button on the initiative thing where you could instantly generate an initiative on the field with dice that you can set up yourself. But again, it works well enough.

Also, I do think it is cool to have converter in there, but it is missing standard TM gold, electrum, silver, copper fantasy coin converting. But again, minor nitpick but, it is still nice to have that there.

Absolutely a tool that I will be using in my games. Thanks for making this, having a Linux AppImage and putting this here for free.

I saw in the roadmap there is mention of importing from PSD and Aseprite, I would like to suggest adding Pixelorama to that list, it is my choice of pixel graphics creation software. I know Pixelorama is probably a niche program to use for pixel art (maybe, usually when people suggest for pixel art editor they suggest aseprite), but I personally use it. Feeling like more the merrier type of situation, but if it is impractical to add, too time-consuming and if I would be the only one to use that feature, I do understand leaving it out.

It does happen with other limbs. There is what happens if I attach the other limbs, in the file I haven't attached all arm and leg, parts all the way through. But I think you can see what happens. It seems to happen randomly.

Error Log from this:

Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
OpenGL ES Batching: ON
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
WARNING: BaseButton's Enabled Focus Mode property has been deprecated due to redundancy and will be removed in Godot 4.0. Please use Control.set_focus_mode instead.
   at: set_enabled_focus_mode (scene/gui/base_button.cpp:329) - This method has been deprecated and will be removed in the future.
undo
undo
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/self_list.h:108) - Condition "_first != nullptr" is true.
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2069) - ObjectDB instances leaked at exit (run with --verbose for details).
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/resource.cpp:417) - Resources still in use at exit (run with --verbose for details).
ERROR: Condition "allocs_used > 0" is true.
   at: cleanup (core/pool_vector.cpp:63) - Condition "allocs_used > 0" is true.

Yeah, it applies to other limbs if I attach the child notes to the torso. The bones have images attached to them.  It occurs when I try to put those bones to other groupings of the bones that have images. For example, it happens again if I attach the legs and arms to the torso like I did attach the head (drag and drop them to the torso.). I didn't do any scaling to the images before attaching them to the parent node, and the scaling panel doesn't seem to have any scaling applied to them automatically.

I did make sure that did I do any scaling or editing on pixel over side, and I didn't. Here is an example of me adding a group of child nodes to a parent node. The issue didn't occur when I attached the arm bones together. There is also the error logs. You can see there is a undo, because I realized the rest transform dialogue wasn't open.

I am happy to provide more information if it is needed.

Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
Godot Engine v3.4.beta.custom_build.c09dc540f - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
OpenGL ES Batching: ON
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
WARNING: BaseButton's Enabled Focus Mode property has been deprecated due to redundancy and will be removed in Godot 4.0. Please use Control.set_focus_mode instead.
   at: set_enabled_focus_mode (scene/gui/base_button.cpp:329) - This method has been deprecated and will be removed in the future.
undo
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/self_list.h:108) - Condition "_first != nullptr" is true.
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2069) - ObjectDB instances leaked at exit (run with --verbose for details).
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/resource.cpp:417) - Resources still in use at exit (run with --verbose for details).
ERROR: Condition "allocs_used > 0" is true.
   at: cleanup (core/pool_vector.cpp:63) - Condition "allocs_used > 0" is true.
(1 edit)

I encountered a strange issue when I was assigning child nodes to bones. It does make the bone animation extremely time consuming and difficult. Error log, and a gif recording of the error should be in this post. The error logs hopefully contain useful information. I am not sure did they capture the event.

I tried to make the first error log to be a "recording" of the issue. The second should be a full error logs when I was assembling the skeleton and encountered this issue.

Pixel Over Version 0.12
OS: Kubuntu 22.04
GPU: Nvidia GeForce GTX 1060 3GB

Error Log 1:

Godot Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org
Godot">https://godotengine.org
Godot</a> Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org
Godot">https://godotengine.org
Godot</a> Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org
OpenGL">https://godotengine.org
OpenGL</a> ES 3.0 Renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
OpenGL ES Batching: ON
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
WARNING: BaseButton's Enabled Focus Mode property has been deprecated due to redundancy and will be removed in Godot 4.0. Please use Control.set_focus_mode instead.
   at: set_enabled_focus_mode (scene/gui/base_button.cpp:329) - This method has been deprecated and will be removed in the future.
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
undo
undo
ERROR: Condition "name == """ is true.
   at: set_name (scene/main/node.cpp:914) - Condition "name == """ is true.
ERROR: Condition "name == """ is true.
   at: set_name (scene/main/node.cpp:914) - Condition "name == """ is true.
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/self_list.h:108) - Condition "_first != nullptr" is true.
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2069) - ObjectDB instances leaked at exit (run with --verbose for details).
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/resource.cpp:417) - Resources still in use at exit (run with --verbose for details).
ERROR: Condition "allocs_used > 0" is true.
   at: cleanup (core/pool_vector.cpp:63) - Condition "allocs_used > 0" is true.

Error Log 2

Godot Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org">https://godotengine.org</a>
Godot Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org">https://godotengine.org</a>
Godot Engine v3.4.beta.custom_build.c09dc540f - <a href="https://godotengine.org">https://godotengine.org</a>
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
OpenGL ES Batching: ON
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: is_selectable (scene/gui/tree.cpp:452) - Index p_column = 1 is out of bounds (cells.size() = 1).
ERROR: Index p_column = 1 is out of bounds (cells.size() = 1).
   at: set_icon_modulate (scene/gui/tree.cpp:212) - Index p_column = 1 is out of bounds (cells.size() = 1).
WARNING: BaseButton's Enabled Focus Mode property has been deprecated due to redundancy and will be removed in Godot 4.0. Please use Control.set_focus_mode instead.
   at: set_enabled_focus_mode (scene/gui/base_button.cpp:329) - This method has been deprecated and will be removed in the future.
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
ERROR: Method failed. Returning: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1476) - Method failed. Returning: ERR_INVALID_PARAMETER
WARNING: This control can't grab focus. Use set_focus_mode() to allow a control to get focus.
   at: grab_focus (scene/gui/control.cpp:2106) - This control can't grab focus. Use set_focus_mode() to allow a control to get focus.
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: read beyond end of data
   at: check_error (drivers/png/png_driver_common.cpp:56) - read beyond end of data
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
undo
undo
undo
undo
undo
undo
undo
undo
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
WARNING: Not a PNG file
   at: check_error (drivers/png/png_driver_common.cpp:56) - Not a PNG file
ERROR: Condition "!success" is true. Returned: ERR_FILE_CORRUPT
   at: png_to_image (drivers/png/png_driver_common.cpp:69) - Condition "!success" is true. Returned: ERR_FILE_CORRUPT
undo
ERROR: Condition "p_child->data.parent != this" is true.
   at: move_child (scene/main/node.cpp:317) - Condition "p_child->data.parent != this" is true.
ERROR: Condition "p_child->data.parent != this" is true.
   at: move_child (scene/main/node.cpp:317) - Condition "p_child->data.parent != this" is true.
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
undo
ERROR: Condition "name == """ is true.
   at: set_name (scene/main/node.cpp:914) - Condition "name == """ is true.
undo
undo
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/self_list.h:108) - Condition "_first != nullptr" is true.
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2069) - ObjectDB instances leaked at exit (run with --verbose for details).
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/resource.cpp:417) - Resources still in use at exit (run with --verbose for details).
ERROR: Condition "allocs_used > 0" is true.
   at: cleanup (core/pool_vector.cpp:63) - Condition "allocs_used > 0" is true.

I went through this today once and what a ride. Played through everything there was. I was absolutely hooked, had to see everything there was up to this point.

Love the horror, love the characters, love the idea. Just one of those few games that really got under my skin with the horror. I can see some Silent Hill inspiration with Mark. I can see a few things you're doing with Ken also with Chug. Would love to see more horror put in those, like you did with Mark stuff.

I wish I had a few cash monies I could throw at you, but unfortunately can't. But I did throw in a 5-star rating, and I really want to see where you are going to go with this. Can't wait to be into these characters, and they are going to suffer probably some unfortunate stuff. Can't wait to be sad about those, also creeped out.

Honestly, what a fantastic experience. Frickin' great writing, this is going to stay with me for a while.

Been learning how to do digital charcoal art and been practicing cleaner lines and shading. Wanted to show love to one of my favourite VNs our there with a wholesome scene where Luke practices for important preformance. I know you guys don't really show this favourite past time of Luke in game. He loves the preforming arts and sucking on these candy bars since nuts are excellent source of protein, good way to keep up that muscle.

He is pretty good at bowing the cellos and instruments like that but sometimes he offers helpful demonstrations with hands on experience and isn't afraid of getting down and dirty with the details of the artforms.

I wanted to show out Lukes artistic side. He is usually misunderstood, at the start he was going into a cello/violin concert, but he realized as he got to the truck stop that he hasn't practiced enough, so he went in there, and he found these two good guys who were helping him tune the instrument. He didn't eat enough that day, and good thing that the other guy had a Snekers bar. What a good guy. However, Luke is a messy eater, so he splattered chocolate on him, so needs to switch a shirt.

(I did put it in Fanart too. But I think this is a fitting "repost")

I wanted to show out Lukes artistic side. He is usually misunderstood, at the start he was going into a cello/violin concert, but he realized as he got to the truck stop that he hasn't practiced enough, so he went in there, and he found these two good guys who were helping him tune the instrument. He didn't eat enough that day, and good thing that the other guy had a Snekers bar. What a good guy. However, Luke is a messy eater, so he splattered chocolate on him, so needs to switch a shirt.

Possible Spoilers. It is a bit odd for Asterion to say that expeditions may interfere with the first R&D project when it is already finished. This happens when you're able to send the first expedition group and finish the first project and find the object.

I have been thinking about the scene where the main character and xx have a discussion (Trying to avoid preview spoilers)................... When he says that he doesn't want to be lied to anymore and just MC and you get multiple choice what to say. I just thought that it may be interesting to be able to say, "Yes, I am torturing you. Knowledge is pain, and getting to experience this with me may be fleeting and may not continue after me." That may be an interesting thing to add, but I understand if you don't want to put there.

(1 edit)

Thanks for replying. I do think there is a place to goof off in this thing. Was kinda hoping that it could be made a bit clear in the initial choice, maybe professional "professional slacker/neckbeard/cringelord". For me personally I was expecting shenanigans about magic system or contracts and was quite blindsided, seeing that crayola medallion made me go "No, bad game." like I was scolding a dog but with a smile on my face.

I do know very well that feeling when making a poor decision early on, it is hard to change as development has picked up. I was also thinking that there isn't a background for someone with physical fitness or athletic person who could help out in the expeditions (or was it explorations). But regardless you have made an amazing VN and this has been joy to go through. 

(1 edit)

I have now played through the content couple of times while I think the content is fantastic (I really liked the diplomat and the leader backgrounds), but I though the speedrunner background felt a bit off-putting, maybe ill advised.

I don't think the Chris-chan reference wasn't appropriate for this and I think speedrunning stuff could be fascinating concept in this story. Not everything is bad, the just whatever signing of the contract with Argos was quite funny, however it can be improved.

What I know of speedrunning and its community is quite limited however we are talking about dedicated community of people playing a game that they generally enjoy and want to experience it in new ways. Breaking a game within rules of a game is somewhat a scientific effort, for example someone makes a hypothesis how this corner could be exploited, someone tries it out with an emulator with tools that helps to break it down frame by frame testing inputs to test if it is possible and someone else may come up with a way to roll to the corner to get out of bounds. I have listened how usually breaking down a game is a community effort. Usually what sparks interest in finding new skips or new routes is tedious or really hard sections.

I do think there is plenty fruitful ground to this in the visual novel that revolves around contracts and a magical world. A character with speedrunner a could have unique responses for trying to find unintended properties of stuff in magic or maybe find an exploit in the magic system of the world or find a loophole in contract.

I don't think it is my place really to say how you should write this or even if you want to edit the background at all. I just want to say I think there is untapped potential there.