Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1349279 Posts in 62042 Topics- by 53720 Members - Latest Member: Filipinjo

October 17, 2018, 07:04:59 AM

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 608 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: October 12, 2018, 05:09:34 AM by JustACicada » Logged
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
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
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
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
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
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
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
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
Devilkay
Level 1
*

Hi! First game-dev experience!


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

I dunno like so much.
Logged

Last Game Played:



Favourite GM Game

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic