Jump to content

SnowSakura++ - A port of Snow Sakura as a demo to the March22 Engine


Slynch

Recommended Posts

Hello everyone at Fuwanovel! 

Just sharing my current project since it might interest you guys and gals; an open-source C++ VN engine and a port of Snow Sakura to go with it! 

It's not going to be the world's best VN engine, but it's completely open-source so anyone can contribute/modify it as they see fit!

The Snow Sakura port can be watched from the Github page: https://github.com/Slynchy/SnowSakuraCPP/

The engine itself can be watched from the Github page: https://github.com/Slynchy/March22/

 

 

And here's a video showing its basic VN capabilities, since a picture tells a thousand words!

I'd also like to shoehorn in a thank you to Kelebek1 for helping decompile the Snow Sakura scripts into a more usable format, and frc_ for giving some tips to improve the code :) 

If you also have anything to contribute- be it feedback, criticism, code, etc.- then please use Github or post here ;) I welcome it!

Edited by Slynch
Updated links!
Link to comment
Share on other sites

At least now solidbatman know there is a good VN called Snow Sakura (Maybe it's mediocre for nowadays though). Well, now I wonder if Winged Cloud will release VN called Sakura Snow too (Hopefully not, unless Winged Cloud somehow run out of flame for their cooking and need some flame from Snow Sakura fan lol).

As for OP, good luck and hope to be successful I suppose, since to be honest I didn't understand technical term here.

Link to comment
Share on other sites

2 hours ago, littleshogun said:

At least now solidbatman know there is a good VN called Snow Sakura (Maybe it's mediocre for nowadays though).

I didn't exactly love it when I read it in the olden days either, and I was a lot less picky and cynical back then. It never really worked for me.

Link to comment
Share on other sites

2 hours ago, littleshogun said:

At least now solidbatman know there is a good VN called Snow Sakura (Maybe it's mediocre for nowadays though). Well, now I wonder if Winged Cloud will release VN called Sakura Snow too (Hopefully not, unless Winged Cloud somehow run out of flame for their cooking and need some flame from Snow Sakura fan lol).

As for OP, good luck and hope to be successful I suppose, since to be honest I didn't understand technical term here.

 

5 minutes ago, Ariurotl said:

I didn't exactly love it when I read it in the olden days either, and I was a lot less picky and cynical back then. It never really worked for me.

It can never hurt to give it a shot when its finished. I'd be willing to

Link to comment
Share on other sites

1 hour ago, Ariurotl said:

I didn't exactly love it when I read it in the olden days either, and I was a lot less picky and cynical back then. It never really worked for me.

I can't really answer without being biased but I loved every bit of it :) I'm probably going to play Canvas 2 or Family Project next though. I'm a VN scrublord :) 

Link to comment
Share on other sites

15 minutes ago, sanahtlig said:

So what was the reason for porting Snow Sakura in particular?  Does the official English release have compatibility issues?

Not particularly; nothing more than a couple of typos. The main reason is that it's my favourite VN, but also that it was Windows-exclusive; an open-source C++ engine means it can go on any platform that OpenGL can go on (which is virtually most platforms). It compiles on Linux with issues on file pathing (due to case-sensitivity and other Linux idiosyncrasies), which means it should compile on other Unix-based platforms :) 

Link to comment
Share on other sites

What problem was this project trying to solve?  What is the use case scenario where your engine would be optimal vs. other alternatives out there?  And how does your proof of concept (Snow Sakura, in this case) illustrate these advantages and create value for either developers or end users? (Note: your last answer touches on the last one.)

When you're trying to promote adoption of a new idea or method, these are the kinds of questions you should be thinking about.  Otherwise you risk spending a lot of time on a project that might go to waste because people don't understand its significance or relevance. 

Link to comment
Share on other sites

8 minutes ago, Ariurotl said:

Hey, I'm one of those weirdos who loved Canvas 2, actually (except for Elis, who can go die Die DIE). Kazoku Keikaku... not so much.

I actually have already played Canvas 2 and I kind of liked it but I didn't follow a guide so I got a bad ending; kinda spoiled it. Going to use a guide this time though :P

 

7 minutes ago, sanahtlig said:

What problem was this project trying to solve?  What is the use case scenario where your engine would be optimal vs. other alternatives out there?  And how does your proof of concept (Snow Sakura, in this case) illustrate these advantages and create value for either developers or end users? (Note: your last answer touches on the last one.)

When you're trying to promote adoption of a new idea or method, these are the kinds of questions you should be thinking about.  Otherwise you risk spending a lot of time on a project that might go to waste because people don't understand its significance or relevance. 

While this is absolutely true, I am actually mainly making this project as a learning exercise in multi-platform deployment capabilities and engine development/organisation, as well as an experiment into finite state machine driven UI programming :) I just happen to also be a firm believer that everything should be open-source which is why I share my work on Github! :D

With regards to benefits of this engine over others? Not many; one large component is keeping it lightweight in terms of file size (using WebP instead of uncompressed 32-bit BMP), code complexity (the main game loop is approximately 20 lines long; the rest is handled by the engine) and being easily modifiable. While that last point is not the case at the moment due to lack of code comments/documentation, I will be providing industry-standard Doxygen comments in the final version. 

I suppose another benefit to this engine is the small-to-non-existent gap between author and programmer; the scripting language is extremely lightweight and easy to pick up on ;) 

Link to comment
Share on other sites

So this engine is best-suited to beginners who have little or no programming background and who might be interested in multiplatform releases.  Sounds good.  Might want to highlight that somewhere.

"I did it for the practice" is perfectly valid as a project rationale.  Sounds like you managed to create something potentially useful to others in the process, which is nice.

Link to comment
Share on other sites

To keep people here updated, I've been working diligently on this, and have made great strides in the last week :) 

I've just pushed v0.4.4 to Github and also released a working- albeit very early- demo of the port working! The source code can, as usual, be seen on the Github link in the OP, and the demo can be found here: https://github.com/Slynchy/Snow-Sakura-CPP/releases/tag/v0.4.4

Here's a few images of the demo version (it has non-working features removed temporarily, which is why the MENU button looks odd :) ):

Spoiler

SxU26x8.png

BLB89iB.png

QprM3Yh.png

SsMN4Ry.png

v6JW2Cn.png

 

Link to comment
Share on other sites

  • 2 weeks later...
11 minutes ago, Forgetful Frank said:

Being a huge fan of open-source software, I'm very happy to hear about your hard work creating this.

I love the concept of open-source, best of luck to you, sir! ^_^

Thank you! Unfortunately I just entered my last term (or semester, as other countries call it?) of the year at university so I'm awfully busy at the moment! 

Once I get the time, though, my top-priority is documenting all the code, and providing a skeleton project for people to use. Then my to-do list consists of:

  • Unicode support (doable via a string to Uint8-array converter function?)
  • Better/more transitions
  • Screen-shaking (for scenes where a character gets hit, for example)
  • Auto-clicking (this would take about 10 minutes to implement, just including it in the list so I don't forget...!)
  • Finishing the options menu
  • Cross-platform compiling (I will actually be taught this at university within the next week or so, so I might end up testing it on the engine!)

But your comments mean the world to me so thank you! :) 

Edited by Slynch
forgot an item!
Link to comment
Share on other sites

Just as a notice, the Snow Sakura port is now in a separate Github page to the engine itself. This is because I intend on making a couple of samples when the engine is more enhanced, to demo the engine, and this is just future-proofing it :) 

The engine is now almost fully documented as well, for anyone interested. Then it's onto the to-do list I detailed in the above post... o.0

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...