AndroidGamesLinuxMacOsRen'pyVisual NovelWindow

Tribulations of a Mage [v0.12.0] [Talothral]

Download for Windows/ Linux

Download for Mac

Download for Android

  • swipe down to hide the ui
  • swipe left to roll back
  • swipe right to start skipping of text
  • swipe 2x left&right to open the game menu
  • swipe up&down to toggle a small window with memory usage information
  • longpress the save file thumbnail in the save/load screen to delete this slot

Download Update Only

Windows:
Unzip the content anywhere, move all content to your main folder (where the .exe is). Overwrite all necessary files. (Half tested).

Linux:
I don’t know about Linux. (Untested).

Mac:
You need to copy paste every content from the update only folders into their respective folders, overwriting where necessary, if the folder is not existing you can copy the whole folder (To see the content of an app, right click the app and pick Show Package Contents).

Ex. – Navigate to your  (“DefendingLydiaCollier.app\Contents\Resources\autorun\game” on Mac) – both require v.0.15.9 – and copy and paste the “v21.new.rpa” file there.

Download Multi- Mod

Features
In-game walkthrough. Can be Enabled/Disabled in Preferences.
Adds Scene Replay to Main Menu. (Scenes unlock when seen in-game.)

Installation
PC: Unzip the mod and put the folder named “game” from the mod in your “ToaM-0.*.*-pc” folder. Overwrite files if required.

MAC: Unzip the mod -> Right-click your “ToaM” app -> Click “Show Package Contents” -> Open the “Contents” then “Resources” folders -> Hold the Option key and drag the folder named “game” from the mod to the “autorun” folder -> Click merge

You can also mail us at :- dikgames.play@gmail.com

Editor's Rating

Story - In the realm of Tribulations of a Mage, where magic intertwines with destiny, the narrative shines like a beacon of intricate storytelling. Choices cascade through the storyline, crafting divergent paths that lead to unexpected outcomes. Each decision counts, unveiling a tapestry of consequences that weave seamlessly into a rich narrative fabric. - 95%
Visual - Behold the visual opulence of Tribulations of a Mage! The meticulous attention to detail in character design and environmental aesthetics is a testament to the developer's artistic flair. From the diverse NPC encounters to the charismatic companions, each graphical element exudes a sense of purpose and world-building finesse. - 92%
Engagement - Dive headfirst into a world where engagement reigns supreme. The robust array of choices cater to diversified player preferences, underscoring a commendable attention to detail in player autonomy. The interactive depth further extends into nuanced options like toggling dialogue during intimate moments—a subtle yet significant touch that enhances player immersion. - 97%
Core Loop - The core essence of Tribulations of a Mage lies in its intricate gameplay loop, where the player navigates the protagonist's trials and triumphs in a magical realm fraught with peril. However, a constant struggle between narrative progression and character development emerges, with a notable emphasis placed on world-building over intimate character interactions. - 90%

94%

out off 100%

This review is based on author's perspective and actual experience may differ on individual's own preferences.

User Rating: 3.55 ( 23 votes)

Related Articles

