Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 08:34:09 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRandom Number God - Strategy/Card-Game/RNG-Simulator
Pages: [1]
Print
Author Topic: Random Number God - Strategy/Card-Game/RNG-Simulator  (Read 2401 times)
JustACicada
Level 0
**


View Profile
« on: September 19, 2018, 07:25:29 AM »

The rules are simple. Roll a die. If it lands on anything from 1 to 5 you win. Easy enough?

The only issue - a tiny little nitpick, really - is that this is a 1000-sided die we're talking about. So it doesn't seem like chance is in your side. But perhaps it can be.

This is a game about probability manipulation, where you use cards from a deck to alter how many dice you can roll each turn, or to add specific effects to the dice rolls.

Example of early game turns:


As turns go on, your number of dice can get really ridiculous:

Random Number God (tentative title) just recently started development, aimed at PC and potentially Android. A single-man effort, but we'll make do.

Links



« Last Edit: November 16, 2018, 07:22:31 AM by JustACicada » Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #1 on: September 21, 2018, 12:25:50 PM »

The cards now have graphics. They are generated on the run depending on the card's effects, which should make it easier to add different types of cards in the future. This should, in theory, allow me to procedurally generate cards with pseudo-random effects and still assign them images.




Also finished a rough functional prototype for a deck editor. It's not pretty, but it works so it will do for now.

« Last Edit: October 03, 2018, 07:27:39 AM by JustACicada » Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
PsycheMac
Level 1
*



View Profile WWW
« Reply #2 on: September 21, 2018, 12:38:09 PM »

This is a really cool idea! Makes me think of the wackiness of the Undertale battle system.
Logged



Twitter: @PsycheMac
JustACicada
Level 0
**


View Profile
« Reply #3 on: September 25, 2018, 05:56:46 AM »

A few general improvements here and there.

Now enemies will begin each battle with a random combination of arms chosen from a predefined set. The idea is for each of these arms to give the enemy new passive abilities or even attacks. Their random combinations should result in a wide array of different (and usually silly-looking) enemies.


I also added a few new different types of cards, to add more variety to the mix.


So now we have cards with effects such as:

  • Increasing your number of dice for each of your rolls that ends in N
  • Doubling/tripling your number of dice after a few turns, or for a cost
  • Ensuring a specific roll every turn
  • Forbidding rolls that end in N (to nudge probability towards more favorable rolls)
  • Normally you can only hurt the enemy by rolling 1~5. Some cards can change that and add more numbers that are considered successful attack rolls

Moving onwards, step by step.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #4 on: September 29, 2018, 06:27:30 AM »

Polished most interfaces. Nothing too big, but they should look a little nicer now.

Also finally implemented arm mix-and-matching for enemies. At the start of the battle, the enemies will equip themselves with two arms at random from a selection of possible arms. And this isn't just a cosmetic change. Different arms will grant the enemies different abilities and behaviors.


For instance, an enemy with a blade and a shield will use standard attacks more often and have more health, while an enemy with a grapnel and a buzzsaw will force you to start the battle with one less card in your hand and will occasionally attack your deck to remove cards from it before you get a chance to use them.


As of now there are 8 different types of arms implemented. If my math doesn't fail me, that translates into 36 different possible combinations already. And I'm considering giving the enemies additional arms at higher difficulty levels, which would make the number of combinations skyrocket.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #5 on: October 03, 2018, 07:28:54 AM »

In this game, whenever you win a battle - sometimes also when you lose - you will be rewarded with a random selection of new cards. But instead of there being a certain number of hardcoded cards and receiving one of them at random, the game will actually generate that card on the fly according to certain parameters.

The way I achieve this is deceptively simple. Each enemy will have two hidden parameters detailing what kind of cards it is allowed to generate. The first one includes a list of what possible "card models" (i.e. specific card effects and configurations) it can drop on defeat. The second one is as a number I very imaginatively named "card points", which roughly defines how good that card can be.

Each of these possible card models has a specific but simple algorithm that receives the available card points as an input, and outputs a newly generated card. All it does is assign semi-random values to the card without exceeding the allocated card points. Occasionally a card will receive a boost in card points in exchange for a negative effect (added cost, delay, etc.), allowing for a greater effect. For added variety, the points a defeated enemy awards are not set in stone either, but will waver within a certain range.

