Unity 2D Game: does transparency count as overdraw?

I’m working on a 16:9, 1920×1080, 2.5D point-and-click adventure game and I just today learned the word overdraw. I have a few questions, but first some details about the game:


Backgrounds are hand drawn, and broken up into layers. For instance, if there’s a room with a table, some chairs, and a lamp on the table, then I’ll have a sprite for each of those objects whenever I want the player to be able to walk in-front of or behind that object.

To make positioning of these objects consistent with what’s in photoshop, I’ve exported each layer as a full HD image with huge swaths of transparency. These images have a very small memory footprint because only a small portion of image is populated with non-transparency.


Animation is hand drawn. To make character position consistent across all characters, each animation is exported as full HD images with huge swaths of transparency. The characters reside at the bottom center of frame. I call it the anchor point. In point of fact, it’s where I put the pivot.

I’ve got all animations and backgrounds in sprite atlases to save on video memory. So far, it’s low.


Am I a huge idiot? Are these full screen images with lots of transparency going to be a big problem for me? The game is for mobile and PC and Switch.

Need help with my risk game program – i need to insert 2 players, throw x number of dices, order them and confront the results of the 2 players

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Text;

namespace ConsoleApp8 { class Program { static List names; static List dices; // [2, 3] static List player1Dices = new List(); static List player2Dices = new List();

    static List<string> PromptNames()     {         Console.Write("Nome del primo giocatore: ");         string player1 = Console.ReadLine();         Console.Write("Nome del secondo giocatore: ");         string player2 = Console.ReadLine();          List<string> names = new List<string>();          names.Add(player1);         names.Add(player2);         return names;     }      static int GetDieValue(string x, string msg)     {         Console.Write("{0}, {1} ", x, msg);         string rawDie = Console.ReadLine();         int parsedDie;         // qui devi usare do, while perché non sai a priori quante volte un giocatore potrebbe inserire un valore sbagliato         if (!Int32.TryParse(rawDie, out parsedDie))         {             Console.WriteLine("Meti un numero");             return GetDieValue(x, msg);         }         return parsedDie;     }      static List<int> PromptDices()     {         int p1Dices = GetDieValue(names[0], "con quanti dadi vuoi attaccare?");         int p2Dices = GetDieValue(names[1], "con quanti dadi ti vuoi difendere?");          return new List<int>() { p1Dices, p2Dices };     }     static void Play()     {         Console.WriteLine("{0} attacca con {1} dadi", names[0], dices[0]);         Console.WriteLine("{0} difende con {1} dadi", names[1], dices[1]);         CalculateResult();      }     static void CalculateResult()     {         System.Random random = new System.Random();         for (int i = 0; i <= dices.Count; i++)         {             player1Dices.Add(random.Next(1, 7));         }         Console.WriteLine("Prima: {0}{1}{2}", player1Dices[0], player1Dices[1], player1Dices[2]);         player1Dices = player1Dices.OrderByDescending(x => x).ToList();         Console.WriteLine("Dopo: {0}{1}{2}", player1Dices[0], player1Dices[1], player1Dices[2]);           for (int i = 0; i <= dices.Count; i++)         {             player2Dices.Add(random.Next(1, 7));         }         Console.WriteLine("Prima: {0}{1}{2}", player2Dices[0], player2Dices[1], player2Dices[2]);         player2Dices = player2Dices.OrderByDescending(x => x).ToList();         Console.WriteLine("Dopo: {0}{1}{2}", player2Dices[0], player2Dices[1], player2Dices[2]);      }         private static void PlayAgain(string x)     {         Console.WriteLine("Se vuoi finire il gioco scrivi Exit");         string Exit = x;         do         {             RunGame();             player1Dices.Clear();             player2Dices.Clear();         }         while (x != Console.ReadLine());                }      static void RunGame()     {         names = PromptNames();         dices = PromptDices();         CalculateResult();         Play();         PlayAgain();                          // generate random numbers - and sort them         // display results - compare dices         // repeat or quit?     }      private static void PlayAgain()     {         throw new NotImplementedException();     }      static void Main(string[] args)     {         RunGame();         Console.WriteLine("Thanks for playing");         Console.ReadKey();     } } 


I need a game over(UI image) to appear after timer reaches 0

So here is my timer script that works fine. I need it to activate the game over(UI image ) when the timer reaches 0.I tried attaching a game over script to the UI image ( GOS script)….. no luck

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

public class Timer : MonoBehaviour { public Text gametimer; public float timeLeft; public GameObject Gameover; public Text gameovertext;

// Start is called before the first frame update void Start() {       }  // Update is called once per frame void Update() {     if (timeLeft > 0)      {         timeLeft -= Time.deltaTime;     }     else      {         timeLeft = 0;      }      displaytime(timeLeft);  } void displaytime(float timeToDisplay) {     if (timeToDisplay < 0)     {         timeToDisplay = 0;         Debug.Log("Game Ova YOung!!!");              }          float minutes = Mathf.FloorToInt(timeToDisplay / 60);     float seconds = Mathf.FloorToInt(timeToDisplay % 60);      gametimer.text = string.Format("{0:00}:{1:00}", minutes, seconds); }            } 

//////// Game over screen script below

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

public class GOS : MonoBehaviour { GameObject GameOverScreen; public Timer timer;

// Start is called before the first frame update void Start() {     timer = GetComponent<Timer>();     GameOverScreen.SetActive(false); }  // Update is called once per frame void Update() 

{ if (timer = null) { GameOverScreen.SetActive(true); }



Creating a online game with a max $20 investment to potentially win much more. Want as little regulations

Creating an online game where maximum entry is $ 20, which is pooled amongst players and, in a series of stages, the players will lose until there is 1 person left who takes most of the pot. The T&C of the game will be that the most the creators (us) are liable for is your initial investment. I guess it’s analogous to a poker tournament.

I want as little regulations as possible. Of course the game will be above-board and fair but I want the government out of it as much as possible.

Is there a particular jurisdiction/country that would be best for incorporating such a business and hosting these type of games?

I need to find what kind of game this is, or if theres any tutorials related to this

Hello I am having a hard time getting an answer to what type of game this is. Party In My Dorm and Kingdoms at War are both mobile games where you have a character and you build its states by either placing dormmates or buildings. Its an MMORPG in a sense but its all 2d, you attack monsters and do quests and missions but its all basically text based, there is no animations or nothing. But looking at text based rpgs they look nothing like this, so is this type of game called something else or does anyone have any idea on how to try to make a game similar to this?

Can you show rng code running in real time in a game?

First off, I know almost nothing about game development/rng but I will learn. So apologies for sounding uninformed.

I want to make a sandbox ios game with several activities to do within, one of which is poker, but I want the poker to be infallibly transparent unlike online poker. They wouldn’t dare.

So I want to show the rng code to be viewable by players as the hand plays out, so players will know its legit, and can verify after the hand etc if they have concerns, is this possible, can you "show" rng?

Appropriate database schema for heroes’ skills in a Tower Defense game?

In a Tower Defense game, each hero (or character) has some skills. Each skill has some "chance of appearance" (CoA for short) when attacking enemies and if appeared it has some "hit accuracy" (i.e. hit on enemies) (HA for short) and has effects on the enemies (if hit by the skill) (EoH for short).


Skill #1: Frost 1, CoA: 50%, HA: 100%, EoH: (1) slow enemy down for 4s and (2) yield 200 damage points.

Skill #2: Frost 2, CoA: 100%, HA: 50%, EoH: (1) make enemy frozen for 8s.

I first tried to breakdown skills into "atomic" effects and come up with tables as below:

enter image description here

All looks good?

But now we want to update Skill #1 a bit to make it more complicated:

Skill #1: Frost 1, CoA: 50%, HA: 100%, EoH: (1) slow enemy down by 40% for 4s and (2) yield 200 damage points. (Please pay attention to the 40% here!)

Or even coming up with more complicated skills:

Skill #3: Frost 3, CoA: 20%, HA: 100%, EoH: (1) frozen enemy for the first 4s then slow enemy down by 50% for next 4s and (2) yield 200 more damage points.

Skill #4: Frost 4, CoA: 10%, attack enemy 3 times continuously, each time: HA: 50%, EoH: (1) frozen enemy for the first 2s then slow enemy down by 50% for next 2s and (2) yield 400 more damage points.

Each effect now has more parameters to be specified — which makes my current schema not fit anymore. Please help deal with this!

Unity 2d…Bullet Intantiate on left….but instantiate on right but not showing in game mode

I am using unity 2d engine…I instantiate a bullet from a weapon…and put speed of bullet in start method as…. rb.velocity =transform.right * _speed;…..but the problem is bullet when fire in left then it shows the bullet in game mode but when firing right the bullet intantiate and shows the bullet in hierarcy but it is not showing in scene mode nor in game mode

How to make your players hate your villain, but not your game

How does one build the character of a villain such that the players (playing heroic characters) hate the villain as much as possible without detracting too much from the quality of the game?

What motivations, habits, etc should the villain have to make them particularly despicable? Should the villain be based off of the PCs in some way or is it more effective to base the villain off of some objective standard of villainy? If the former, in what way should the villain be based off of the PCs?

In order to back up your answers, please either a) provide examples of published works making use of the technique/method you recommend, b) cite real-world RPG experience evidencing the success of your technique/method, or c) cite published material on the subject supporting your position (DMGs, Academic papers, Dragon articles, blog posts, etc)

The best answer will provide unique insight into the causes behind player responses within the character-driven framework, provide critically successful example works exemplifying the particular method advocated, and provide a source where for information on the method/subject, if desired, can be acquired.