Skip to content

Commit

Permalink
Updating ballz and AOE
Browse files Browse the repository at this point in the history
  • Loading branch information
ConnorY97 committed Apr 8, 2024
1 parent 4bf82a2 commit 9cb6521
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 6 deletions.
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ img_cdn:
avatar: assets/img/PP.png

# boolean type, the global switch for TOC in posts.
toc: false
toc: true

comments:
active: # The global switch for posts comments, e.g., 'disqus'. Keep it empty means disable
Expand Down
34 changes: 31 additions & 3 deletions _posts/2020-05-07-Balls.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,38 @@
Title: Ballz
date: 2020-05-07 03:05:43
categories: [Portfolio, C#]

image:
path: /assets/img/Ballz.png
alt: Ballz
---
My attempt at making popular mobile game [Ballz](https://play.google.com/store/apps/details?id=com.ketchapp.ballz&hl=en&gl=US&pli=1). I have got the game to a state that I am happy with. It has a game loop with some cool visuals and audio. <br>
![Ballz](/assets/img/Ballz.png){: width="300" height="800" .centre}

### Things that I am proud of in this project are:
1. Creating the 'aiming' effect, the large red triangular thing, without any outside help. By that I mean I was able to do the math and the effect all by myself!
2. Setting up the grid for the boxes and triangles, I went through a lot of iterations for this. It began with a list of all the objects and iterating through them to update their position. Then it moved to a much more intelligent grid system where each object is aware of its own position and where it will be moving in the next round.
3. The cool bloom effects and the materials used by all the objects in the game I made. Which you can probably tell by how janky it looks haha. But it was a good first attempt using [Gimp](https://www.gimp.org/) as I have never called myself an artist:<br>
![Box Emission](/assets/img/BoxEmissionMap.png){: width="246" height="200" .normal}
![Triangle Emission](/assets/img/TriangleEmissionMap.png){: width="246" height="200" .normal}<br>
I kind of like the effect of the triangle not being perfect.
3. Used some simple inheritance for the spawnable objects. This made it easy to add the triangle which increased the total amount of balls.

### Some things I still want to improve upon:
1. How the balls move once the hit the base.
2. Displaying the 'balls to shoot' and 'returned balls'. It is very spammy and massively inaccurate.
3. Add some background images to give the idea of progressing levels.
4. Do more with the audio as the levels get higher.
5. There is one issue I need to resolve: [Public Reviews #1](https://github.com/ConnorY97/Ballz/issues/1)

## You can play the game right now!
<details><summary>Ballz</summary>
<iframe frameborder="0" src="https://itch.io/embed-upload/10128126?color=333333" allowfullscreen="" width="800" height="740"><a href="https://connory97.itch.io/ballz">Play Ballz on itch.io</a></iframe>
</details>

My attempt at making popular mobile game [Ballz](https://play.google.com/store/apps/details?id=com.ketchapp.ballz&hl=en&gl=US&pli=1). I am also using it as my guinea pig for getting my GitHub build actions working. Which means the master branch is getting flooded with commits which have little to do with the actual game development.
## GitHub Actions
The cool thing that I was able to set up with this project was a GitHub action (following [game.ci](https://game.ci/)) to build the Unity project for me, then using another action to upload the build to to my Itch page (following [Creating a free build pipeline for Unity games using GitHub Actions](https://jaidengerig.medium.com/create-a-cd-pipeline-to-auto-publish-unity-games-from-github-to-itch-io-in-30-minutes-for-free-bae3b254283c))!

The hope is to have a branch dedicated to build and development but that is still to come.
The major advantage of this would be the ability to distribute test builds QA, testers or your audience without having to do much yourself. Although there is a lot in the set up. Once everything it done, it should continue to work without much up keep!

You should also be able to play the game here, recommended to play on Mobile: [Ballz](https://connory97.itch.io/ballz)
Hopefully, I will be able to use this knowledge for a larger scale project in the future.
14 changes: 12 additions & 2 deletions _posts/2024-03-10-Age-Of-Empires.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
Title: Age Of Empires
date: 2024-03-09 09:00:00
categories: [Portfolio, C#]
image:
path: /assets/img/AOE.png
alt: AOE
---
Working on creating a simple AOE clone!

Expand All @@ -14,9 +17,9 @@ Currently, I have two collectable resources that `Upgrade` the `Humans`. Wood al
UI is a still a work in progress: <br>
![AOE UI](/assets/img/AoeUI.png){: width="486" height="294" }

Things I am practicing:
### Things I am practicing:
1. Inheritance: I have the base [Resources](https://github.com/ConnorY97/AOE/blob/main/Assets/Scripts/Resource.cs) class which all interactable resources will inherit from. This is useful as I can put all the boilerplate code in the base class which all children will require. I have used this a few times, but never anything in depth.
2. Object Orientated programming: I can confirm I am not doing this well. There is a bit of spaghetti code going on, but things are slightly modular. I am trying to look forward when implementing solutions. The best examples of this is the `ResourceUI`
2. Object Orientated programming: I can confirm I am not doing this well. There is a bit of spaghetti code going on, but things are slightly modular. I am trying to look forward when implementing solutions. The best examples of this is the `ResourceUI`
```c#
public void IncrementResource(Dictionary<ResourceType, float> returnResources)
{
Expand Down Expand Up @@ -60,6 +63,7 @@ public Resource Target
```
Here I can do error checking on the passed in value `if (value != null)` then followed by some code. This is very cool, I have never used this before and it has so far been super helpful.

### Issues
I found an issue! Can you figure it out?
```c#
// Check again all the current existing resource positions
Expand Down Expand Up @@ -126,11 +130,17 @@ IEnumerator PlaceObjects()
}
```

### Fun Stuff
The fun stuff that I did do today was create a `Tree` and `Rock` in Blender! It is a good first attempt, I can put a lot more detail into the trees and add some actual ore lumps in the rocks but they are good for now!
<br>
![Tree](/assets/img/tree.png){: width="243" height="147" .normal}
![rock](/assets/img/rock.png){: width="246" height="200" .normal}

## GitHub Actions
I set up a GitHub actions like I did for [Balls](/_posts/2020-05-07-Balls.markdown#github-actions). Which means that the game is being updated on the build branch and posted to itch IO here: [AOE](https://connory97.itch.io/aoe) or below!
<details><summary>Age Of Empires</summary>
<iframe frameborder="0" src="https://itch.io/embed-upload/10128116?color=333333" allowfullscreen="" width="1000" height="720"><a href="https://connory97.itch.io/aoe">Play AOE on itch.io</a></iframe>
</details>
<br>
[Github](https://github.com/ConnorY97/AOE)

Expand Down
Binary file added assets/img/AOE.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/Ballz.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/BoxEmissionMap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/TriangleEmissionMap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9cb6521

Please sign in to comment.