Here's a sample of 100 randomly generated cards. Some types of cards are more common than others.



This is all nice and fancy, but it leads us to a significant problem. What about card images? Almost every card game will give distinct images to each of its cards for ease of identification. How can we achieve this when our cards are being generated on the fly? Why, by generating the images on the fly too! Once we have the data for the newly generated card, it's just a matter of deciding on a system that can generate a uniquely identifying image from that data.

The easiest way to create a new image might be by combining different small icons representing each of the aspects of the card. A card that grants +5 dice? Just add a dice symbol, a plus sign and a five. It grants health instead? Then change that dice icon for a heart. Maybe it has a cost? We could just tack on a label with the cost in a corner. Of course, the result won't be anything fancy, but it should be enough to identify the card at a glance.



It's actually rather difficult to calculate exactly how many unique cards this generator can produce, but, right now, estimation and testing puts that number somewhere around 2500 different cards (a number that will likely grow in the near future). To be fair, most of those cards are extremely similar to others, but at least they are not simple recolors - we are talking about 2500 functionally different cards. And that only required a few lines of code and high-school math. Not too shabby.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #6 on: October 08, 2018, 08:36:06 AM »

The project is moving along, so I figured I might show a few of the possible enemies in the game.

As a reminder, the game's battle system is about hoarding up dice that you roll for diverse effects such as dealing damage, healing, or adding more dice for future rolls. You play with a deck of procedurally generated cards that influence those rolls and their effects.

Every enemy will consist of a random choice of a body and two to four arms, each with different abilities. Here are some of the arms added in the last few days:



Power Glow

For each of these arms, the enemy's normal attacks will do 20% more damage. The effects stack, so an enemy with two arms will do 44% more damage!




Salve

This kind of arm will allow the enemy to heal itself. On one hand, that's one turn they're spending doing something other than hurting you, but healing will make the battle last longer and your turns are limited by the size of your deck, so it's not like you can afford to idle away your turns.




Forbidden Relic

This enemy can sacrifice a small part of their health to perform an attack that deals x2 damage. A bit of a double-edged sword, but it can be a nasty surprise if you're unprepared.




Siphon

This odd looking weapon allows the enemy to drain your health to heal itself. Luckily, this draining attack deals less damage than the standard attack.




Battery

With this, the enemy can spend some of its turns charging up energy, which will increase the damage of all future attacks.




Miasma

Each of these arms will make all your healing half as effective. Since all arms' effects stack, two of these arms means you will only heal a quarter of what you usually would!




Aegis

A defensive arm. Each of these will lower all received damage by 1. And for the first few turns of battle, that's likely to be as much damage as you'll manage to deal before you start amassing dice.




Cartilage

You fight your battles by racking up dice, which you then roll to deal damage, heal or further increase your number of dice. As such, dice might just be the most valuable resource in combat, more so than health. This enemy can curse you, forcing you to roll half as many dice as you normally would for one turn, really hurting your tempo.



And those are some of the arms in the game. There are currently 15 different arms, and the enemy will have a random combination of 2 to 4 of them, resulting in quite a bit of variety. Plus, each enemy will also get a random body (from a smaller pool of possible bodies), with a more far-reaching effect. Such as:




Green core

You normally begin all battles with an initial hand of 5 cards, but if your opponent happens to have this body, you will draw one less card at the beginning of the match. Now that's a handicap right out of the gate!




Blue core

Every turn other than the first you draw 1 card to add to your hand. However, a foe with a blue core will force you to skip drawing a card every third turn! That means fewer options for you as the battle progresses, but it also means that it will take you longer to run out of cards, so you will have more time to gather dice. Bit of a double-edged sword, this one.




Red core

The dice you roll will give a random number between 1 and 1000. Usually, damaging rolls will be one-digit numbers, so you will want to roll low most of the time. But this annoying enemy will make you roll dice that can go up to 1200 instead, making it harder to rolls those useful one-digit numbers. Better hoard up a pile of dice to counteract that.



And that's about it. Right now there's four bodies (the fourth one is the effectless gray one) and 15 arms. If we combine a random body with four random arms, according to my calculator, that's a total 12,240 possible different combinations that can arise.

