ambiera logo

Ambiera Forum

Discussions, Help and Support.

folder icon Ambiera Forum > CopperCube > Help with CopperCube
forum topic indicator Creating a visual novel game engine...
person icon
luposian
Registered User
Quote
2024-05-05 02:19:13

I'm working in Ren'Py currently, but it exposes all source files to the public. I'd like to be able to hide the source files and just have the executable. Like CopperCube does presently. But I don't know if anyone has already created a 2D visual novel engine as of yet...

person icon
luposian
Registered User
Quote
2024-05-05 02:56:56

Ok, I just Googled it and found out that JIC already did something that very closely resembles Ren'Py. In digging around, I see there are a bazilion different characters (people from here) in his "novel"... including ME?!? I'm honored! And the rendering is NOT half bad! Luposian is not actually a white arctic wolf, but I'm not gonna complain! I am curious as to who did the art... or was it a pre-existing image drawn by someone else?

But, enough of that... I'm now trying to figure out how to make use of this visual novel engine for my "revisit" project.

person icon
luposian
Registered User
Quote
2024-05-05 04:55:25

Ok,first problem...

Apart from the game starting out with the whole "enter name" thing (which I won't want/need in this visual novel game), the next part is confusing.

I have the scene I want, but the error console is popping up and saying stuff that I don't understand. Is it because it's looking for files in directories that are not mine or is there something wrong with the files themselves?

embedded external image
🔎︎


person icon
luposian
Registered User
Quote
2024-05-05 05:32:17

MAN! This is confusing... I'm trying to get this game to actually allow me to quit it, using a key (can't use ESC, that's already being used for.... something)... and it doesn't work! No key seems to quit the game, period.

The whole console prompt thing seems to only appear when you test the game in CopperCube. In the actual .EXE, it never appears.

I'm trying to figure out if this is a complete extension or just a proof of concept. I'm trying to learn how it does what it does, but I'm scratching my head in a lot of places. What is familiar to me doesn't seem to make things happen the way I figure they should. Not sure if something is blocking something else.

More digging required!

"Hey, someone get a broom over here! I'm stepping in all his dirt!"
emoji icon_grin

person icon
just_in_case
Moderator
Quote
2024-05-05 05:39:29

Thanks, @Luposian, Glad that you find the Visual Novel CC engine useful. I can't express my happiness that finally somebody is actually going to use this. This was one of the major projects that I have created and spent a lot of time creating, especially for the creation of the template.

I am not an artist and didn't have enough time to write a story for the template as my goal was to serve the project to the community as soon as possible. So I used ChatGPT to write the story for me, believe me, it was not an easy task giving a prompt to the chatGPT and getting the desired result, I had to go through a lot of prompt engineering.

Then I used if I remember correctly "Tensor.art" AI to create character images, and also some of the characters by artists on itch.io. I have spent days getting good characters but when I was short with the same style or taste, I switched to AI for the creation of characters.


but I am glad finally I was finally able to bring something up, with an easy-to-use tool to frame dialogues along and the visual novel template, this extension and template are not just limited to the visual novel but can be used for many different things. Especially the dialogue system in RPGs.

Now coming to the issue that you are having in the next post.

person icon
luposian
Registered User
Quote
2024-05-05 05:58:37

Ok, it appears that the Javascript is overriding everything and taking over. And that Javascript file is... ugh! I can't make any sense of it (no surprise.... I'm not a programmer). And it's HUGE!

I'm trying to make sense of the familiar CopperCube aspects and come to realize, that is the thinnest layer of this thing... the Javascript is basically doing everything! Controlling everything! The biggest aspect of this extension is the one thing I don't have much hope of ever understanding!
emoji icon_cry
However, if thou mayest be willing to help me in this venture, I wouldst be willing to give ye more finances, as I have in the past. (wink)

person icon
just_in_case
Moderator
Quote
2024-05-05 06:31:27

First of all, this is a complete extension and not a proof of concept, there is room for updates but not a lot of people are using it so I don't think I must work on this project anymore.

The template comes with 2 variants.

Encryption is one and without encryption. The encryption template allows you to encrypt the .CSV file, so that the end user won't be able to edit the storyline, character names, and other stuff, only you can use the encryption key and update the game, if you want you can update the game via online updates, that is the major idea.

Now, in the CCB file itself, there are 2 Scenes.

One is the menu scene, and the other one "New 3D Scene1 " is the actual novel scene.

In order to create your own visual novel, you don't necessarily need to edit the CCB file. You can leave it as it is, if you want the same features in your novel as there are in the template.
Unless you want to remove some stuff or add something that's totally different.

The main thing that you need to edit is the .csv file that comes with the template.

I suggest you to open the CC.csv file in Excel or Google Sheets.

This is the main file you can edit all the major things in here.

Lines- it is necessary to use this cell, to serialize by giving your lines a number in an increment order, don't give empty lines a number in your CSV file.

Scene - It is the background of the novel, in the template I used 1,2,3,4,5... and so on as the names for the background (scenes). You can use whatever name you want and just use the same in the CSV file.
For example "Jungle.png" then you need to enter "Jungle" in the Scene cells in the CSV. to load the jungle background. Just make sure that all the BG images lie in the directory sprites/background

Character Names- You can change the name of the character by renaming them in this cell. As per your needs, you can have different characters for your novel.

Character Mood- Your character can have different Moods or emotions like "happy", "Sad" and others. and the extension will automatically load the image for the character based on that mood. You need to put the images for the character mood in a folder, with the same name as your character in the sprites directory with the same name as the mood.

For example, if your character name is "Luposian" and the mood name is "Happy", then you need to put the "Happy.png" file in the directory, "sprites/Luposian".


Character Dialogues- Here you can write the Dialogue your character will speak in the novel, which can be shown in an overlay either animated or non-animated as per your liking.

Sound- you can specify a copper cube compatible sound file here so that you can play some voiceover, or music as per the requirement. The Novel template doesn't use any sound or voiceover though but you can use the sound if you want, I recommend using the ".ogg" or ".wav" extension.

Duration - It is the duration for how long the dialogue should be displayed on the screen before automatically switching to the next dialogue if autoplay is turned ON.

Choices & Results - There are 4 Choices that you can allow the user to pick from. Each 4 choices is linked to 4 results, they will decide the fate of your character. you can frame the choices however you want them, if you don't want any choice to show up, then you can just leave them empty.
Please have a look at the template CC.csv file to get a better idea of how to use the choices.

Result Result is always going to be a line number, that is the number of lines that the extension will switch to if a choice is selected, and then the story (dialogue) will continue from there onwards.

Continue in next post

person icon
just_in_case
Moderator
Quote
2024-05-05 06:32:38

I recommend you color code them, so that you can easily get an idea of which result leads to which line. In my CSV I have color-coded most of them as Red and Green, based on Bad or Good choice, so that I can quickly navigate to the line for the bad choice by looking at the red color, and good choice by looking at green color.
Then I insert empty lines of same color to get an idea of which line they should switch to and from where the story will continue if the the user made that choice.

Variable- In our novel, we want to have some sort of inventory and other stuff, that will give score(points) to the player or something else. You can enter the name of the variable in there.
For example "Money", if you want to give or take money to/from your character when he reaches a specific point.

operator- basic math operations for variable values, for example if you have used "Money" as variable name in the variable section then you probably want to add, subtract, divide or multiply the money. Then you can simply put the operator for that operation. Let's say you want to increase the "money" of your player by giving him "100" then you can use the + operator so that it will add the value that we are going to put in next cell.

value It is going to be the value that you want to give or take from the variable. For example, you can use the value of 100 with the operator as "+" for the variable "money". Now whenever the player reaches this line or dialogue then he will get 100 money.


