Wednesday, November 13, 2024

My personal fashion journey... so far.

Intro. 

Hello! This is a different post from what I usually write on my blog but today I'm going to be discussing my fashion journey so far! Recently I've been getting into fashion, and I wanted to write about it here to discuss how this started and where it's going.

The beginning.

Prior to 2024, I hadn’t considered fashion that much. I knew about the major brands, but I dressed like what my parents had given me and what I got handed down from my older brother. But in the summer of 2024, I was given a pair of Ralph Lauren swimming trunks, and I decided to do some research into this brand. Then I started to buy more from this brand, first it was a hoodie and then it was a puffer coat, and it went from there. I had joined a men’s fashion Discord, but I didn’t post on the platform until the following month. 

Styles, Tastes & New Clothes.

When I started to find out what my own personal style was, I had no idea what it could be. Previously the types of clothes I used to wear were jeans and a t-shirt, usually a hoodie on top and (if it’s cold) a puffer coat. But I’ve been wearing these combos of items for a long time, and they started to become boring. So, near the start of October, I posted a question thread on the fashion Discord channel I was in, and I got a few suggestions, Dickies and Carhartt trousers, chinos and cargo pants. It was here that I got suggested Vinted, a second-hand clothing app. I was aware of Vinted before; my mother sells clothes on the app and I assist with that by walking to the nearest Tesco to send packages off to Vinted, and I had read about buying second-hand clothing online from The Guardian. So, I downloaded the app to try it out.

I was hooked. I started buying a lot of clothes on the app. I remember seeing a hat from Burberry for £290 a few months ago, but I was able to snag a Burberry beanie off the app by putting in an offer of £50. When it arrived, it was a big hat, but it felt comfortable and luxurious. Going back to trousers, I’d ordered a few chinos from the app, as well as looking at secondhand stores. I’d also gotten a pair of corduroy joggers from TK Maxx, and I found they were a good refresher from just jeans all the time. A common color for most of these trousers I got were brown and beige and this was a color that started to appear a lot more in my outfits. 

During this month, I got a suggestion to try and find a personal style for myself. I made another question thread, and I got a couple of suggestions for magazine resources I could use to get a sense of what my personal style is. One of them is a Japanese men’s fashion magazine called Popeye. I sent off an email to the university library and discovered that I had access to the Popeye magazine via the Pressreader app. I know very little Japanese, so I just use the magazine for fashion reference photos, but I have found it to be useful. I also started to look in the library for fashion books, as I knew that co-existing with fashion students meant there was an abundance of books in the subject, and I started to get inspiration for outfits I want to make.

The future.

I’ll admit that I’m still developing my personal style and taste, but currently it’s learning towards an Americana/Western look, with common colours being blues, browns, whites and blacks. Common items include jackets (like denim jackets), shirts, brown trousers, and dark and brown jumpers. I will continue to look through the library to get reference photos, and I will continue to seek new sources of inspiration. This will allow me to get a better sense of what my personal style is and will allow me to be more intentional about clothes I want to buy that would match with my personal style. 

Wednesday, December 20, 2023

Diverse Players: Representation in the modern age of games

 In this blog post, I will be looking at game representation through the lens of diversity.

Gamer: Whats in a name.

Oxford Reference defines "gamer" in a straightforward, uncontroversial manner: "A person who regularly plays videogames. Gamers can be casual or hardcore depending upon the degree of commitment they exhibit." However, the stereotypical depiction of "gamer", is generally that of a white male. "Although recent research indicates that most people do not believe in the “isolated, pale-skinned” image any-more (Kowert et al. 2014), the gamer image seems to remain strongly associated with being male (Shaw 2010)" (Paaßen, Morgenroth and Stratemeyer, 2016, p. 1).

Diversity in games.

There have been recent strides in the past couple of years towards more diverse gaming spaces, that do not fit the gamer stereotype. From a non-binary character in Battlefield 2042, to Senua, a woman character from Hellblade: Senua's Sacrifice. (Rogers, R. 2022), (Webb, Davis and Jessop, 2023).

From my personal experience, I have noticed more characters in games that don't fit the descriptions of the white male. One of the studios I've noticed that has put in effort to increase diversity in their titles is Finnish developer Remedy Entertainment. The studios 2019 game Control features Jesse, a woman, as the game's main protagonist. In 2023, the studio released Alan Wake 2, a sequel to the 2010 game, Alan Wake, which features Saga Anderson as one of the playable protagonists in the game, is Remedy's first black protagonist. As creative director Sam Lake states, "We do take our characters and stories very seriously, all in all, but a lot of thought and dedication especially went into Saga" (Fillari, A. 2023).

Diversity in games, which includes steering away from the old stereotype of gamers, increases representation. A larger audience can start to see people like themselves in the games. As Stuart (2017) states, "...there are more voices, more points of view and more opportunities to see heroes like you being available and controllable on screen."

However, there are still issues relating to diversity in video games. As Webb, J., Davis, R. and Jessop, V. eds., (2023) states, "Gaming is changing: that much is clear. With a more diverse customer base than ever before, games are no longer being made purely by – or for – white men. However, there is still more to be done." The article gives examples from Hogwarts Legacy and Respawn's Jedi: Fallen Order.

"Consider as well, characters like Cal Kestis from Star Wars Jedi: Fallen Order, who are seemingly considered the norm. Respawn could have meaningfully designed Kestis as literally anything other than just one more white male protagonist – and indeed, explained that they thought about having an alien or female protagonist – but Kestis was ultimately used because they didn't want to “alienate” the player." (Webb, J., Davis, R. and Jessop, V. eds., 2023).

Diversity in the games industry is also not in a good position, and needs improving if it wants more voices to be heard. "In a survey published Monday, the International Game Developers Association (IGDA) surveyed 963 people working in the games industry and data from respondents found that when it comes to diversity, 74% of workers are cis males, 61% are white/caucasian/European, and 81% are heterosexual, despite the majority of respondents claiming diversity in game development to be "very important" or "somewhat important" to them." (Beck, K. 2018).

Conclusion.

Diversity in games is improving, and I have noticed this, but it's not where it needs to be, and the industry will ultimately need to employ more people which don't fit the gamer stereotype.

References.

Beck, K. (2018). Diversity in the video game industry is (surprise) not good. [online] Mashable. Available at: https://mashable.com/article/video-game-diversity [Accessed 10 Dec. 2023].

Fillari, A. (2023). Why Remedy Entertainment went all in on Saga Anderson in Alan Wake 2. [online] Game Developer. Available at: https://www.gamedeveloper.com/design/why-remedy-entertainment-went-all-in-on-saga-anderson-in-i-alan-wake-2-i- [Accessed 10 Dec. 2023].

Oxford University Press (no date) Gamer - Oxford Reference. https://www.oxfordreference.com/display/10.1093/oi/authority.20110803095841895?rskey=nbihjp&result=13 (Accessed: December 7, 2023).

Paaßen, B., Morgenroth, T. and Stratemeyer, M. (2016). What is a True Gamer? The Male Gamer Stereotype and the Marginalization of Women in Video Game Culture. Sex Roles, [online] 76(7-8), pp.421–435. doi:https://doi.org/10.1007/s11199-016-0678-y.

Rogers, R. (2022). How Electronic Arts Tries to Make Diverse Video Games. [online] Wired. Available at: https://www.wired.com/story/electronic-arts-inclusive-diverse-video-games/ [Accessed 9 Dec. 2023].

Stuart, K. (2017). The eight best advances in gaming during the last decade | Keith Stuart. [online] the Guardian. Available at: https://www.theguardian.com/technology/2017/oct/06/gaming-advances-decade-guardian-games-editor-keith-stuart [Accessed 9 Dec. 2023].

Webb, J., Davis, R. and Jessop, V. eds., (2023). Diversity in games: the best (and worst) examples of representation. [online] Evening Standard. Available at: https://www.standard.co.uk/culture/gaming/video-game-diversity-representation-a4461266.html#:~:text=Gaming%20is%20changing%3A%20that%20much [Accessed 9 Dec. 2023].