There's still a lot of work to do on the UI, and balance and whatnot, but the main core of the game is done. The battles, the card generation and the deck building are all functional, so I might drop something like an early beta version in the next few... weeks, maybe?

Anyway, thanks for your time, and have a nice day.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #7 on: October 11, 2018, 07:34:57 AM »

I've finally done something I should have done a long, long time ago: upload a short video of a full battle, as an example of how the game works.

You can catch it over here:



Unless something goes horribly wrong, I should have a playable beta of sorts ready for download tomorrow. The game is not completed - like, it doesn't even have a title screen - but everything needed for the core gameplay is there: the battles, the cards and the deck editor. So I'm going to follow that old programming adage and "release early" to try and get a little bit of feedback.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #8 on: October 12, 2018, 05:08:00 AM »

I've prepared a very early beta for Random Number God. You can try it out here: https://justacicada.itch.io/random-number-god

This is a game about cards, dice and probability manipulation, with randomly-generated enemies and cards.

It's in a very bare-bones stage right now. You can:
-Battle enemies with random combinations of abilities
-Collect procedurally generated cards
-Edit your deck
-Marvel at the deafening lack of sound

It autosaves after every battle. If you want to watch a gameplay sample video that also doubles as a tutorial, please refer to the previous post.

There are still many things to add, but I want to focus on the gameplay's main core first. That's why I'm releasing early, to see if I can gather a little bit of feedback. Is it fun? Is it too easy or too hard? Are any of the cards too broken or too useless? Feel free to send your thoughts my way, and see if we can figure out what this game is supposed to be.

Anyway, thanks for your time and all that. Cheers.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #9 on: October 16, 2018, 09:09:13 AM »

I have finally added a much-needed in-game tutorial where the enemy will politely and without any condescension explain the rules of the game and how to play. You can watch the tutorial on YouTube:



Or you could also, you know, download the game and get some of that authentic, genuine, first-hand interactive tutorial experience.

Also, there's music now. Which is funny, because I made it myself and I have no idea about music. Produced via a combination of procedural music generation techniques, math (one track is based on Pisano periods, another one on the golden ratio), and lots and lots of transposing notes until it started to sound like something a novice musician could cook up in under five minutes. And it only took... considerably longer than that!


Anyway, a downloadable beta can be found over here: https://justacicada.itch.io/random-number-god

Battles work. Cards work. Deck building works. And it somehow doesn't break when you put it all together, so I guess that's a start, no?
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
Devilkay
Level 2
**

Hi! First game-dev experience!


View Profile
« Reply #10 on: October 16, 2018, 10:59:38 PM »

I dunno like so much.
Logged
JustACicada
Level 0
**


View Profile
« Reply #11 on: October 24, 2018, 07:58:20 AM »

After some thinking about how to organize the game's enemies and their difficulty, I've decided to just make it have infinite enemies that go on forever and get progressively harder. At least in theory. Technically they should only go up to 2147483647 since that is the upper bound for integers in C#, but no one is getting that far (if every battle took 1 second, it would take ~68 years).

Enemies and their stats and abilities are already being generated procedurally, so this is only the next logical step. The cards you get for winning are also generated in a similar way, so in theory you should be able to keep playing forever, facing progressively stronger enemies while earning progressively stronger cards. Progressively stronger cards that make your old cards obsolete.

So what do we do about those? Do we let old cards collect dust in the collection screen, making it more and more cumbersome to browse the more you play? I figured this game needed a way to get rid of old cards, so why not make it something beneficial to the player?



I've added the ability to trade old cards you're not using for EXP. It can be done from the collection screen, so you don't even have to leave it after modifying your deck with new cards. How quaint. The other way to get EXP is by defeating enemies. Not exactly original, but if it ain't broke...

So what's EXP used for, then? The player will not have a level in the traditional sense (there are technically no battle stats), so EXP can instead be used to acquire Fortunes. Which is how I decided to name that which in any other sensible game would be called Skills or Perks or Abilities.



They work just like you would expect passive abilities to work in most games. You pay the EXP price to level them up, and their effects are applied permanently and passively to your character. So you get the usual fare like increasing your health or receiving less damage, and also a few Fortunes more specific to this kind of game, such as rolling extra dice as the battle begins, or increasing your chances of getting extra prize cards when you win.

And much like what happens with enemies and cards, Fortunes do not have a max level either. You can improve them eternally (again, technically up to 2147483647), but their prices become exponentially more steep the further you progress. But well, so does the EXP the enemies grant you.

I'm not uploading a build just yet because... frankly, because right now the game is so unbalanced as to be unplayable. I want it to at least suggest a superficial illusion of balance before moving on. But we're getting there.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #12 on: October 28, 2018, 11:10:50 AM »

New build ready to be downloaded at: https://justacicada.itch.io/random-number-god

This is a game about dice. About rolling ridiculous amounts of dice, and managing a deck of cards that will let you roll even more dice so that you can take down your enemy before running out of health and cards.

It’s officially still in beta, but that’s a mere formality. Most of the playable game is there. You have an infinite progression of enemies to defeat, each stronger than the previous one. The enemies are not fixed in stone, instead each of them will have random body/arms that will grant them different skills and attacks. The further you progress, the more dangerous arms they will have access to.



But to help you in your ordeal, defeating enemies will net you new cards. Procedurally generated, too. So the further you progress, the stronger and more varied the cards at your disposal.

So what’s new in this version? First, “fortunes”. They are passive bonuses and abilities that you can buy in exchange for EXP. You get EXP by defeating enemies or trading away cards you no longer need.

So you have fortunes that increase your health, or your initial amount of dice, or maybe do things like lowering damage received, adding a passive regen effect, or if you’re feeling wild, even affecting the number of sides on the dice. Each fortune can be leveled up an infinite amount of times, although they will of course become more expensive the higher their level.



Also, now the battles have backgrounds too! Enough of staring into an empty black void. The backgrounds are mostly… psychedelic and nonsensical? Color experiments with shaders, really. Is “Earthboundian” a word?





In theory, the game has no end. You can keep defeating enemies and raising your rank indefinitely. What is the highest rank you can reach?
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #13 on: November 04, 2018, 06:10:30 AM »

Stable release 1.0.0 is live, for both PC and Android.

The Android version is up and running on the store. You can check it here: https://play.google.com/store/apps/details?id=samuelVazquez.randomNumberGod

Free and adless. It should work on devices of most sizes and resolutions, and much to my honest surprise, it doesn't seem to have any noticeable lag compared to the PC version. So I guess it's something to do if you have to wait for the bus or something.

I also added a Spanish translation, because more languages means a wider reach, and I happen to know a bit of Spanish. Because, uh, I kind of am Spanish I guess.



This will probably be the last release, barring bug fixes. I doubt I will be adding much more content (unless there is a disproportionate response to this game, but I wouldn't count on it). I'd like to think it has enough content for a one-man 2-month project (that was supposed to take 1 month). I will probably move on to some other new project next. We'll see.

In any case, thanks to anyone who might decide to take a moment of their time to try this.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #14 on: November 11, 2018, 12:38:05 PM »



I’m working on changing quite a few things at the moment. Mostly things to do with performance and balance.

First, I’m improving the horrible lag that the game suffered when rolling high numbers of dice. Once this is done, the game should not freeze no matter how many dice you have gathered. This should also make it possible to add an option to speed up or skip dice rolling animations. Would help speed up battles a bit, if you want to.

But most importantly, this means that I don’t have to worry about limiting the number of dice at the player’s disposal any more. And that’s a good thing, because the way the game mechanics work make it trivially easy to gather up absurd amounts of dice, and now I can make the game fully embrace that. So you want to roll a quintillion dice? Well, you won’t be hearing me complain.

Like, you know those incremental idle games about making big numbers grow? In a way, each battle is like a mini-version of that. You start with a pitiable single dice against a foe that maybe has a billion health, so you have to slowly work your way up using cards. In the first turns you may get to a hundred or thousand dice, then a few turns later to a million, a billion, and eventually you will get enough dice to make it statistically certain that you will one-shot the enemy. And all this while fending off the enemy’s attacks and skills.

Of course, this means I have to rebalance everything again. But hey. Could’ve been much, much worse.

I cannot say for sure when the next build will be ready to release (I have to do quite a bit of testing before), but I’m on it.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #15 on: November 16, 2018, 07:21:53 AM »

Have you ever wanted to know how it feels to roll a quintillion dice? Have you ever wondered how statistics start to break as numbers grow bigger than the literal number of stars in the observable universe? No, obviously. But even then, this game is here to answer those questions.

The gameplay core for the game remains mostly the same. You roll dice, hurt your opponent on certain rolls, and use a deck of cards to alter the effects or chances of those rolls. But the way this worked made it too easy for numbers to quickly get out of control. And – why shy away from that? Why not make the most of it and try to balance the game around that?



Enemies have been buffed significantly. Like, the enemy at rank 10 used to have 19 life. Now it has over 5 thousand. And the enemy at rank 100 used to have a very respectable 13804 life (less than the current rank 10 enemy), but it has been buffed very lightly and now it’s sitting at 9.6 billion life.



The enemies also hit harder, but the player’s options have also been buffed accordingly. But even then, you will eventually reach a point where the enemies start one-shoting you or have too much health. What then? Nothing stops you from grinding for more EXP, but it may be wiser to use this new option: the “Reroll”.

This is what most incremental games know as “prestige” or “ascension” or one of those fancy words. You set aside your current cards and skills and go back to square one. In exchange, you get some fancy bonuses that will let you get back to where you left off much quicker. You will then be able to push onwards further than you could before.



There are also some quality-of-life improvements, such as performance fixes and the option to speed up battle animations. Once you know the rules of the game, this option can easily make battles last <2 min for a more fluid progression.

Old save files should still work, if anyone happens to have one. Since the prices of Fortunes have gone through a revamp, returning players will have their Fortunes set to Lv0 and will regain any EXP spent on them, so that they can freely decide how to re-build their character. (Although I figure deleting the file and starting anew might actually result in a better experience overall. There’s an option for that in the menu.)

There’s also some tweaking on how some enemy abilities work, and the kind of cards you are awarded. Cards should now improve at a much, much faster rate, and a few more strategies and card combinations should be viable.

So that’s pretty much it. Hope you enjoy it. Cheers.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
JustACicada
Level 0
**


View Profile
« Reply #16 on: November 24, 2018, 06:35:27 AM »

Build 1.1.4 is out.

After many builds of mainly bug-fixing, I finally found some time to actually add new content.

First, some Quality of Life stuff. The deck editor now has two new buttons while in sell mode. One of them allows you to move all cards in your collection to the sell panel, making it easier to get rid of all the loot you get from winning battles.

But what if you want to keep some of those cards? Maybe you want a few of those cards to stay in your collection to later test them in your deck, or maybe you like cycling between different strategies. So the deck editor now also has a “lock” option to, well, lock cards in your collection so that they cannot be sold. You can unlock them back from the editor at any time.

Other than this, I’ve added a few things to make the later levels a little more interesting. First, starting at rank 120, every 20 ranks you will meet a non-random enemy with a few more arms than usual.



Some of these will be trickier, some others not so much. Some of them, especially much later on, might force you to reconsider your strategy or even make you contemplate rerolling.

But that’s not all. As early as you cross rank 100, you might randomly meet enemies with shiny silver arms. Those are advanced versions of the normal arms with more drastic effects. For instance, the normal shield increases health by a 20%, but the silver shield doubles it. And while the miasma arm normally cuts your healing in half, the silver version will lower your healing down to a 25% instead. Remember you can click/tap the enemies to get information on them and their arms.



For every silver arm an enemy has, you will get +25% exp on victory. This stacks multiplicatively, so defeating an enemy with two silver arms will grant you 56.25% more exp. Whether an enemy has a silver arm or not is random, so if you surrender or lose against an enemy, next time you fight them they might not have those arms (or they might have more). However, the further you progress, the higher the chance enemies will have silver arms. You may eventually get to a point where enemies no longer can have normal arms at all.

Even later on, you might find enemies with golden arms. These are even more advanced versions of the arms, with a greater exp bonus and a much lower chance of appearing.
Logged

Ubiquatopia, a turn-based strategy game where each action is a card, set in a lore-rich fantasy world
I'm also over Twitter at: https://twitter.com/cicada_dev
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic