Loading...
114
Game
Hayami-Chan 3D
2 years ago

Working on the hunting AI. I'm using the nodes in the apartment and chances to let #Hayamichan choose a new destination...

Useful c# script is in the article!

#MadeWithUnity #GameDev


With this script you can draw an index based on chances. It's really useful!

PropabilityPool.cs

		
			using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace DonutStudio.Utilities.Propability
{
    /// <summary>
    /// Class to draw a random element from a pool of rates.
    /// </summary>
    public class PropabilityPool
    {
        float[] rates;
        float total;

        /// <summary>
        /// Create an object of the PropabilityPool class with the rates.
        /// </summary>
        /// <param name="_rates">The rates of the single elements.</param>
        public PropabilityPool(float[] _rates)
        {
            rates = _rates;

            UpdateTotal();
        }

        /// <summary>
        /// Draw a random element for a pool of rates. The higher the rate the higher the chance.
        /// </summary>
        /// <returns></returns>
        public int DrawElement()
        {
            float r = Random.Range(0f, total);
            float accumulatedProbability = 0f;

            for (int i = 0; i < rates.Length; i++)
            {
                accumulatedProbability += rates[i];
                if (r <= accumulatedProbability)
                    return i;
            }
            return 0;
        }

        /// <summary>
        /// Change the value of a rate.
        /// </summary>
        /// <param name="index">The index of the rate.</param>
        /// <param name="newRate">The new value of the rate.</param>
        public void ChangeRate(int index, float newRate)
        {
            if (index < 0 && index < rates.Length)
                return;
            rates[index] = newRate;
            UpdateTotal();
        }
        /// <summary>
        /// Change all the rates.
        /// </summary>
        /// <param name="newRates">The rates.</param>
        public void ChangeRates(float[] newRates)
        {
            rates = newRates;
            UpdateTotal();
        }
    
        /// <summary>
        /// Update the total value of all rates
        /// </summary>
        void UpdateTotal()
        {
            total = 0;
            foreach (float f in rates)
                total += f;
        }
    }
}
		
	


8 comments

Loading...

Next up

HAYAMI-CHAN 3D IS NOW OUT

How long will you survive when your waifu comes to life & starts hunting you down?

Log in with your Game Token & compete for the highest score!

Yes, I'm still alive!

AND I've finally fixed major bugs in the game. The new release should be out soon!

#GameDev #Hayamichan

Working hard on the game, so you can play it (hopefully this month).

I think it might not be that scary, but good enough for my first #Horror game

#MadeWithUnity #GameDev #Hayamichan

Cloudheim by @noodlecatgames has entered Early Access on Steam!

The game is a 1-4 player action adventure that blends crafting with chaotic physics-based combat.

Follow Cloudheim on Steam and try the free demo: https://bit.ly/CloudheimSteam

Say no more!

I've finally added mobile controls. It took a ton of work to redo the input system, but now I can just export the game for android and everything should work

Happy #WIPWednesday! Are you working on a game? Making some art? Practicing a song? Something else? Tell us in the comments!

coming soon

Working on the endings. You'll have to find them out yourself. The build (and mobile version) will be uploaded asap... show some patience xD

#MadeWithUnity #GameDev #Hayamichan

Our pals at @serenityforge have released Doki Doki Literature Club on iOS and Android!

Support them by picking up DDLC avatar frames, backgrounds, and sticker packs in the Game Jolt Shop or on their profile!

Damn,

if this ain't spectacular, I don't know what is. The game has six different languages to select.

Special thanks to @FriendlyFrenchyFoxOff for translating. Be sure to check out his account. He rocks!

#MadeWithUnity #GameDev #Hayamichan