Wen, A. (2023). Three considerations for improving diverse game narratives and characters. [online] GamesIndustry.biz. Available at: https://www.gamesindustry.biz/three-considerations-for-improving-diverse-game-narratives-and-characters [Accessed 10 Dec. 2023].


Wednesday, November 29, 2023

2023, a year in review.

 Hello. Here is my year in review for 2023. 

1. Juice Jam: I made a game called ‘[bankrup$y]’ that wasn’t actually juicy.

2. Buddy Up Jam: I helped out make an arcade style game in GameMaker, assisting with the games design and influencing the game’s menu. It remains one of my most downloaded games and I made a few dev buddy’s from that jam. 

3. polyDungeons: My end of year foundation year project and a top down shooter, I made it in a little over 3 months, this one went pretty well is and is my best solo non-jam effort. 

4. Crowd Control: This one was to be used for a charity bundle on Autism. Note to self, do not bundle multiple jams and school work. 

5. Roll Home: A group project in Unreal that I had to do for my foundation. It wasn’t managed well, also see point above. 

6. Bullet Hell Jam: I did this one as a team, but Dumbass Sam did not have a good understanding of bullet hells at the time, and was by and large not great.

7. GameDevTV: This one was pretty mediocre, but the end result was okay and I got a free course out of it. It was a marble game featuring Jim from polyDungeons, where you avoided other enemies and collected Wilbo Boxes (?), pretty basics. 

8. Chill Jam: A game where you controlled a cubical crab around a small island. This did better than I expected, not least because of the unexpected praise of the crab. 

9. Regenerate Jam 2023: Bee Explorer, the game I made in a team for this jam, was also pretty ok. 

10. polyAreo: This is more of a guilty conscience choice (I only realised some of the flaws of the game until later), but it was my first Frutiger Aero game. 

11: GMTK Jam: Oh boy, the shit FPS game I made, burn it with fire!

12: Tank Hell. A 2 week self jam project. This one did pretty well, and I was happy with the outcome for this one. 

13: polyIsland: A project for uni in a small engine. Pretty basic and lacking but it served its purpose (somewhat). 

14: Witch Punch: This one didn’t turn out as expected, although it was ok in the end. 

15: lostBeach: My first attempt at a Twine game was pretty decent, although it was definitely GCSE levels of English Language. 

16: polyAreo: Water Wars: A week long spiritual successor to polyAreo. It did slightly worse than I was expecting but that’s fine, I’m still learning.

Sunday, June 11, 2023

Chill Jam 02, Day 1: Water, Character Movement, and a thunderstorm IRL.

 Today, I started work for the Chill Jam 02: Summer Edition. It started at 10:00 PM BST last night and by then, I had begun to think of ideas for the game. 

Initially, I had planned to make the game in Unity’s 2D mode and with URP. By the time I woke up the following day, however, I had decided to use Unity’s 3D mode instead, with URP. I chose this because I enjoyed working on my previous jam project, Jim’s Marble

I first started by creating a river. I did this by using a YouTube video for creating water within Unity. I had not worked with shaders before in Unity so it was a bit difficult to follow, but it was similar to the node system within Blender so I was able to mostly get it working. What I couldn’t get working was the Normals, I couldn’t find a free version of water normals. The usual place I go for free textures, PolyHaven, doesn’t have any, and textures.com didn’t provide the normals for their water textures. 

This is what I came up with. I think it’s a decent first effort.



Shortly afterwards, I got a reply by someone which had a open-source water shader they had made, along with the normals. I haven’t been able to correctly implement it into the game yet, however. 

While I was waiting for lunch to cook, I used a notepad to make an action plan for what I wanted to put in, and to describe the essential and nice-to-have features. 



I had already decided against using my flagship OC within the project, so I decided to create a new character. I wanted to make an animal character that would fit the theme, and it didn’t take long for me to land on a crab. I chose the name “Carrie” for the crab, as it sounded right. 