You can have multiple lines with multiple data but in the above-mentioned format, so that you can frame your own story. That's all about the .CSV file. There is one more extra line in the CSV, for saving and loading the variables but I will explain that in the extensions feature. So basically it is the .csv file that you need to edit a lot and not the template file. Based on the .CSV file you need to rename the images (background, character images, moods, soundfiles etc). Based on your character names you have to create the folders in the sprites directory.

I also recommend you to go through the video tutorial, however verbal English is more like some sort of Elvish language but it might help you in understanding stuff.


Now the extension allows you to have other features as well. I am writing them in the next post.

person icon
luposian
Registered User
Quote
2024-05-05 07:14:27

Thanks for the extensive explanation. And some of the aspects of the .csv file will definitely come into play in my game. Things that were never part of the original Apple II graphic text adventure game. I plan to make things that had no value (use), have value, and have spoken dialog, and music, too.

If you'd be interested in helping realize this "Revisit", just ask and I can show you some of the material I came up with years ago, plus what I started working on in Ren'Py before I discovered your "clone". Seems you really wanted to help CopperCube have the capability to make visual novels! Very nice!

person icon
just_in_case
Moderator
Quote
2024-05-05 07:24:42

So here are the extension features, they are also mentioned on the product page but here I am reposting them again.


Filename- It is going to be the name of the .csv file. In the template it is CC.csv, you can use any other name as well.


Use Encrypted it allows you to use the encrypted .csv file If you don't want the end user to be able to edit the story, characters, high score, or anything else.

Encryption key It is like the password to unlock the encrypted file, so that the CC can decrypt the file during runtime and play the story.

You need to use the extension Encrypt and Decrypt from my itch.io page in order to create your own encrypted .csv file or any other encrypted text file, then you can use that .csv along with the encryption key in the template.

Start From Line- it is the line in the CSV file from where the story will start.

Stop at line- It is the line where the novel will stop, you don't necessarily need to be specific about the value here, just put a value higher than the total number of lines in your CSV.

variables to save load You need to manually write the variables here that you want to save and load in the novel. This is only necessary if you are not using the CSV for loading and saving variables, otherwise, you can write the variable names in a line in your CSV and just provide the line number in the next option.

variables from line- you need to put the line number in here from the CSV where you have written the name of the variables that you want to save and load in your game (novel).

Autoplay- Check this option if you want the story to be auto-played based on the duration provided in the CSV file for each dialogue, otherwise, it is required to press the mouse click or the key responsible for moving in the story ahead.

Text Animation- Allows you to enable/disable the typewriter text animation for the dialogues.

Skip Keycode - This is going to be the keycode for moving ahead in the story, in the template it is 32 for the space bar, you can have a different keycode here.

Rollback keycode- There are times when you make a wrong choice or miss some part of the story and you want to go back without restarting the whole game or let's say if you just wanna check all the outcomes of the choices, then you simply put a keycode here, and upon pressing the related key, the dialogue or story will rollback to the previous dialogue, it will also reverse the variables as well, for example, if selecting a choice gave you some money then rollbacking will deduct that money as well, just to keep the things synced so that user won't be able to misuse this feature and can have an infinite score or something like that.
Took me quite some time to fix the bugs in there for this specific section when I developed the extension.

Image extension is the extension that you are going to use for the background and character images and all, by default the template uses ".png", but you can use any other Coppercube-supported extension.

Overlay folders Then there are a bunch of different folders for the overlays that you need to select for each property that has the folder options. These are nothing but just Coppercube folders that hold the overlays, that will display, the dialogue, background(scene), character, choices, etc.

Action when Finished Allows you to execute an action when the novel is complete or finished, for example, switch to the credits scene, or another level or show the game over the screen or something like that.

Screenshots for autosave This option will automatically capture the screenshots from the novel and will later display them in the load game menu. So that you can have a visualization of the scene that you were in when the game autosaves itself.


Continue in next post

person icon
luposian
Registered User
Quote
2024-05-05 07:26:29

And, main question... while working on modifying the existing template into my "Revisit", how on earth do you quit the game or at least go back to the main menu, so you CAN quit? Nothing I've tried works.

Is there also a way to skip forward, to other scenes, portions of the storyline, etc.? Like if I want to jump to the 3rd scene (and it's dialog) right from the very beginning (while playing). Is there a way to do that easily? The further I develop the game, the less time I want to have to go through everything to get to the newest parts, to make sure they work right.

person icon
just_in_case
Moderator
Quote
2024-05-05 07:35:09

Then there are some other stuff, like variables that you can use to quicksave and quickload, or autosave and autoload the game.

Also just wanted to mention that in your .CSV file you can simply enclose the variable name in the $ symbol so that their value can be shown in the dialogues for example if you have a variable named money then you can use $money$ and it will show the amount of money your player will have.

The same has been used in the visual novel template to show the username which is enclosed in $ as $user$ so that it will show the actual username that can be anything entered by the end-user.

unfortunately, I don't have that much time, to help you out with your visual novel, I am too carried away these days with other stuff, but I hope this information will help you in understanding the template and will help you in creating your visual novel.

there is a lot of room for the update in the extensions I had so many ideas but as not that many people were interested in using this, I haven't worked on the project anymore. I believe I can add more animations and other stuff, and a lot of other things, and I also believe I can make it way easier than Renpy to create a visual novel with this extension alone. But again there is no profit on working on something that people are not going to use anyway.

Or it is just me that is just bad at explaining the ease of use of this extension?


That's all I can write for you so that you can gain some information on how to create visual novels easily in CC.

person icon
luposian
Registered User
Quote
2024-05-05 08:14:17

I'm currently trying to use LibreOffice Calc to edit the .cvs file and trying to create a multi-line "rhyme" in a single cell, but the game only shows the 1st line and then messes up and won't show the rest.

So far, the only way I can quit the game is if I simply run it from within CopperCube. No way I know of to quit inside the actual game .exe, unfortunately.

I wish programmers could switch gears (mentally) and translate things on a end-user level. Break things down to "Fool's English", so it all made perfect sense. But very few, if any, I've spoken to, ever can.

Oh, well... more mental exercise for me, I guess!
emoji icon_grin

person icon
luposian
Registered User
Quote
2024-05-05 09:10:46

Ok, I found a work-around for the spreadsheet limitation. The game seems to have a specific text window size and word-wraps at a certain distance. So... I simply had to figure out how many spaces I needed to put in between each line of the verse! It's tedious, but do-able. I've finally gotten the first "page" (scene) finished and ready to move onto the next one. WHEW!
emoji icon_grin
The text formatting isn't to my perfect liking (it doesn't look quite centered to me), and I can tell the text doesn't go the full length of the dialog "window", but I'd have to figure out how to change it, and I'd rather get the important stuff figured out first (each scene established and the dialog laid down), before I dig around in the weeds of "code nightmare", which I'm sure I'll have to, to change any of that.

person icon
just_in_case
Moderator
Quote
2024-05-05 10:28:06

Just like any other Windows application, you can press Ctrl+F4 to exit the game.

just like any other Coppercube game, you always have the freedom to add anything in the novel, you can add extra overlays in your scene, maybe with an "X" image to close the game, and can have an on-click do-something behavior attached to it, to that behavior you can have "quit application" action attached to it, so that you can close the app with an on-screen button.

For the CSV file and the word wrap and all, you can always adjust the CSV file to as per your liking, you can change the cell height or width so that the text fits in completely, use the formatting option as per your liking, just make sure that the respective cells contain the relevant data.

All the best for your Visual Novel!!emoji icon_holy


Create reply:










 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


icon_holyicon_cryicon_devilicon_lookicon_grinicon_kissicon_monkeyicon_hmpf
icon_sadicon_happyicon_smileicon_uhicon_blink   






Copyright© Ambiera e.U. all rights reserved.
Contact | Imprint | Products | Privacy Policy | Terms and Conditions |