9 Comments

  1. Look, Talothral, I’ve reviewed two of your other games on more than one sight. I’ve played both versions of Terminus Reach: Sentinel and Socerer. I will simply say what I’m beginning to note.

    – You reuse (and very slightly change) most of your given main characters. Several that seem like they should (or even could have been mains) sometimes don’t get the time to shine they should. Terminus is probably on it’s third part atm – and if I’m right I would recommend no five year time jumps. Because unless you intended Sorcerer to be a one shot; you skipped to the part where most of the girls in that game gave birth… but you also skirted over a few that should have been lewd scenes shown properly. Like the secretary mage; and the medusa with glasses.

    In Socerer (which this game is basically; just in a medieval rather than more modern setting – and I am detecting a bit of an influence from the recent show Shogun…) You made the asshole NOT QUITE mortal; turned him into a half Iffrit, and never actually answered whether or not that made him equal to a demigod – or could be ascended into a god. You left his mortality in question the whole game; and had everyone calling him mortal when he might not be. You in this game, DID NOT specify the MC’s race (It gives you an out to deus machina an answer for why he doesn’t die later… I use that trick myself sometimes) AND he COULD be anything. Also = Gods DO NOT interfere in the lives of anyone who’s “not that special.” Don’t fish-tail. He’s the hero of the game. He automatically IS special, and negging him like that may either jar, or insult your audience.

    You have foibles, I get it. For whatever reason you don’t like the term Master (and have mentioned it in all three fucking games) but it does NOT have the kind of connotation in the sense it would be used by MC’s WOMEN that would be ascribed historically. Not every member of a harem was enslaved. Many did volunteer. Even then, a slave could in fact be favored over one who DID volunteer; so it’s not like they’d never have power. So long as they’d properly submit. The bond isn’t just I’m your master so I own you. It’s I own you, because you CHOOSE to call me your Master; and more importantly accept the binding implied. I’m personally VERY dominant minded, and it’s irked the hell out of me that you choose to deny a title they all want to drop at MC’s feet in EVERY of the three games so far you’ve made. He doesn’t have to care for the title, or what it represents. He doesn’t need to agree with it – but he FUCKING WELL SHOULD HONOR IT!

    You also seem to have a thing for including unrealistically old women into your games as pursuable. Jesus Christ on Crutches do I wish you would lay the fuck off that habit. It’s NOT attractive, and wins you no favors. The inclusion in the story has never thus far been that helpful. They are listed as Side Characters. This falls under I don’t give a flying fuck about what your personal kinks are; and while I can respect that you have yours and I have much simpler ones, not EVERY kink needs to be undertaken. Also fuck the body positivity characters. You included the troll to get the water blessing for the Oracle in Sorcerer (that she only needed because you turned her into the fucking human torch for no reason) but it didn’t have to be a troll. Hell, it didn’t have to be an UGLY troll that was like a foot and a half taller and three hundred pounds heavier. For example; say that rumors of their vile and hideous looks were greatly exaggerated over several generations, by massively jealous wives and make them more muscular, diffierently skinned ELVES that also don’t ever need healing spells and could probably rip someone’s arms off. Aesthetics DO MATTER. You don’t do yourself ANY favors trying to challenge them. It will just cost you potential subs.

    For myself, I put up with it because despite some awkwardly placed cliffhangers, and a LOT too much mystery surrounding each MC’s actual Mortality… you do craft intriguing stories. You like the long form story telling as much as I do, and you can hook the audience to pay attention to more than the tits and ass. [Though I will say dude, you run the actual lewd scenes a little too long for the same bloody repeat dialogues. It usually takes another actual half minute to get MC to show the EXTRA scene at the corner that shows he came inside of her; after she begs for his seed… and that’s TOO DAMNED LONG]

    Also, there’s nothing stopping this MC from being a King. There’s no reason you should have cut that word off. If she’s going to note that an Emporer has one Emporess; call it Checkov’s Gun. You BETTER pull that trigger. The noble house bullshit you already pulled with the Sorcerer MC = we have no clue if Terminus MC is actually going to be the Fleet Admiral; and I’m tired of getting technically outranked… as the MOST DANGEROUS AND POWERFUL CHARACTER IN YOUR GAMES. [Tied to that, why do you keep trying to screw your MC’s over so hard? Terminus MC should be in a psyche ward at the very least… is some sort of MUTANT and frankly possibly immortal just due to the inclusion of that questionable fifth race… Sorcerer was again, half iffrit, but you make him a GED mage – and you did the same damned thing with this one. Who also has “half” his soul missing] * You could make him a secret Demigod; and maybe that’s why that scene with death goddess that said may have extra content later could get her involved in a consort rank. I’m NOT really big on the choices presented not being specific about what exactly I’m going to get out of each one. For a guy that writes cautious to overly paranoid MC’s… you should know that kind of thing pisses the audience off.

    You have TWO massive plots going – and you’re going to need to resolve one, before getting to the more important one. I don’t mind if he ends up both the archmage and the emporer (you could actively make it stipulation for becoming the archmage) He NEEDS to ACTUALLY BE SHOWN TO GET HIS SOUL BACK… Without dumbfuck “consequences.” Then you need to be very, VERY clear about what exactly the Kitsune emporess is actually offering for his “REWARD.” Because it can’t be her; but it could be her daughter. Again, it could be the stipulation that by marriage to Ayaka (or whatever the hell her name is) he becomes just noble enough to be granted the title of Archmage = which allows him high enough rank to become the emporer as 2nd in Command, since the Emperor’s (Sue me: I haven’t slept yet, and yes I just realized I’ve been spelling that word wrong…) son is dead. There’s nothing saying he was the only one, and there’s NOTHING saying he wasn’t…

    Contrary to some perceptions, I am fairly to very fond of your work. I do think you need to lay off certain troupes, and actually let the one who’s strong enough to RULE, do so. By title and deed at the end of the game. I’d impress me if you do that just once. In any of the games you may have planned to come. I’m going to follow this one to the end. Like I have with the others, but fair warned = If you pull the “Not a Master”/fucking MUCH older/Aesthetically UGLY women bullshit in a fourth game… good writing or not I will tap out. [You also wouldn’t have to have two main quests going, or come up with so much deus ex bull if you’d stop writing your Mains into corners that only “divine” intervention can get them out of…]

  2. major issues when you get to the nagas at the “several stairs later” part can ignore the error

    I’m sorry, but an uncaught exception occurred.

    While loading :
    IOError: Couldn’t find file ‘gui/hidden/u12s1id.png’.

    — Full Traceback ————————————————————

    Full traceback:
    File “update12.rpyc”, line 778, in script
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\ast.py”, line 1389, in execute
    renpy.exports.with_statement(trans, paired)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\exports.py”, line 1601, in with_statement
    return renpy.game.interface.do_with(trans, paired, clear=clear)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\core.py”, line 2251, in do_with
    clear=clear)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\core.py”, line 2702, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\core.py”, line 3194, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\core.py”, line 2094, in draw_screen
    renpy.config.screen_height,
    File “renpy/display/render.pyx”, line 490, in renpy.display.render.render_screen (gen\renpy.display.render.c:6805)
    rv = render(root, width, height, st, st)
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 722, in render
    surf = render(child, width, height, cst, cat)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\transition.py”, line 360, in render
    bottom = render(self.old_widget, width, height, st, at)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 722, in render
    surf = render(child, width, height, cst, cat)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 722, in render
    surf = render(child, width, height, cst, cat)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\screen.py”, line 675, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 722, in render
    surf = render(child, width, height, cst, cat)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 925, in render
    surf = render(d, width – x, rh, cst, cat)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\behavior.py”, line 774, in render
    rv = super(Button, self).render(width, height, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\layout.py”, line 1127, in render
    st, at)
    File “renpy/display/render.pyx”, line 166, in renpy.display.render.render (gen\renpy.display.render.c:4075)
    cpdef render(d, object widtho, object heighto, double st, double at):
    File “renpy/display/render.pyx”, line 259, in renpy.display.render.render (gen\renpy.display.render.c:3520)
    rv = d.render(widtho, heighto, st, at)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\im.py”, line 583, in render
    return cache.get(self, render=True)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\im.py”, line 266, in get
    surf = image.load()
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\display\im.py”, line 628, in load
    surf = renpy.display.pgrender.load_image(renpy.loader.load(self.filename), self.filename)
    File “E:\NSFW\ToaM-0.12.0-pc-C\ToaM-0.12.0-pc\renpy\loader.py”, line 576, in load
    raise IOError(“Couldn’t find file ‘%s’.” % name)
    IOError: Couldn’t find file ‘gui/hidden/u12s1id.png’.

    Windows-8-6.2.9200
    Ren’Py 7.3.5.606
    Tribulations of a Mage 0.12.0
    Mon Apr 29 18:06:27 2024

  3. Nice. It has a story that progresses continuously and but not much content so far.
    The sex scenes dialogues are …boring. But can be turned off (nice touch), animation are not the best.
    So far, most of the hot scenes are with …non humans (?!)

  4. Gays are pests. Every single one of them should be sent to the 731 unit and made serving as a livestock there. Feed their meat to guinea pigs. End America’s woke madness. Yay.

    1. just wipe out both the woke and the people that hate the woke, so the rest of us can go back to not hearing the bullshit both sides spew in order to get attention.

        1. So you believe that each person should have opinion on every possible topic? Bold statement. Most people need to be interested first and even get to know topic a bit before formulating opinion.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button