Hacker News new | past | comments | ask | show | jobs | submit login
The source code for Duelyst, a digital collectible card game (github.com/open-duelyst)
98 points by haunter on Jan 10, 2023 | hide | past | favorite | 28 comments



note that this isn’t the same as Duelyst 2, a game which some team has been working on for a while and has been out for a couple months.

AFAIK the original Duelyst team gave the Duelyst 2 team some code (long before open-sourcing), but they added some new features and a lot of polish, most notably reintroducing 2-card draw. But Duelyst 2 is monetized with lootboxes (free to download), and right now pay-to-win as it otherwise takes a ton of grinding to unbox or craft the right epic and legendary cards.

It’s really interesting. They’re monetizing a game which is mostly open-source: if you don’t agree with it you can play an almost-the same game, and it seems like a separate small could make it even closer to the same with a few months of work. But (reading on the r/Duelyst forms), it seems to be working: some people have already spent thousands on the new game.

As much as I hate IAP, I am kind of glad for the Duelyst 2 devs because they did put a lot of effort into fixing up the game. It would be a shame if this small team worked so hard and still accomplished nothing because everything they worked on is already public. But moreover, it goes to shows why so many companies (even "good" ones) implement IAP that lets people spend absurd amounts of money. Because it's ethically dubious, but it works, some people do, and you can argue that the extra $1000 lets you make up for it in more gameplay content. One "compromise" is to put most of the monetization on cosmetics which don't affect gameplay and unnecessary boosts, while keeping the F2P progression system fast and game skill-based. It seems LoR has done this, and Duelyst 2 has originally indicated they were going to do this although they have not, the last patch scaled back some of the F2P grinding and I wouldn't be surprised if they scale it back further after the revenue starts dropping to restore popularity and mitigate criticism (I doubt increasing the monetization after revenue starts dropping will help, so how else to bring it back up...)

And note that open Duelyst has been around for a couple months now (around when Duelyst 2 was released), and Duelyst’s community is niche and the openness has been discussed frequently, so I doubt most people didn’t realize. There’s also https://duelyst.gg which existed much longer than Duelyst 2 and has everything unlocked by default: it’s more similar to open Duelyst, an online version re-engineered from the assets and some of the code before the rest was made available.


What does "IAP" stand for?


I believe they mean “In-App Purchase”.


Interesting, the app itself is a web app. From the architecture docs:

> The game client is a Backbone.js + Marionette application which runs in the browser.

And for the main game server and matchmaking:

> The Game server is a Socket.io WebSocket server which handles multiplayer games.

> The worker uses Kue to poll Redis-backed queues for tasks like game creation and matchmaking.


I settled on a pretty similar stack for a browser based TCG simulator last year. Redis with Go, GraphQL and Vue; its a speedy development stack.


Very interesting. Like many other forum readers here, I wonder if the game would have seen more success if it was programmed using a commercially available engine, or even manually using C / C++. Despite outcries of the opposite opinion, the technology absolutely influences the effectiveness of the product. (See: Rollercoaster Tycoon and its immense legacy)


I played the game years ago, and I suspected it was web based due to the animations etc appearing to be CSS. However, it never stuttered or was slow.


> wonder if the game would have seen more success if it was programmed using a commercially available engine, or even manually using C / C++

i don't see how a technology choice can influence commercial success tbh. It's not like there's performance issues that are fixable in C/C++, nor is there platform issues for porting (like for consoles, which is hard to a javascript stack to achieve).

The main reasons for commercial failure is due to game design, marketing and product/audience fit.


I played the game briefly upon release. I did not suspect it of being web based and to be honest I can't imagine how it would have been different were it to be made using traditional methods. The turn based gameplay seemed well suited to the choice of technology.


Announcement video https://www.youtube.com/watch?v=h3Cuz6d_7x0

They shutdown the game in 2020 [0] and now they made it open source.

0, https://store.steampowered.com/news/app/291410/view/16882221...


FYI Duelyst II is not made by the original company, I believe it's a bunch of fans of the original who came together to buy a license to the IP.


Yeah you are right my bad removed that part, just read up on the story about the sequel


I played Duelyst a lot when it came out and it's always been my favourite in that CCG trend of games. I was quite saddened by its demise and I'm glad there's still an active community around it.

I think I'll work on a French localization on my free time, as it seems restrained to English and German at the moment.


Duelyst was an awesome game at the start, loved the pixel art and was a welcome break from Hearthstone. I hate having pay2win in these card games but it kind of makes sense from a business stand point.

Here's an analysis on some of the awesome art in the game: http://kirkbarnett.blogspot.com/p/sketch-page-pros-loose-and...

So surprised that this is being open sourced, usually these games just get lost in the ether.


Loved this game. Played it a bunch when it came out but it never really took off with Hearthstone and similar really getting the market share. Really cool design and flavorful archetypes and great art.


I really liked Duelyst back in the day, and it taught me something unexpected.

One day there was an update and the game forgot my credentials. I hadn't saved them anywhere (being naive at the time) so I never played the game again even though I was fond of it.

When you write an app, treat saved credentials very, very carefully. Losing them may mean you lose a customer.


This issue is totally destroying Ubisoft's store/launcher. For years users have complained about having to log in every time. It was a huge friction point. The UI even has an option to save credentials it just doesn't. Ubisoft is currently moving their entire catalog back to Steam.


Really? I might actually try some of their games. I haven’t bought a Ubisoft game for nearly a decade now, I think, solely because of their launcher.


I bought one of their games on Steam and, between when I bought it and when I started playing it, they shutdown a server that the menu queried, so I got to enjoy 2 minute timeouts every time I went into the menu. Lesson learned: Always make sure to try purchased games within the return window!

And never buy from Ubisoft.

Edit: Wow--just checked and they're still selling this game, even with this egregious hang.


Never buy from stores that allow DRM, like Steam.

Pretty sure that Gog's "DRM control" would have rejected this game ?

Even better to buy directly from the devs, or from small publishers, like Matrix/Slitherine - but keep an eye out for them turning big and evil, like (Micro)ActiBlizz.

(Another issue is platform-tied features that make you a second-class citizen : never buy games that have a Steam Workshop or use Steam Multiplayer.)


I didn’t think the server was for DRM, but I don’t know for sure. I like both GOG and Steam.

I’ll probably be kicking myself if Valve ever gets sold, but I’m pretty happy with it for now.



Lol, again ?

Yep, and I basically lost my (legal) access to Heroes of Might and Magic 6 when they updated their store/launcher...


CC 0 Universal license, and the assets are in the repo! That's exciting.


For those who don't speak creative commons, that means they've put this in the public domain*, and are revoking their copyright. Others can use anything, even in commercial products, and without attribution.

* As much as possible, anyway. Patents, trademarks, etc. are not affected.


CC0 has the advantage over public domain, that it’s mostly public domain even in countries without public domain, like Germany.

My (IANAL) understanding is that if you release something as public domain (but not CC0), it’s still covered by full copyright in Germany.


Yeah, that's amazing. Props to the authors!

Thanks op for posting this.


First time I'm seeing a recent-ish game fully released as open source (not talking about abandonwares). Not just the engine but everything from music to all the graphics too.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: