Lapine Tales devlog

Show off your games, works in progress and everything else made in Construct 3!

Post » Sat Nov 18, 2017 1:53 am

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.

Image

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.
Last edited by Mikal on Mon Jan 15, 2018 6:53 am, edited 2 times in total.
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Sat Nov 18, 2017 2:11 am

Example of dialogue system in action:

Image

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 @SolunaSoftware '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.
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Tue Nov 21, 2017 7:07 am

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:

Code: Select all
// 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]


This produces a json file:

Code: Select all
{
        "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]]]}"
        }
}


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.)
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Tue Nov 21, 2017 5:59 pm

Looking awesome! Keep it up! I use the @magistross plugin too! He is amazing- such a useful plugin :) Good luck on finishing!
B
15
S
5
G
6
Posts: 79
Reputation: 4,300

Post » Wed Nov 22, 2017 4:18 am

haddy22 wrote: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?
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Wed Nov 22, 2017 8:05 am

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.)
Image

A good discussion of mini games in RPG and their purpose is found here.
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Wed Nov 22, 2017 7:11 pm

Mikal wrote:@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!)
B
15
S
5
G
6
Posts: 79
Reputation: 4,300

Post » Wed Nov 22, 2017 7:22 pm

haddy22 wrote:...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 @magitross 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.
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Thu Nov 23, 2017 6:08 am

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.

Image

Original Map Source
Image

Processed Map:
Image
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Post » Mon Nov 27, 2017 8:19 am

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.)

Image
B
63
S
28
G
19
Posts: 186
Reputation: 14,584

Next

Return to Your Construct 3 Creations

Who is online

Users browsing this forum: No registered users and 0 guests