digitalmars.D.announce - Project DVN - Visual Novel Engine
- bauss (18/18) Dec 12 2024 Project DVN is a free open-source visual novel engine written in
- bauss (9/10) Dec 14 2024 Version 0.0.4 has just been released.
- bauss (32/44) Dec 15 2024 We're now at version 0.0.9 and here are the change logs since
- bauss (4/7) Dec 16 2024 I've now added a wiki page and alongside it a guide on creating
- bauss (27/30) Dec 18 2024 Updated link that works:
- bauss (13/14) Dec 18 2024 Sorry for the spam! Got some additional updates as we've reached
- Steven Schveighoffer (7/7) Dec 18 2024 Just want to say, while I don't intend to use this package, since
- bauss (3/10) Dec 19 2024 Thanks a lot! I really appreciate it.
- bauss (39/40) Dec 23 2024 I think it's time for another update since a lot has happened
Project DVN is a free open-source visual novel engine written in D. It's in early-development phase right now, but has most basic features already such as dialogue rendering with text/options, characters, images, animations, music and sound effects. It uses SDL2 bindings through derelict. The plan is to eventually have a fully-fletched user-friendly engine. Right now it's still a little technical to use, but in the future it'll be better. A website will eventually be made as well with guides/tutorials etc. For now there's just an example for building on Github. There's much more to come. This is just version 0.0.2 Dub: https://code.dlang.org/packages/dvn Github: https://github.com/ProjectDVN/dvn Preview: https://i.imgur.com/F28Y9Sr.png If you have any issues or questions feel free to ask or create an issue on Github.
Dec 12 2024
On Thursday, 12 December 2024 at 22:58:14 UTC, bauss wrote:...Version 0.0.4 has just been released. Since 0.0.2 and 0.0.4 the following has been done: - Added an "Act View" used to display before an act begins. Preview: https://i.imgur.com/AQp0nBn.png - Saves now contain background image and music, thus you don't have to specify it for every scene in your scripts. - Character names aren't dependent on characters anymore and thus names can be displayed without a character is being displayed.
Dec 14 2024
On Saturday, 14 December 2024 at 12:06:13 UTC, bauss wrote:On Thursday, 12 December 2024 at 22:58:14 UTC, bauss wrote:We're now at version 0.0.9 and here are the change logs since 0.0.4 - Added dynamic message level. Allowing messages to be received dynamically N ticks instead of hardcoded 42 ticks. - Fixed music not playing after leaving settings. - Added default character name colors - Fixed background loading order - Added color settings for dialogue panel and name panel - Added events - see https://github.com/ProjectDVN/dvn?tab=readme-ov-file#events Events are basically functions that can be called to do different things with the engine. This avoids having to modify the source code of the engine to do certain things. Example: ``` public final class Events : DvnEvents { import zid; import dvn.views.gameview; public: final: override void renderGameViewCharacterName(SceneCharacterName characterName, Label label, Panel panel) { panel.position = IntVector(150, 150); // The name panel will always be displayed at 150x150 } } ``` For a full list of events please see the link above....Version 0.0.4 has just been released. Since 0.0.2 and 0.0.4 the following has been done: - Added an "Act View" used to display before an act begins. Preview: https://i.imgur.com/AQp0nBn.png - Saves now contain background image and music, thus you don't have to specify it for every scene in your scripts. - Character names aren't dependent on characters anymore and thus names can be displayed without a character is being displayed.
Dec 15 2024
On Thursday, 12 December 2024 at 22:58:14 UTC, bauss wrote:Dub: https://code.dlang.org/packages/dvn Github: https://github.com/ProjectDVN/dvn Preview: https://i.imgur.com/F28Y9Sr.pngI've now added a wiki page and alongside it a guide on creating your first visual novel: https://github.com/ProjectDVN/dvn/wiki/Creating-your-first-visual-novel
Dec 16 2024
On Monday, 16 December 2024 at 23:07:28 UTC, bauss wrote:I've now added a wiki page and alongside it a guide on creating your first visual novel: https://github.com/ProjectDVN/dvn/wiki/Creating-your-first-visual-novelUpdated link that works: https://github.com/ProjectDVN/dvn/wiki/2.-Creating-your-first-visual-novel Also just released version 0.0.20 and since last update these are the changes added: - Added a new event for dropdown components in the settings view - Added a "runDVN" function that you should call from your main function - Multiple saves now possible - Added dynamic text for back labels - Added event for saving games - Allowing SPACE to be used for skipping dialogues - Added Left-CTRL as dialogue skip key - Removed ENTER as a dialogue skip key - Added auto skip button - Added meta object to settings that allows custom settings/data to be loaded/saved. - Added checkboxes to the settings view - Added dynamic button text to settings - Added meta object to save files - Added function to get current save id - Updated dub.json copyright - Added labels to scripts - Added "renderGameViewLabel" event - Allowed animations to be used in the UI generator - Added ability to change text font in the script files - Added "renderMainMenuView" event
Dec 18 2024
On Wednesday, 18 December 2024 at 18:56:06 UTC, bauss wrote:...Sorry for the spam! Got some additional updates as we've reached v0.1.0 - the first minor version of Project DVN. Here are the changelogs: - Added "loadingViews" event - Added custom views - Resource file structure simplified - Added dialogue history - Added additional character positions The reason for a minor version now is that Project DVN has reach somewhat stability in terms of development. It's not yet ready for a major version however as there are still things to develop, rewrite and fix. (Copied from the release notes of v0.1.0)
Dec 18 2024
Just want to say, while I don't intend to use this package, since I'm not interested in this genre, it's awesome to see something like this show up! These are the kinds of little additions to the ecosystem that help move D forward. Nice work! -Steve
Dec 18 2024
On Thursday, 19 December 2024 at 04:21:19 UTC, Steven Schveighoffer wrote:Just want to say, while I don't intend to use this package, since I'm not interested in this genre, it's awesome to see something like this show up! These are the kinds of little additions to the ecosystem that help move D forward. Nice work! -SteveThanks a lot! I really appreciate it.
Dec 19 2024
On Thursday, 19 December 2024 at 09:56:00 UTC, bauss wrote:Thanks a lot! I really appreciate it.Like Steve, not my genre either, but I'm still interested: Is there a game in the works using this engine? And how does this differ from other engines, such as Ren'Py (other than using a superior language of course ;) )
Dec 19 2024
On Thursday, 19 December 2024 at 17:04:07 UTC, Dennis wrote:On Thursday, 19 December 2024 at 09:56:00 UTC, bauss wrote:Yes, but it's still in the very early stage of development.Thanks a lot! I really appreciate it.Is there a game in the works using this engine?And how does this differ from other engines, such as Ren'Py (other than using a superior language of course ;) )It uses much less of a scripting language and scripts are written in a format much like ini. Renpy: ``` s "Sure, but what's a \"visual novel?\"" menu: "It's a videogame.": jump game "It's an interactive book.": jump book label game: m "It's a kind of videogame you can play on your computer or a console." jump marry label book: m "It's like an interactive book that you can read on a computer or a console." jump marry label marry: "And so, we become a visual novel creating duo." ``` Project DVN: ``` [main] text:menu=Sure, but what's a visual novel? [menu] option:game=It's a videogame. option:book=It's an interactive book. [game] text:marry=It's a kind of videogame you can play on your computer or a console. [book] text:marry=It's like an interactive book that you can read on a computer or a console. [marry] text:end=And so, we become a visual novel creating duo. ``` The above examples should be doing identical things in both engines, but highlights the difference. It differs in a lot of other things too such as how resources are used, UI etc. of course, but much like renpy then everything is mostly customizable and you can do pretty much anything; there aren't many limitations. But I also gotta admit my knowledge of renpy is limited and I've only played with it a little bit.
Dec 19 2024
On Thursday, 12 December 2024 at 22:58:14 UTC, bauss wrote:...I think it's time for another update since a lot has happened since last time. We're now at a major version, all the way up at v1.0.7. Changelog since last post update: - Added click safe components and fire events for component - Added "hideDialogue" and "hideButtons" properties for scripting - Allowing X/Y positions in charPos when scripting - Added "renderGameViewOptionsFinished" and "renderGameViewTextFinished" events - Added video component - Added "onFinishedVideo" event - Added video to UI generator and allowed videos to go on repeat - Added setting to allow a custom start view - Added video loading view - Added comments to script files - Added "renderVideoLoadingView" event - Incorporated zid (ui lib) as dvn - Added the "renderGameViewOptionsStart" event - Allowing intro video to be skipped - Added "RawImage" component - Allowing images to be used as dialogue panel and name panel - Allowed raw image for buttons - "takeScreenshot" function and saving screenshot when saving game - Updated "load game" UI to include screenshots of saved games - Allow main menu items to be any component - Allowing "renderButtonImage" in ui generator - Added "renderLoadGameViewPrevLabel", "renderLoadGameViewNextLabel", and "renderLoadGameViewLoadEntry" events. - Added default text color setting - Added screenshot shortcut (s) - Added screenshot gallery - Added music setting for loading music and main music - Added ablity to add a video background for each main view - Added history view Documentation has also been moved to https://dvn-docs.readthedocs.io/en/latest/index.html Also merry early christmas to those who celebrate it.
Dec 23 2024