Shigatari is a game where you do the following:
- Create a samurai
- Wander the land cutting down peasants, drinking sake, meditating under waterfalls, and writing haiku
- Maybe also forge Masamune, become an oni's minion, or visit a kagema
- Get killed or commit seppuku
- Repeat until boredom or you 100% the cheevos
The world in Shigatari is randomized every time you play. Despite this, your goal will be the same each time: defeat the seven dojo masters and confront the emperor.
There are multiple starts and multiple endings. One time you might be avenging your lord who was unfairly implicated in a political scandal (think seven samurai), while another time you might be fulfilling your sensei's dreams vicariously...
(One of the starts)
The world is broken in to seven regions. Each region is broken in to ~15-20 locations. A location is a scene, such as "Two bandits arguing over loot", "An overeager sushi merchant", or "A Lover's Suicide". The contents and order of these scenes is the chief way the world is randomized.
(One of the seven regions)
Shigatari includes a somewhat realistic katana combat system. Attacks are targeted at specific body parts, defense is active and also targeted, there are five real kenjutsu stances, and you can eat sushi for buffs. The combat system was built upon a simulation, so there are some cool emergent things that happen. My favorite is mutual kills.
(Fighting a random samurai)
Shigatari is built using entirely public domain period artwork that is tragically unappreciated. Every time this shitty meme appears, my blood pressure rises. I'm hopeful that in showcasing this amazing artwork, others will come to love it as much as I do.
Shigatari is nearly complete, and I've submitted it to Steam Greenlight. If you would like to support Shigatari and my descent into madness, please vote.
I'm open to talking codes if people are interested. Here is a snippet of how I pick random character art for scenes:
Code: Select all
init python: char_imagefiles = [x for x in renpy.list_files() if 'images/characters/' in x] char_imagelist = [[x.split('/')[-1].split('.').replace('_',' '),x] for x in char_imagefiles] for char_image in char_imagelist: renpy.image(char_image, char_image) def get_random_char(tags): try: return random.choice(list(char for char in char_imagelist if all(x in char for x in tags))) except StopIteration: return None # filenames include underscore delimited "tags" # examples: .../images/characters/samurai_man_spd_2.png, .../images/characters/samurai_wom_spd_1.png # so if I wanted to get a random samurai who looks like they would have a high SPD stat, I would use... # $ npc_image = get_random_char(["samurai","spd"]) # and if I want to display it, something like this... # $ renpy.show(npc_image,at_list=[right],tag='npc')