A downloadable game for Windows and macOS

Download NowName your own price

The Eternal Winter.

This was the name of the curse that killed the heirs of the Esternian Empire, whose heartlessness and cruelty were known far and wide. The bearer of the curse would be born with a small fragment of ice near their heart. As they grew older, the ice would slowly encroach upon their heart and encase it until they die. Although the age of death varies, none of them made it past their 20th year.

And so, the Esternian Empire met its doom and was replaced by another ruling family.

One day, the Estern family’s last descendant and bearer of the curse discovered a possible way to break it. But can she believe in a solution derived from a long-lost fairy tale? Is 'true love' the answer to her family's long-lasting predicament? And if it is, will she ever learn to truly love someone?


The final game will contain the following features:

  • Around 6 to 10 hours of content for you to read and learn about Lumine's fate, and the world that surrounds her;
  • A warm and quirky cast of characters, each with their own agenda - and beautiful sprites to boot!
  • Three love interests to pursue, each with their unique route. Expect some bad endings along the way;
  • Partial voice-acting by a cast of talented voice actors;
  • An original soundtrack made exclusively for Eternal Winter;
  • 10 CGs to bring an extra punch to those emotional moments!

The SUNOFES 2022 demo contains a fraction of these features, and covers nearly the entire Common Route, one Love Interest's full route, and half of another. The word count is currently sitting at around 73K.

The entire team will continue working hard to deliver the final version of Eternal Winter to you, so stay tuned for future updates!


Voice actors:

* Lumine - Christina Costello 
* Aster - Jazzy Oliver
* Leonis - Josh Portillo
* Yoru - Sam Winters
* Argent - Jared Scott / Krows Nest
* Brahmi - Nakhodchivost
* Chione - Nathalie Ferare
* Goddess - Red Aller
* Septim - Vincent Fabbri (Twitter / IMDB)
* Therese - Katie Otten
* Yuei - Walter Mack (Twitter / IMDB)
* Yuna - Shakyra Dunn

Development Team:

* Adhylia- Main Character Sprite Artist (Concept)
* Azuremia - Side Characters Sprite Artist
* Brian Luttrell - Composer
* fluux - CG Artist
* GoingGoingKeith- Side Characters Sprite Artist (Twitter)
* Guillaume Laurent - Composer
* inertia_artist - Background Artist (Line Art, Colouring)
* JensterCreations - Background Artist (Concept Art, Colouring)
* Kowara - Lead Writer, World Building
* Laura Crossheart - Background Artist (Concept Art, Line Art)
* MadScientist - UI Designer
* Maria_Prism - Background Artist (Colouring)
* Saibraeus - Logo Designer
* Yacine Aggoune - Lead Writer
* Yoakas - Proofreader
* Yoru - RenPy Scripter and UI implementation
* YuukiPudding- Main Character Sprite Artist (Line Art, Colouring)
* Z - RenPy Scripter

External assets:

External assets were used under the CC BY 2.0 license, with the listed creators having no involvement with this project, and their assets used with non-commercial purposes.

Updated 27 days ago
StatusIn development
PlatformsWindows, macOS
Rated 4.0 out of 5 stars
AuthorAbyss Team
GenreVisual Novel, Interactive Fiction
Made withRen'Py
Tags2D, Fantasy, Female Protagonist, Multiple Endings, Otome, Romance, Singleplayer, Story Rich
Average sessionAbout a half-hour
InputsKeyboard, Mouse


Download NowName your own price

Click download now to get access to the following files:

EternalWinter-SUNOFES_2022-pc.zip 534 MB
EternalWinter-SUNOFES_2022-mac.zip 499 MB

Development log


Log in with itch.io to leave a comment.


Omg new update

(2 edits) (+2)

Magnificent. Their voices are good xD I find Christina, Lumine's V.A. so cute <3 but I think I have a problem with Leo's V.A . he doesn't seem to have one throughout the demo. Anyway, I do enjoy it very much. The art is good too <3

Thank you very much for playing through the demo, and for your wonderful compliments! :D

As for Leo's VA, we are aware of the situation - the problem will be addressed in the next update!

Due to the nature of Eternal Winter's development, the way assets are added to the game is a bit erratic. However, we hope that, by the end of the development, everything will be much more solid and structured!

Hope you stick with us until then!


Interesting demo!  I covered it in Part 3 of my Otome Jam reviews! C: Starts at 2:54.

Thank you for playing!



I haven't seen everything there is to see yet because I've made it my mission to attempt to try all the jam submissions over this weekend, but what I've played through so far is absolutely gorgeous :3 I think the UI has to be the prettiest UI I've ever seen in a VN before! I could just stare at that for ages on its own, haha. Everything is so very pretty!


Thank you very much for your compliment! :D

And best of luck to your mission, you've set quite a challenge for yourself!


Please re-check the demo. It have bug after this line.


I'm sorry, but an uncaught exception occurred.

While running game code:

  File "renpy/common/000statements.rpy", line 531, in execute_call_screen

    store._return = renpy.call_screen(name, *args, **kwargs)

  File "game/screens/story_related/story_text.rpy", line 3, in execute

  File "game/screens/story_related/story_text.rpy", line 3, in execute

  File "game/screens/story_related/story_text.rpy", line 9, in execute

ZeroDivisionError: integer division or modulo by zero

-- Full Traceback ------------------------------------------------------------

Full traceback:

  File "story_script/Common Route/day_1_part_1.rpyc", line 36, in script

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\ast.py", line 1949, in execute


  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\ast.py", line 1937, in call

    return renpy.statements.call(method, parsed, *args, **kwargs)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\statements.py", line 277, in call

    return method(parsed, *args, **kwargs)

  File "renpy/common/000statements.rpy", line 531, in execute_call_screen

    store._return = renpy.call_screen(name, *args, **kwargs)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\exports.py", line 2905, in call_screen

    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\ui.py", line 297, in interact

    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 2702, in interact

    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 3094, in interact_core

    root_widget.visit_all(lambda i : i.per_interact())

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 541, in visit_all

    d.visit_all(callback, seen)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 541, in visit_all

    d.visit_all(callback, seen)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 541, in visit_all

    d.visit_all(callback, seen)

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\screen.py", line 430, in visit_all


  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\core.py", line 3094, in <lambda>

    root_widget.visit_all(lambda i : i.per_interact())

  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\screen.py", line 440, in per_interact


  File "C:\Users\User\Downloads\EternalWinter-IntRenAiMo_Demo-pc\renpy\display\screen.py", line 625, in update


  File "game/screens/story_related/story_text.rpy", line 3, in execute

  File "game/screens/story_related/story_text.rpy", line 3, in execute

  File "game/screens/story_related/story_text.rpy", line 9, in execute

  File "<screen language>", line 9, in <module>

ZeroDivisionError: integer division or modulo by zero



Eternal Winter IntRenAiMo_Demo

Mon May 24 23:34:30 2021


Deleted 1 year ago

Thanks for reporting this bug, Bánh.

We've uploaded a new demo, the issue you pointed out should be fixed!


I came here from Renpy and while I haven't played much of the game, I have seen all the twitter posts and all that jazz and I have to say I love the cast.


Thank you very much! :D
Hope that at some point in time (perhaps when a meatier update comes out?), you'll give the game a chance.


Ceri here!

Before the start of the Winter VN Jam 2020, I decided to browse the hashtag for the jam and I found your team's project The idea of a Disney-like otome intrigued me so I went to the recruitment  Lemmasoft Forums post  to learn more about the story. As the weeks went on, I started checking every single Twitter post made for Eternal Winter I fell in love with the character designs, backgrounds, just about everything the game had to offer. Also saw a CG preview for the Leonis route and it was absolutely gorgeous! So when it came time for Eternal Winter to arrive on itch.io, I jumped aboard and started reading!

First Impresssions

- The story from reading the summary, feels like a fusion between The Snow Queen and Cinderella Phenomenon. It's interesting and the pieces of world building that the player gets from Lumine's interactions with each of her potential love interests paints an intriguing  system of how much the current ruling family has begun to slowly sever friendly relationships with neighboring lands.. The hint of Goddess lore seems very interesting..  I want to hear more of this world's resident deity.

- The UI is absolutely stunning. Props to MadScientist for it! I love the spinning snowflakes next to the dialog box and behind the logo along with the moving borders for confirmation options and when an option is moused over in the main menu. The icons and pages for the credits page are plenty pretty.

- Character designs are gorgeous. Leonis and Aster's is my favorite. In terms of personalities, going with the messy hair for Aster works with his teasing nature towards Lumine. Lumine reminds me of a more mellow Miyoko from Dark Nights. yet not afraid to lampshade on certain situations when she wants to It's an interesting twist to have Leo as a former orphan from the same orphanage as our heroine and be acquainted with her. Yoru is pretty much a workaholic but wants to do his best to keep his family business afloat despite restrictions.


- Would you consider adding the 'Story rich' tag to the drop down 'More information' menu? Considering the amount of world building and lore from various side characters on each route, I think that Eternal Winter could qualify as belonging in that tag.

All in all, a very solid demo. Can't wait to see how Lumine's story unfolds in the full version.

Thank you very much for your interest Ceri!
We teamed up with an incredible team for this Jam, and we hope that everyone's fantastic work comes through as you play the game! :D

As for the suggestion, we certainly can and will!

Thanks for playing through the early demo, we'll keep on working to expand it - and hope that the final result doesn't disappoint!