It had already started to gain a bit of attention when I shared this in-progress screenshot. 


Initially, I wanted it to be a purple crab based on what I saw from a NatGeo article, but I went for a more standard colour instead. I also added circular eyes a little later on in the day. 




I started Brackey’s Third Person Character tutorial. It was a bit more understandable than the shaders graph but I found the angle part difficult to understand near the end of the tutorial. A sign that I need more practice 😅 There was a bit of an issue where the camera was sticking close to the ground. I fixed this by going back into Blender and scaling Carries body parts by 10, and then re-exporting. 


However, while I had a bit of the movement script implemented, a thunderstorm broke out. 


I can’t say that I didn’t expect a storm, I knew that there was a possibility for a storm, but I never expected one today

I immediately unplugged the extension cable that carried power to my electronics (My laptop, my M1 Mac Mini and a 75Hz Dell Monitor from 2007).

 I returned to the project an hour later, but with my stuff unplugged. The main consequence of this was the fact that my laptops GPU (an RTX 3070 mobile) would be limited by it’s powered. Indeed, Unity was showing a maximum of 30FPS and it was about 17FPS in 4K (it was showing around 200FPS while I was plugged in). 

Despite this, I was eventually able to complete the tutorial and get a working version of a player movement script. 




Finally, the last thing to do was implement a date/time system and a points system. The former was much easier to work with. I created a new script called DateTimeManager and threw in some code which increased the value of the gameMinute variable. Once the gameMinute variable reached 60, it would then add to the gameHour. And if the gameHour would hit 24, it would reset to 0 and the gameDate would be incremented by 1. 

private int _gameDate = 1;

[SerializeField] private int gameHour = 6;

private int _gameMinute;

[SerializeField] private int timeMultiplier = 2;

private void Start()
{
_gameDate = PlayerPrefs.GetInt("Date");
}

// Update is called once per frame
void Update()
{
AddToGameTime();
}

private void AddToGameTime()
{
if (_gameMinute <= 59)
{
_gameMinute += timeMultiplier;
}
else if (_gameMinute == 60)
{
_gameMinute = 0;
if (gameHour + 1 == 24)
{
gameHour = 0;
_gameDate += 1;
PlayerPrefs.SetInt("Date", _gameDate);
Debug.Log("Day " + _gameDate);
}
else
{
gameHour += 1;
}
}
}

public int GetGameDate()
{
return _gameDate;
}


This doesn’t have any effect yet, but I plan to have a system where the Skybox is affected by the current hour. The system isn’t bug free, as it does add a bit too much, but it’s fine for now. 

Finally, I worked on the scoring system. This was surprisingly difficult, as I initially couldn’t get the script working to destroy the coin object and provide a player with the coin. I had come up with a player scoring script, and so I decided to handle coin collisions directly on the player. This provided to work, some of the time. Occasionally it didn't work, so it's something that I will need to fix.  

private int _playerPoints = 0;

private void Start()
{
_playerPoints = PlayerPrefs.GetInt("Score");
}

public int GetPlayerPoints()
{
return _playerPoints;
}

public void AddPlayerPoints(int pointsToProvide)
{
_playerPoints += pointsToProvide;
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Coin"))
{
Destroy(other.gameObject);
AddPlayerPoints(1);
Debug.Log("Player Points: " + _playerPoints);
}
}

Tomorrow, I will create the tree models, and shaders for the sand. I will also create crab NPCs, and I will start to build for WebGL and iOS, ready for player testing. 





Thursday, April 20, 2023

Foundation Year Final Project: Post-Production Week 4.

polyDungeons ended active development on April 18th, out of a desire to avoid breaking the game as it currently is. Bug fixes will still be made when they are needed but for the most part, the game is ready to be released on April 25th.

Despite this, I made 2 final changes. First, I changed the bullet behaviour to destroy when it collides with anything that has a collider. 




Second, the enemy spawner at the end of level 1 no longer spawns patrol enemies, due to it spawning stronger enemy2 enemies that block each other at the end of the spawner. 


And with that, the game's development cycle is complete, ready for the game's launch on April 25th. 








Monday, April 17, 2023

Foundation Year Final Project: Post-Production Week 3.


 This week, I made some general improvements and fixes.
 
The first thing that I changed was finalising the wall design of level 2.  



The 2nd fix I made was allowing the player to access the buttons on Level 2, which wasn't possible before. 


These 2 changes allowed me to put out a new build featuring a 2nd level shortly after. 

One of the goals I had this week was replacing the coin collection sound, which had proven to be disliked when I asked people whether or not I should replace it. 


One bug fix I implemented this week was changing the bullet functionality to destroy itself if it collides with any colliders. This change means bullets no longer hang in the game. I've also made the change to the projectiles that the firebowl objects put out. 


The 2nd level initially didn't have a way to block off the player from the deadly water that I added. That was until I moved the players position and added more wall tiles to ensure that the player can't access it, like in Level 1. 


I've tried adding screen shake but it broke the shooting mechanic that I've got, so it's disabled for now.


One of the feedback requests I got was to have a "lock-on" camera that moves with the player's mouse. I was able to do this by modifying the cinemachines follow object to the object responsible for shooting direction, which is controlled by the mouse.

As you can see here, I've also changed the enemy hit sound to be the same as the players. 



And I got a new collection sound from kenney.nl.


The last change I made this week was to fill in the new section with flooring. 


I then uploaded a new build yesterday.

For the next week, I will continue to fix any remaining bugs. 




















Sunday, April 9, 2023

Foundation Year Final Project: Post-Production Week 2.

 For this week, I decided to start work on Level 2. 


The first thing I did this week was modify the code so that if the player is hit, the player briefly turns red before reverting to the player's original colour. I've also modified the code so that if the player was hit recently and an enemy tries to hit the player, they would be pushed back. 






I was not planning on adding a 2nd level to polyDungeons, but after some feedback from my teacher. 

For the 2nd level, I first started work on an NPC. I used a program called Libresprite to create a sprite image of Wilbo, a character I made in 2021. 


After adding an outline to the image, I then put Wilbo in the game. 



I created a speech box in Libresprite and I put it on Wilbo's GameObject.


I then programmed Wilbo so that his speech bubble activates and deactivates if the player is colliding with him.


I coded Wilbo so that his dialogue can be cycled through using a specified key.




Following this, I also added code that disables the player's weapon whenever they enter Wilbo's zone.
 

You may notice another character. I've added another character in the game, Jeff, and I've made him an NPC that follows a path. 


After that, I also started work on a saving system, creating an image in Libresprite and a GameObject in Unity. Work on the feature is still ongoing. 


 

I outlined the game's 2nd level in Adobe Freso, and I also created a roadmap for what needs to be done. 



I created a new enemy in Libresprite, and I then added it into Unity.


The enemy works by shooting bullets below which can cause the player some damage if they get hit.



For the last change this week, I modified the end object so that if there's another level, the player will be sent there instead of the game over screen.



For next week, I will finish up my 2nd level and put it up for feedback on Tuesday.



Thursday, March 30, 2023

Foundation Year Final Project: Production Week 7/Post-Production Week 1.

I've got some updates for my project this week, mainly that I've finished the Production phase of my game and it has now moved onto the Post-Production phase.

Game world.

The first thing I did during this week was fill in the remaining sections of my game's background. 


Melee.

I then got on with implementing the melee fighting portion of my game. One of the requirements was that my game should have "Two different attacks that have different damage and attack speed values." I have already implemented one type of shooting (the bullet shooting), but I had not worked on the sword code yet, which I started to do for this week. 

I started by creating a sword game object and implementing code to spawn that sword when the player is in the sword mode (activated/deactivated by pressing the Tab key/Middle Mouse button). 


I implemented a new sword script and an animation file. The animation activates as soon as the sword is instantiated in the game and it shows a sword swing. 



At the end of the animation, I have placed an event which triggers a function within the code. The function destroys the sword game object. 



Although I was able to get the sword spawning and swinging, I was not able to get it working properly with enemies at the time, as any hit would decrease the players health, not the enemies. However, I was able to fix it later. 


Enemy spawners.


Another problem I had was with enemy spawners, as the former code would spawn lots of enemies at once, which added to the every 10 seconds regardless of existing enemy amount and which slowed down the game and made it harder for the player to progress, especially slower players. 

float eSpawnerAmount = FindObjectsOfType<enemySpawner>().Length;
float enemyAmount = FindObjectsOfType<e1Movement>().Length;
if (enemyAmount <= eSpawnerAmount)
{
_spriteRenderer.color = Color.blue;
Invoke("SpawnPatrolEnemy", 1);

}
This was the code I came up with for the solution. Once the timer runs out, the game finds the amount of enemy spawners and the amount of enemies. If there are less enemies than enemy spawners, than the game changes the spawner colour to blue, waits one second and then spawns the enemies. 
void SpawnPatrolEnemy()
{
SpawnEnemiesInSpawnPoint(SpawnPoint2);
CheckHealthLevel();
}
It then reverts the enemy spawner object back to it's previous colour by checking the object's health.

Enemy effects.

I decided to experiment with enemy death effects. I did this by creating a new game object which spawns every time the player shoots the enemy down. 

I also added a particle object on the existing particle object, so that I could try to make it resemble a fire. 


In the end, I decided to comment out the code that spawns the particles, thus rendering them unusable in game. 

Game Menus.

I decided after that to work with the game's menus. Because I had done this before, implementing the buttons was very easy. The buttons link to a function that opens levels, in this case, the first level and a "How To Play" screen. The last button quits the game, although this only happens when the game is built and not in the Unity editor. 


I've noticed from the single piece feedback I had received so far for polyDungeons and the feedback from my previous games, that implementing a "How To Play" screen would be a good idea. The screen doesn't show the controls, just how to play the game. 





Post-Production Launch.

I finished the Production phase by building the 26_03_2023 version of the game onto 4 platforms, Linux, MacOS, Microsoft Windows and WebGL. I skipped Android as I didn't want to deal with the complexity of that platform and because I had not implemented shooting controllers for gamepads yet. I also supplied a feedback form in the game's Itch.io page. 

Post-Production Feedback.

After that, I started to gather feedback for my game. I provided links to 2 Discord servers, 1 of the groups was a public server whilst the other was a server for developers in Southampton. I also gathered feedback by setting up my computer space at University (which has 2 monitors) to have the game playing on the left monitor and the feedback form on the right monitor.

2 suggestions I received from the public server concerned the UI. The person who gave feedback didn't know what the icon on the top left did, and they also couldn't figure out how to close the How To Play page at first. 

Previously, the game featured an arrow image on the top left of the game to represent bullets. 


In the How To Play scene, I had also used a button to close out of the scene.


I dealt with the first bit of criticism by adding a label next to the object on the top left of the HUD. I also changed out the arrow for a silhouette of the bullet used in the game. 


For the 2nd bit of criticism, I moved the button to close the scene to be inside the background blur. 


I noticed that some reviewers didn't catch the feedback link within the Itch page, so I added a button to my Game Over and Main Menu screens, that opens a version of the feedback form that pre-fills in the version that the player is using. 



For the last 2 major changes for this week, I changed the way the sword works to get it to work with enemies.

Previously, the sword used the Box Collider 2D for collision and with the OnCollisionEnter2D function. The problem was that the enemies and players also used the same components, and because the sword spawns as a child of the player, the game treats the sword as the player, which means that when the enemy touches the player, the player loses a life. 

I resolved this by changing the Sword type to a trigger using the "Is Trigger" function (see below).  



You may also notice another change in the video. I've changed the amount of lives that the player has from 3 to 5, in response to feedback I received from the public game dev server. 

For next week, I will make a new build based on the feedback I've received so far, and I will continue to gather feedback ahead of the launch date,  April 27th. 


















My personal fashion journey... so far.

Intro.  Hello! This is a different post from what I usually write on my blog but today I'm going to be discussing my fashion journey so ...