Week 11 Development (Devlog)
Tasks Undertaken:
- The primary task of this week involved the Creation of new Weapon Prefabs with the new assets that were scouted by Carter alongside some testing procedures with the Weapon Switching and the Equipment Inventory. 49 New Prefabs were developed all with varied stats and functionality alongside their respective Sprites that can function on the Inventory Displays. The respective Sprites and New Weapon Prefabs were for the following Weapon types: Assault Rifle, Shotgun, Sniper Rifle, Submachine Gun, Rocket Launcher, Light Machine Gun, and Handgun. A new PlayerController duplicate was made for testing purposes with alternated controls as requested by Christian in accordance with time restraints to ensure a polished and functional build of the game could be presented during the following week. This controller removed the necessity for Weapon Switching allowing the Player to only use the weapon currently being held which would be able to work with a modified variation of the Equipment Inventory.
- For the newly integrated assets to be properly implemented as varied Prefabs, the pre-existing progenitor Weapon Prefabs were completely removed due to the shared asset amongst predominance of them. The new base Weapon Prefabs were prefixed as Standard variants that contained the Weapon Base abstracted classes (AssaultRifleBase, HandgunBase, SniperRifleBase, LightMachineGunBase, SubMachineGunBase, RocketLauncherBase, and ShotgunBase) respectively with variables set to align with the Weapon Types for difference. Additionally an AudioSource component was necessary for all weapons to ensure that the Sound Effects that were implemented into the game earlier during development were assigned to all weapons for consistency and engagement when interacting with the Weapons. The final elements added to the hierarchy of the Weapons were an empty gameobject that acted as the Transform location for all projectiles, names 'ProjectileSpawnLocation' and the Muzzle Flash Particle System that I developed and modified from a previous iteration for more realism and customization. These base weapons were assigned the GroundItem script that communicates to the Inventory System for picking up weapons and displaying them within the Player's inventory with the newly developed sprites that followed the same process as the previously generated sprites for the Old Weapon Prefabs.
- The variable Rarities of each Weapon was a time consuming process that involved the alteration of variables in a balanced manner (spawnRange, fireDelay, magazineAmmo, maxAmmo, projectileNumber) for each rarity including Uncommon, Rare, Unique, Epic, Legendary, and Empyrean. The large number of variants was developed in discussion with Carter Fernandez whom was working in tandem on the Loot Crate randomised generation script which has preset values of probability that determine which Weapon and Rarity is produced. A set of new standardised materials with varied colours aligning with the different rarities were developed alongside modified Colouration of Muzzle Flash.
Obstacles:
- There were no overt obstacles that were experienced during the process of development and creation of the new Weapon Prefabs. The development of the Weapon Swapping system was decided to be put on hiatus with the Equipment system due to the time constraints and believed complexity of the processes involved with the Inventory System. The base system for the Weapon Switching alongside the Player Input script is developed with a robust framework to be further developed at a later point if necessitated which will be commented out for a functional build.
Solution Reasoning:
- The methodology of creating the new Prefabs and Sprites was previously implemented during the prior week and was conducted as it was considered the most efficient for necessary assets. Combined work with Carter allowed for faster production of the Sprite designed after sending the base Renders from the FBX models. The final decision to create new prefabs for all weapons maintains the abstracted classes which saves time on code and allows for a wide range of integrated weapons by changing variables. This ensures concision of code and duplicitous class types that can be easily modified. In the future I'd consider abstracting the firing function for the other Weapon Child classes to allow projectile weapons utilise raycasting rather than projectiles for more precise collision with enemies which occasionally can be misread with high speed rigibodies and colliders that are part of the instantiated Projectile Prefabs. This allows for more unique particle systems effects to make the projectiles more overt and preserve memory with less objects within the scene. An additional consideration would be the implementation of an Object Pooling script that would further benefit the game with less instantiated and destroyed objects by having a pool of bullets to pool from in its current state (Only viable for the Rocket Launcher with raycasting implementation)
SGD300 Assessment. (FPSRPG)
Status | In development |
Author | Xianomorph-7 |
Genre | Shooter, Role Playing |
Tags | FPS |
More posts
- Week 12 Development (Devlog)May 29, 2020
- Week 10 Development (Devlog)May 23, 2020
- Week 9 Developments (Devlog)May 22, 2020
- Week 8 Development (Devlog)May 18, 2020
- Week 7 Development (Devlog)May 18, 2020
- Week 6 Development (Devlog)Apr 11, 2020
- Week 5 Development (Devlog)Apr 01, 2020
- Week 4 Development (Devlog)Mar 24, 2020
- Week 3 Development (Devlog)Mar 24, 2020
Leave a comment
Log in with itch.io to leave a comment.