Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411419 Posts in 69363 Topics- by 58416 Members - Latest Member: timothy feriandy

April 17, 2024, 08:40:37 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBallY my second "real" game
Pages: [1]
Print
Author Topic: BallY my second "real" game  (Read 2445 times)
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« on: February 10, 2019, 06:49:45 AM »




Introduction
=========
Hello Everyone!
I'm 66Gramms the developer and owner of Strangeway. I'm 19 years old still an amateur but i'm working
hard on becoming a great game developer. I decided to make a devlog so I can keep
track of my progress, as well as encourage myself to work more on my game BallY.
Also anyone who is interested in my work can follow me doing my game and it seems fun to make a devlog,
so here it goes Smiley .

General information about BallY.
======================
BallY is a Hyper-Casual game being made for android with a simple and clean desgin. It's influenced by Flappy Bird's gameplay mechanic, just instead of jumping, you can continously drag and control the player. Also instead of just simple pipes, there are complicated obstacles to evade. You can die two ways.

  • Hitting a spike
  • Being pushed back to the edge of the screen by a wall you don't evade

This is my second game that I made with a commercial purpose.

How it works
==========
BallY is being made in Unity with C#
The base idea is all of these map slices move towards the player, and there is an invisible collider trigger on the far right end of the play area where the player can't see it. The map slice (or obstacles as I call them) collides with this trigger, and this trigger checks for the last child element of the obstacle as that keeps the spawn coordinate for the next slice, and it spawns it to that spot. As the slices leave the screen they get deleted, so this way you basicly have a seamless spawning and destroying of map elements like this (The player can't die for the sake of the video):



Also I've made a random spawning of these slices in such way that all of the slices will be spawned at least once, and in one cycle the same slice won't appear twice. So this way you won't have that thing where you are going through twice the same slice. It is made with a list and an array

Code:
public class ObstacleSpawner : MonoBehaviour
{
    [SerializeField] GameObject parent; //For keeping the Hierarchy clean

    [Space(10)][SerializeField] Obstacle[] obstacleArray;   //Keep the predefined slices in this array
    List<Obstacle> randomList;  //For random spawning without spawning twice
    private int index;

    private void Start()
    {
        randomList = new List<Obstacle>();
        randomList.AddRange(obstacleArray);
    }

    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other != null && other.CompareTag("Obstacle"))  //Avoid annoying unity logs
            SpawnObstacle(other);
    }

    private void SpawnObstacle(Collider2D other)
    {
        index = Random.Range(0, randomList.Count);

        var obst = Instantiate
            (randomList[index],  //The obstacle parent to spawn
            other.transform.GetChild(other.transform.childCount - 1).transform.position,    //The spawnpoint of the next obstacle should always be the last child of an obstacle parent.
            Quaternion.identity);

        obst.transform.parent = parent.transform;

        //Avoiding spawning the same thing twice
        randomList.RemoveAt(index);

        if (randomList.Count < 1)
        {
            randomList.AddRange(obstacleArray);
        }
    }
}

The map is from premade components. These are modular map slices, all made in a way so each can be placed next to each other without overlapping or not letting the player a gap to escape.

10th of February 2019
================
  • Made a better fade animation for the starting texts (backend only, nothing you could see)



  • Added some UI elements, as the player dies they have the option to watch an add or pay some crystals to continue (Not functional yet)



  • Made a better collision detection
Instead of checking on every spike if it collided with something with the tag of player, I've rewritten this so only one instance, the player checks if it collided with something that has the script "playerShredder"




  • Fixed some bugs with my "animation machine"

Thank you for checking out my very first devlog, I hope to make some more in the future, and keep logging as I finish the game. While waiting for the next and maybe more contentful part of the devlog, check out my previous game on the link found below

Links
=====
Facebook page: Facebook
Previous game: Lasers
« Last Edit: April 07, 2019, 08:40:13 AM by 66Gramms » Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #1 on: February 15, 2019, 07:27:44 AM »

Greetings!
======
Hello Everyone!
On weekdays I'm in school and spend most of my free time with other activities mostly excluding working on my projects. That's why you will see much less stuff being done related to BallY on these days. Also I'll be pretty much off the radar this weekend so the next time you'll most probabbly see some new devlogs from me is next weekend. (23-24th of February). Cheers!

13th of February 2019
================
  • Made the map (obstacles) come a little bit faster with each score the player gets (1 score every second). Around 100 score it's getting really hard, I think this is well balanced.

15th of February 2019
================
  • Further increased the efficiency of my animation machine to make things easy for myself in the future.
  • Made the "Watch an add" to continue button to work. It'll wait 3 seconds before continuing to give enough time for the player to prepare. It has a bug I know about currently, but it's perfect like this for the time of the developement. I'll fix that bug in the close future.

« Last Edit: February 20, 2019, 05:50:43 AM by 66Gramms » Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #2 on: February 23, 2019, 05:19:22 AM »

Greetings!
=======
Hello Everyone!
Nowdays I'm really busy as I got a new job (I really love it, I teach programming <3 ) so I don't have as much time for BallY as I used to. Still I try to find time to do at least a little bit of tuning and expanding on the project.

20th of February 2019
===============
  • Made a countdown so the player knows how much time they have to prepare when watching an add or paying crystals.


23rd of February 2019
===============
  • Made a better collision with crystals (back-end only)
  • Made a powerup so you can't get killed by spikes, also you can go through walls. (Currently only triggered by continuing the game after death)

Code:
   //Powerup Management
    public void ActivateUnhitable(float time)
    {
        powerupState = PowerupState.Unhitable;
        Physics2D.IgnoreLayerCollision(8, 9, true);
        StartCoroutine(DisablePowerups(time));
    }

    IEnumerator DisablePowerups(float time)
    {
        StartCoroutine(Flashing(time));
        yield return new WaitForSeconds(time);
        Physics2D.IgnoreLayerCollision(8, 9, false);
        powerupState = PowerupState.Ordinary;
    }

    IEnumerator Flashing(float time)
    {
        Renderer renderer = GetComponent<Renderer>();
        float startFrame = Time.time;
        while (Mathf.Abs(startFrame - Time.time) < time)
        {
            renderer.enabled = !renderer.enabled;
            yield return new WaitForSeconds(.1f);
        }
        renderer.enabled = true;
    }
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #3 on: March 09, 2019, 03:23:03 AM »

26th of February 2019
===============
  • Made a better movement system (it's a bit buggy yet, but it is a so much better system than what I used to have and it fixes a lot of bugs the old one had)

27th of February 2019
===============
  • Fixed the bugs of the new movement system now it is perfect. It is only 28 lines of code but considering the work of yesterday and today together I worked on this simple script for like 2 hours. Now I'm just happy that hopefully I never have to touch this code again


5th of March 2019
==============
  • Found myself having a difficulty in decideing what to do, so I made a very simple GDD in draw.io just so I can keep track of my tasks.


9th of March 2019
==============
  • Fixed a small bug that caused the player to get a tiny bit slower with each collision
  • Made a prototype of a death particle, tho' it looks terrible at the momment
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #4 on: March 28, 2019, 08:37:12 AM »

11th of March 2019
==============
  • Ballanced difficulty regarding the speed of obstacles
  • Made a more readable code for both me and any random person that checks it out
  • Fixed the spike sprite. The top of it wasn't perfectly angled, but now it is
  • Added a new obstacle (25 to go)

20th of March 2019
==============
  • Added some new obstacles
  • Through the price of blood and tears made a system that changes the colorscheme every few seconds. It needs some improvement like transition instead of sudden color swapping and adding some new color schemes but for now it is just perfect



Just for the GIF it changes color every second but by default it happens every 10th second


Regarding the future
It seems like I kind of got overwhelmed by work, school, and other buisnesses of mine so it is very possible that the devlog and developement of BallY will be delayed until summer.
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #5 on: April 07, 2019, 03:24:10 AM »

Greetings!
=======
Hello Everyone,
I left my job and it looks like I'll have a new one as a Unity developer ^^. Next week I'll have to pass a test and if I do then I pretty much have the job. Also this is a home office job so I'll have more time to work on BallY as well probabbly.

5th of April 2019
===========
  • Optimalized my movement script

Movement Script Optimalization

  • Fixed some bug regarding the increasing speed of obstacles
  • Made particles change color as well
  • Fixed some bug regarding the color change
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #6 on: May 10, 2019, 07:57:15 AM »

Greetings!
=======
Hello Everyone,
Due to the new update of unity and upgrading BallY to the newest version, TextMeshPro seem to crashed and as I tried to make things better, I've managed to mess up the whole UI and animation. This is not a big problem
as I wanted to change the whole UI animation thing to work with the asset "Airy UI". Also since having that job as a game developer I've already learnt a lot so to not vomit from my code in BallY I have to basicly rework the whole thing which was time consuming. Also my new job is great but it is time consuming as well, so sadly devlogs are rare  Cry.

1st of May 2019
===========
  • As mentioned above, reworked most of the scripts to have a cleaner, more optimalized code
  • Reworked the movement system, instead of moving the obstacles now the player moves (Caused a new bug, so ATM the player can't be pushed back)
  • Instead of getting score based on time, now you get score based on the distance you travelled. This is better because as the game speeds up so will you get more score.

10th of May 2019
===========
  • Made very very smooth UI animations, which are just wonderful to look at (Airy UI, great unity asset)



New UI animations
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #7 on: June 17, 2019, 10:45:16 AM »

9th of June 2019
============
  • Fixed some issues regarding scaling for different displays

17th of June 2019
============
  • Walls are able to stop the ball with the new movement system finally. I've been thinking on solving this issue for a lot of time, and this was the main thing demotivating me for the last few weeks. BUT IT'S OVER
  • Added a little feature. As less time left from invincibility, the flashing of the player starts slowing down.
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #8 on: June 20, 2019, 08:19:10 AM »

20th of June 2019
============
  • Fixed UI scaling on extreme resolution devices
  • Made a main menu



The background is temporary
Logged

Making Games For Everyone!
66Gramms
Level 0
**

Making Games For Everyone!


View Profile
« Reply #9 on: July 26, 2019, 04:20:10 AM »

BallY has been cancelled due to several reasons. This includes the fact that the game was found to be boring, and simply I couldn't release it while being happy about its quality and gameplay value. I have some other ongoing projects which I will tell more details about later.
Logged

Making Games For Everyone!
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic