Lapine Tales devlog

  • Lapine Tales is a point and click / platformer / visual novel game (hopefully taking the better parts of each element or paring down to which is best for gameplay) It is inspired by the the warren rpg tabletop role-playing game (which was in turn inspired by the book Watership Down, Fifteen Rabbits and Peter Rabbit.)

    I just have begun working on the initial game engine, but now have something to show.

    Inspirations:

    * Bunnies live, fight, die, love

    * The Warren RPG

    • "The Warren is a tabletop role-playing game about intelligent rabbits trying to make the best of a world filled with hazards, predators and, worst of all, other rabbits. It is a game about survival and community." - From The Warren RPG web page

    * Tokyo Dark (TD)Point and Click (P&C) adventure, great story, art (including full video animations), shows how a constrained P&C engine can tell a great and immersive story

    Goals:

    * Implement a TD style UI in my own C3 engine, with a short story, add platformer elements if interesting.

    * Create simple tools for level / dialogue / game story creation to speed content creation.

    Initial Design: I took a stab at this before, based on Pixel Art and making it a Narrative Platformer, but that was a fail: too much effort to marry genre in one form (NPC AI, Platformer death mechanic not good for adventure), overall not enough narrative possibilities. So this is my second iteration, focusing more on narrative.

    "Use Your Constraints" (From Slime Rancher Post Mortem)

    * Limited Art skills

    - Use befunky.com Artsy post processing on all below art sources to unify style (Underpainting 2)

    - Free/Low Cost Pixel Art Assets

    - Free/Low Cost Drawn Art

    - Free Stock photos

    - Use level design for 'background art'

    - Google Maps for Farm Map with befunky and 3D view tilted to perspective I liked

    * Point and Click without jumping

    - Simple flat levels with lots of decoration (eventually! Very plain now.)

    * Limited Animation skills

    - Leverage existing pixel or other sprite strips with Artsy post processing to unify style

    - Use art from LadyFizi WD Fan Art who graciously allowed me use her art in my game (LadyFizi Deviantart)

    - Use Spine to animate 'still pictures' from above (I am a Spine novice, but see good potential here)

    - Still hoping for Spine / Spriter integration into C3, right now using sprite sheet which is more of a memory hog and the animations are not as smooth.

    * Story/Subject limitations

    - Rabbit character limited expressions

    - Drawings in curscene can add more. but sprite on screen are too simple, hard to differentiate?

    - Add different animals (akin to different human personalities)

    For the first above example, I used the Epic Platformertemplate and added: point and click movement and point and click hot spots. When hovering over a hot spot, the 'actions' for the hotspot appear, each hotspot has a 'distance visible' so they appear or disappear as the player moves towards or away them. Most of the actions of the hotsport trigger dialogues of one form or another and each instance of the hotspot has variables for the actions and tags for the parameter for each action. Let me know what you think.

  • Example of dialogue system in action:

    I used the Dialogue System from Magistross and added a couple of new commands: showcutscene / removecutscene, also showfog / removefog (with an RGB for the fog color to add atmosphere and focus on dialogue vs background) which shows a sprite above the dialogue for more flavor (could become animated as TD does sometimes, if I can get some animated scenes or use spine to animate.) I also integrated the Epic Platformer from 'Show Scene' Zone command to pull in focus to the context of the dialogue. Both systems are nice and extensible.

    I used Spine to do a very simple / primitive animation of the 2D art of the first rabbit portrait, make a little head turn back and forth using FFD / Mesh with an edge added down the middle of the face. I had to integrate it as sprite sheets for now, until a Spine plugin is available for C3. I will add similar the other portraits (including hopefully some eye blinks, which also always add a bit of life to a headshot.)

    The cutscene art is from stock photos and pushed through the befunky.com underpainting 2 filter.

  • Tool time, no pictures.

    The Dialogue template requires making *.json files with details per line about portrait used, location, facing, etc. I want to make it simpler to write dialogues.

    I want to write all my dialogues in a simple text editor and run a 'make' to create a *.json file. I find it more productive to be editing text directly rather than hacking up a *.csv file or using the Construct utility template and having to run Construct.

    So I created a simple c# parser to parse a text file and create the *.json file. I got a version working, but looking for feedback if anyone is interested in it or had approached this in other ways.

    Some dialogue lines will still be complex, e.g. choice and fork, but as I looked at those, I did not want to re-invent the wheel too much to define new ways that those would work in the text file. As I create more dialogues with those constructs, I'll see if that changes.

    Here's my input text file:

    // If you don't use something like mcpp, ignore this.
    
    // Name of overall dialogue dictionary (currently not used in dialogue system)
    [Header]
    WarrenBeforeFire
    
    // Default Character Information
    // [CharacterName]:PortraitPosition[Left|Right]:[PortraitName]:[PortraitX int]:[PortraitY int]:[Mirrored|NotMirrored]:[ShowFrame|HideWindowFrame]
    
    [Characters]
    Thistle:Left:Portrait2:0:0:NotMirrored:ShowFrame
    Nettle:Right:Portrait1:0:0:NotMirrored:ShowFrame
    NettleSad:Right:Portrait3:0:0:NotMirrored:ShowFrame
    
    // DialogueBlock
    [Dialogue]	
    // Dialogue Header / Key
    DialogueExample2
    // Actual Dialogue
    // CharacterName: "blah blah blah"
    Thistle: "{enablefog:192,192,192}Thistle you look worried.{pause} Is that smoke I smell in the warren?"
    Nettle: "{showcutscene:GreenForestPath} Nettle, a fire! It's close we must escape to the swamp. We'll be safe there.{pause}{removecutscene}"
    Thistle: "{showcutscene:ForestFire} Ah! The fire comes, now I hear the roar is it too late?{wait:500}{removecutscene}"
    
    [Dialogue]
    DialogueExample4
    Nettle: "The smoke is choking us out!"
    Thistle: "Let's run for it!"
    Nettle: "No, I am ready to do that, wait for my doe!"
    Thistle: "We don't have time, we must go now."
    NettleSad: ".{pause}.{pause}.{pause} Sigh, all right, I hope she has already left!"
    // End section required (all lines ignored in this section)
    [End]
    [/code:3abdt26u]
    
    This produces a json file:
    
    [code:3abdt26u]
    {
            "c2dictionary": true,
            "data": {
    "DialogueExample2": "{\"c2array\":true,\"size\":[3,7,1],\"data\":[[[ \"{enablefog:192,192,192}Thistle you look worried.{pause} Is that smoke I smell in the warren?\"],[1],[\"Portrait2\"],[0],[0],[0],[0]], [[ \"{showcutscene:GreenForestPath} Nettle, a fire! It's close we must escape to the swamp. We'll be safe there.{pause}{removecutscene}\"],[2],[\"Portrait1\"],[0],[0],[0],[0]], [[ \"{showcutscene:ForestFire} Ah! The fire comes, now I hear the roar is it too late?{wait:500}{removecutscene}\"],[1],[\"Portrait2\"],[0],[0],[0],[0]]]}"
    , "DialogueExample4": "{\"c2array\":true,\"size\":[5,7,1],\"data\":[[[ \"The smoke is choking us out!\"],[2],[\"Portrait1\"],[0],[0],[0],[0]], [[ \"Let's run for it!\"],[1],[\"Portrait2\"],[0],[0],[0],[0]], [[ \"No, I am ready to do that, wait for my doe!\"],[2],[\"Portrait1\"],[0],[0],[0],[0]], [[ \"We don't have time, we must go now.\"],[1],[\"Portrait2\"],[0],[0],[0],[0]], [[ \".{pause}.{pause}.{pause} Sigh, all right, I hope she has already left!\"],[2],[\"Portrait3\"],[0],[0],[0],[0]]]}"
            }
    }
    [/code:3abdt26u]
    
    Which I can import into Construct and use.
    
    (I also use Makefiles, preprocessor, etc. so I can do file includes defines, if, endif, etc. in my original sourcefiles before I process the file.)
  • Looking awesome! Keep it up! I use the Magistross plugin too! He is amazing- such a useful plugin Good luck on finishing!

  • Looking awesome! Keep it up! I use the Magistross plugin too! He is amazing- such a useful plugin Good luck on finishing!

    Thanks for the feedback, finishing is definitely hard!

    @haddy22 - When you used the Dialogue Template, how did you about creating all the dialogue content? Were you using the Dialogue Utility, *.csv files, or did you have another tool flow?

  • To MiniGame or Not To MiniGame That is The Question

    The main gameplay is Point and Click Adventure / Visual Novel, so most of the play and tension comes from the story and the feelz.

    How about some intermissions though? Since the engine is all set for platform mechanics, I can easily throw in some mini games. The question is do they feel good and what happens to the story if you fail, I don't think we want to restart the story, you generally don't want to move through all the scenes again. It could be a simple block until you get through (then need to balance 'hardness' of minigames, would not want some pure narrative junkie to give up on the story because they cannot pass a minigame.) I am thinking of something from the warren tabletop RPG: give players 'scars' and those will change some future actions / story lines (for example if you are burnt as in the below case, your doe will refuse to be with because of your burnt fur / skin, so you will not get the ending where you raise a big litter together, instead you become lone scout for the warren) Also, I am somewhat inspired by Undertale with bullet hell mini game used for combat, but still telling a narrative tale.

    Here's an example mini game, running through the burning forest avoiding falling burning branches, all place holder art (and the gif version can't handle all the colors, but hopefully it's possible to see what's going on.)

    A good discussion of mini games in RPG and their purpose is found here.

  • haddy22 - When you used the Dialogue Template, how did you about creating all the dialogue content? Were you using the Dialogue Utility, *.csv files, or did you have another tool flow?

    Yeah I just used the default- but I never got super far along with the 2 games I was using it for. I could see it getting frustrating or overwhelming for big projects. My experience with magitross tho, if you send him a PM, he is SUPER helpful. Very nice guy. Not sure if he is as active now as he used to be. He helped me a ton with all the custom things I wanted to do.

    This is what I was using it for. http://www.playground.yellowbouncyball.com/gametests/zion/ (its pretty rough!)

  • ...My experience with magitross tho, if you send him a PM, he is SUPER helpful. Very nice guy. Not sure if he is as active now as he used to be. He helped me a ton with all the custom things I wanted to do.

    This is what I was using it for. http://www.playground.yellowbouncyball.com/gametests/zion/ (its pretty rough!)

    Ooo, I like the feel of zion, it definitely reminds me of a Land/Vehicle version of Sunlesss Sea. I posted into support thread about what I was doing with my helper tool, so if someone is interested they can ping me and he has been responsive to other topics we I appreciate.

  • Adding a map to navigate begin major scenes / levels. Hotspots on the map allow for actions beyond just travel, like 'info' which lets the main character Spout Lore. Could have a mini game for each time you travel, depending on the location you are going to, if it does not get too tedious (or perhaps just a one-shot mini-game.)

    The map was created using Google Maps, 3D views of a farm in Sebastapol, CA, then used Underpainting 2 Filter from befunky.com. Lots of GIF color munging here.

    Original Map Source

    Processed Map:

  • Saw blackhornet post on updating Paster for C3, had to try it out...

    This is my new favorite plugin/addon. Also thinking about using it for tracks in snow for the rabbits hopping around in winter scenes, etc.

    Now we have a nice reflection in a pond, near the fire (didn't paste all objects, but most to test this out.) Hmm, maybe the rabbit should jump in the pond to douse himself!

    Another thing, thinking about making all level art design with processed / painted backgrounds instead of doing tilemaps, I am straying away from pixel art a little and the typical tilemaps push me back to that style. However, need to resource from affordable picture sources w/ post processing (and perhaps also ask a friend for access to some of his watercolor paintings or better yet have him paint some scenes for me.)

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Love this concept!!

    I’m really liking all the work you have done so far and the artwork and fx are really cool. The dialogue system works really well and I love how you have the rabbits face profiled on the left hand side.

    I’m still really new to construct but will be posting my own stuff up here soon for others to reflect on.

    I just wanted to throw this out to you to maybe help with a few story or game play ideas. Two things you may consider for resources are:

    1. An animated feature from 1978 called Watership Down. It’s very close to the way you are portraying your characters and may have a few good ideas you could use. It’s originally a book but I’m sure you could find the video pretty easily.

    2. I ran into this game when I was a teenager on the Commodore 64 game system called Below the Root which was oddly also based off a book. The game play was rather interesting as it was kind of a puzzle platformer where you didn’t have the option to fight (if I’m remembering correctly). You had to go off of what others were feeling to determine their motives. Just something I thought you may find interesting.

    Anyways, looking forward to seeing more of your game.

    Thanks for sharing.

  • Thanks GodModeX , I appreciate the feedback, it's buried at the top of the thread, but yes I mentioned that Watership Down is also an inspiration (book, movie, etc.) along with other books (Fifteen Rabbits, the warren) and even the old Peter Rabbit books. I'm glad you can see that in the early work.

    I'm going to go searching for Below the Root, thanks for pointing that out one out.

    Good luck on your project, looking forward to seeing it / reading about it in these forums.

  • Time for game state idea, just capturing a few:

    Game state logic ideas

    • Dialogue has game state and can set variables
    • Per hotspot could have state logic
    • Per level could have state logic

    Could have 1 level per major level game state

    • Pre Fire Home Burrow Level (initial hotspots and actions)
    • Post Fire Home Burrow Level (new hotspots and actions and level art)

    Game / Level state set up what hotspots are available, what actions are available on each hotspot

    • Need to change:
    • What hotspots are active and where
    • What actions are available on hotspots
    • What Dialogues (talk, info, fight, get, take, eat, etc.)
    • What ‘exits’
    • What interactions, different trigger than dialogue (perhaps none?)

    After each interaction run next state machine and update: new hotspots, hotspot actions, destroy hotspot if no more actions, update GameVariables (will also be done in Dialogue System). Trigger non dialogue scenes if needed.

    State machine with all inputs / outputs / states / state transitions can be defined in dictionary. Which gets loaded with each level.

  • Still thinking about the state machines and decided to put it on hold as I check out some tools:

    I am now looking at ChatMapper and Articy Draft.

    They are both narrative game making / dialogue tools, I saw Articy on 's cool devlog and the from looking at competition with that saw ChatMapper (I think the Tokyo Dark team used ChatMapper, I think I saw it in one of their dev pictures.) I want to explore them both a little, so I can think about how to use exported data from the tool to generate dialogue trees and state machines that I can easily integrate.

    WIP Splash Screnn (with working title, still deciding on title for the game). Need to blend / unify the different elements more, add some some more juice and effects (e.g. slideshow background to different scenes.)

    Rabbit art from LadyFizi who graciously allowed me use it (LadyFizi Deviantart)

  • Thinking that the fire sequence will be my little Crystal Dynamics OMS moment, so adding more juice. Normal Map Lighting test (Sprite Dlite + Shader.) Normal Map not in reflection yet (that's causing a Paster crash, and since have learned that effects may not work in Paster, so may need to hack with similar color sprite w/ opacity to make it look reasonably correct in Paster.)

    Crystal D OMS

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)