Status
SteamPeaks
ChartsSalesUpcomingPatchesNewsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
NewsSteam's own announcements and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesNewsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Angel WingsNewsAngel Wings Dev Update III: Technical Details (Oct 2020)
Community

Angel Wings Dev Update III: Technical Details (Oct 2020)

Angel Wings · published 1 Oct 2020, 22:54 UTC

All newsPlayers around this dateRead on Steam

Hi all, virusek20 from the dev team here.
In this dev update we'll cover the technical side of Angel Wings and various challenges we had to overcome during development.
Just like the previous Dev Update, this one will also answer the question "Why is this taking so long?"

Picking the right tools for the job


If you've ever tried making a visual novel, you’ve probably heard about RenPy or similar tools, right? We decided to use none of those, in favor of our own custom engine written in C++ using SFML. This was done in order to achieve an experience that reflected the original concept instead of trying to work around existing tech. RenPy basic setup takes only a couple of minutes, while designing everything from scratch is a several month-long project.
As development continued, some more complex problems were encountered. We found that SFML may have not been the best tool for the job. We contemplated switching to yet another library later during the development, but it was already too late at that point and we didn’t want to risk delaying the project yet again. After all, one could keep switching tech like this forever, never getting anything done, so we instead decided to stick with what we had.

Cutting edge tech for a cutting edge VN


SFML is fine for its intended purpose, but the more tech-savvy readers may be puzzled as to why we decided to use a library like this if we claim we want to use cutting edge tech. We've slowly replaced pieces of this library bit by bit with modern technology used in high quality games while still retaining the fast development speeds that SFML offers. Honorable mentions are BC7 texture compression, DDS texture format, ZSTD compression for assets and the usage of modern OpenGL rendering techniques alongside the existing SFML pipeline.
We didn't implement all these features just for the sake of it, but as a result of various technical challenges we've come across during development. Did you know that every single CG and background are at least 4K, some of them even more? Some scenes in the game use dozens of these in short timespans, meaning we had to get around problems like slow HDD speeds and massive memory usage that comes with 4K textures. As it turns out, modern AAA titles have already solved all these issues, so we tried to implement the very same tech into our engine.

History of the Angel Wings codebase


Before I joined, around 2017, there existed a prototype Angel Wings engine written in C# using Monogame that eventually got scrapped in favor of the current C++ based engine. This decision set the development back a few months, but I believe that this decision was worth it in the end. The major reason for such a big change was the fact that one of our lead developers was much more experienced with C++ and didn't want to slow the development down by using a language he wasn't proficient in. I personally never worked on this prototype as I joined after the switch, but as a .NET developer I must admit I would have preferred to refine the old version instead.

It's about the journey, not the destination


While this project has slowly grown into a full-sized game it's always been more of a fun side project for me, so I never opposed choices that involved "reinventing the wheel" in favor of using existing tech. Could we make something similar in an existing engine? Sure, but we wouldn't learn as much as we did during the last few years while working on this game.
Given the fact that neither of us on the dev team are game developers by trade (or at least were at the start of this project), we’ve also gone through several rewrites of certain parts of the game because we realized that we went in a direction that lead to a dead end, so those also accounted for the longer dev time.

Final thoughts


So now you see why the programming part of Angel Wings took as long, if not longer, as the art side covered by the last dev update. Despite maybe sounding a bit bitter about the whole journey, I can safely say I’ve had a lot of fun and that it’s been an invaluable experience for me, both for my professional life as well as making new friends along the way.
As always, please don't hesitate to reach out with questions or comments. We're always happy to provide updates on the game whenever we can.

-virusek20

More from Angel Wings

Other announcements

All news
Esports7 Nov 2024Angel Wings: Endless Night is Available Now!The long-anticipated spin-off sequel to Angel Wings , Angel Wings: Endless Night is finally available for download! The Endless Night A dark thriller with both comedic and spine-chilling moments, Angel Wings: Endless Night is a love letter to classic survival horror games, brought to life in visual novel form. As a spin-off sequel to Angel Wings, Endless Night finds you trapped in a haunted man…In-game event24 Jan 2024Angel Wings 1/23 Update - AMD Texture FixHi all, We have recently pushed an update that should fix the graphical issues with AMD hardware. This update may cause slightly longer load times on older machines - if you weren't affected by the AMD visual bug and experience these longer wait times, please feel free to switch to the Legacy branch in the Steam Library by right-clicking Angel Wings > Properties > Betas and selecting Legacy fro…Game update24 Jan 2024AMD Texture FixHi all, We have recently pushed an update that should fix the graphical issues with AMD hardware. This update may cause slightly longer load times on older machines - if you weren't affected by the AMD visual bug and experience these longer load times, please feel free to switch to the Legacy branch in Steam by right-clicking Angel Wings > Properties > Betas and selecting Legacy from the dropdo…