So…after quite a serious thing which was writing Pro .NET Memory Management book, I’ve decided to experiment with a little pet project for having some more fun. I have quite a few very interesting ideas going on in my head. Yet, I needed to choose one!
And that’s how an idea of OutOfMemory game prototype materialized! Ladies and gentleman, please meet the first in the world card game about .NET-based high performance and memory-aware programming. Sounds so nerdy, doesn’t it?! That’s by design and I like it! From developer to developers, with love 😉 It contains a huge amount of stuff related to programming, hardware architecture and… GC obviously! This is going to be a physical card game, not a computer or a mobile one.
The goal of the game is to build an application. You build it by playing on the table so-called Feature cards – the first player getting a given amount of Feature points wins!
But each Feature has its cost! Each Feature card allocates Memory and consumes CPU Ticks. At the end of each player’s turn, you add an appropriate amount of Memory. If you hit a given limit – OutOfMemory occurs! CPU Ticks play also an important role in limiting possible actions in a turn.
In each turn, the player takes a single card from a deck. Or two, if she has an appropriate special card which is… Adam Sitnik‘s card (an example of a Hero card). Another example of .NET Hero card is Ben Adams – very powerful as it both reduces Memory and CPU Ticks, has a special ability (removes all the nasty Issues played against you by your opponents) and even adds a single Feature point (having Ben contributing to your app is a feature by itself)!
Guess who is on the other Hero cards?! Currently, I plan eight such cards!
Card(s) taken from the deck can be used immediately or kept at hand (but there is a limit of cards in hand, reflecting CPU cache my dear!)
There are various other types of cards. For example, there are Garbage Collection Action cards so if you are lucky enough (and plan to keep them in advance) you can clean your Memory periodically.
A lot of cards help you to keep Features while reducing their Memory and/or Ticks costs, like Span<T> or Lock-free programming
There are also nasty Bug and Issue cards that you can play against your opponents, removing their Feature points or making their app more allocating and slower!
Additionally, there are various Action cards that can be played to receive a short, single-turn benefit. Some influence only you, some a given opponent, and some all the players – like Black Friday cards that makes all Features double-allocating in the next turn (due to high volume traffic!).
All this is in a very early prototype stage, requiring possibly quite a lot of rethinking. And a lot of balancing is required to create playable and enjoyable deck. Currently, my prototype consists of 80 cards.
I am playing this game a lot with… myself, to balance the very first prototype. When ready, I plan to publish self-printable very rough version and I hope there will be .NET developers out there willing to try it out! With your feedback, we may create an amazing game!
Nevertheless, I would LOVE to start receiving your feedback RIGHT away! Do you like this idea? Do you have ideas of Hero, Bug, Issue, Fix and Feature cards?
If you are want to be informed about further work and the prototype, feel invited to subscribe at a dedicated page!
Note also that this initiative is a part of a bigger Dotnetos initiative – although currently only I am involved in the design of this game, most probably sooner or later all three Dotnetos will be somehow involved in it – I hope so!
Note. All graphics on cards and the cards itself are prototypes and do not reflect the final quality. Moreover, all cliparts were taken from Free Vectors via vecteezy.com.
Consider creating a cardset for Magic Workstation? http://www.magicworkstation.com/index.php The MWSPlay module would allow for play testing by others. I have a group that would be interested in playing a few hands and offering feedback. 🙂
Hi, thank you for pointing our Magic Workstation. Looks great, I’ll definitely consider using it! BTW, would you be also interested in self-printing a prototype deck of 80 card by yourself?
I absolutely love this. Definite buy for me
Awesome to hear that!
Hi Konrad, I love the idea of your game. Of I think of any ideas that I feel would be good, I’ll drop you an email.
It’s definitely a first of its kind. I would like to be updated with your progress on this. Good luck
Thanks, waiting for your email then 🙂
I cannot wait for it! Waiting for updates on it 🙂
Awesome idea, talked about it with a few co-workers and we loved it. I am very interested to play a few hands of your rough game when you get to that stage.
Love it. Definite buy one 🙂
I know a .NET Consultancy here in Australia that plays all sorts of card and board games during their lunch times. I can’t think of a more perfect group to “consult” them over your brilliant card game idea. I will pass them this link and see if they’re interested in helping out with feedback and ideas.
It would be great! You can show them also a dedicated Reddit channel – https://www.reddit.com/r/outofmemorygame/, thanks!
Some quick ideas:
1) Have a .NET Villian Card that is opposite of what .NET Hero cards do?
2) Customizable .NET Hero & Villian cards?. Basically have blank cards that users can customize with portraits of their friends and things Hero & Villian cards can do. Adds a personal angle to the game.
3) Alternatively, you could have a bigger deck of Hero & Villan cards that only a subset can be used during games, to change the dynamics of every game.
Great ideas, thank you 🙂 Please feel invited to follow https://www.reddit.com/r/outofmemorygame/ if you would like to have further influence over the game design 🙂
Great idea, very workable as a hand-building game.
Will definitely play-test it when print-n-play is available.
It looks awesome, I would want to play it and own it.
Happy to play test it if it possible
This is awesome 😀
Any chance it will be ready before national programmers day?
It was my initial plan but I am not sure if I will manage. But print’n’play prototype will be available even earlier 🙂