SamuKata
UnrealCrash
UnrealCrash

patreon


Development update - August 9, 2024

Big part of past month was spent with remaking Plazma Burst 2 entities and vehicles in a new engine, there still work to do though. It does mean that re-making Plazma Burst: Forward to the Past as well as Plazma Burst 2 in a new engine can be a quite possible thing. I do believe it will be important to let new players be able to experience the complete story without need to try and run Flash Player versions of prequels (which turned out to be an impossible task for most players). Remade levels could bring much better first impression this way too.

Besides that, there is a screen-space distortions from explosions as requested by militaristica in the comments of previous post.

Special thanks to broforce1, Secret man123 (aka Dark) and yarik for helping with basis for 3D models with textures - I feel like it did really save a few weeks for me.

Gameplay

- Made it so velocity addition to camera is scaled properly in slow-motion;

- Made it so "rage" powerup doesn't increase stability restoration mid-air which could result into boosts due to recovery anomalies;

- Fixed a bug causing broken head's neck to rotate towards last position of removed head rigidbody;

- Fixed an issue causing turrets with ray-based weapons to occasionally release fire button at far range;

- Made it so turrets with ray-based weapons do not fire outside of their range;

- Made model of one of portable drones (will be throwable as gadget, has logic similar to turret logic);

- Fixed a crash on attempt to calculate time warp intensity for controllers without character;

- Fixed a bug causing dead portable drones to fall through ground occasionally and have incorrect collisions;

- Fixed a bug causing weapon of portable drones to fall through ground and not have attachment due to flip logic;

- Made it so sword clash sound is not played when one of "swords" is actually a virus bite;

- Fixed a bug that was causing D-turrets to spawn in zero coordinates;

- Fixed a bug that was letting virus bites reflect other projectiles similar to how swords can do it;

- Implemented directed cruise logic for S-drone, including bouncing off nearby walls and entities;

- Made S-drones timed if they were made by player, added deactivation sequence logic;

- Fixed an issue causing S-drones to have incorrect initial turret rotation as well as fixed flip logic rotation bug;

- Fixed a bug that would prevent spawning of drones in antigravity and zero-gravity areas;

- Added support for changing frames of each limb individually for entities. Made dead version of sprite for S-drones;

- Fixed bug causing S-entity (not S-drone) to not fire back when attacked by entities with AI;

- Made it so portable drones start dashing towards random direction in-between attack sequences;

- Started making 2nd type of portable drone (H-drone);

- Updated D-turret sprites;

- Fixed an issue causing sprint sound to be played in each logic frame when sprint key is held while character is in vehicle;

- Made portable drone flip logic to be rate-limited;

- Removed hit report sound from being played when player hits weapon-spawned grenades (only hand throwable grenades play sounds for now, probably until there are weapons that spawn mines or something like that);

- Made a unique weapon for H-drone;

- Somewhat updated old weapon designs;

- Added spark particles for D-turret destruction sequence;

- It is not possible to grab snowballs out of snow piles on maps with snow enabled, up to 6 "gadgets". Added small animation for that;

- Made it so camera zooms to value 120% when player is out of vehicle and zooms to 70% when player is in the vehicle (relative to old default zoom value of PB3, it is still further away from what it was in PB2);

- Fixed an issue causing H-drone to not reach its' target yet keep trying to fire at it from unreachable distance;

- Made a shader for screen-space distortion from explosions. It matches physical wave that deals damage to objects now (can be seen in slow-motion and for big enough explosions);

- Made a triangular screen-space distortion grid so shader is not calculated for each pixel but is calculated for smaller number of vertices (much more optimized this way);

- Finished model and textures for Corvette that were initially made by broforce1 and given to me;

- Imported Corvette model and texture into the game, made collision model, fixed artifacts;

- Fixed global entity shader bug which caused glowing to not work in the dark;

- Implemented Corvette logic while controlled by player (AI logic is to be done later);

- Reworked gun_veh_gun design - the weapon that was used by Corvettes in PB2;

- Made it so logical weapon is removed for downed Corvettes (they will have model that resembles that weapon which will break into debris);

- Added reload sound for Corvette gun. Fixed an issue causing sound to not play occasionally due to charge sound being not reset during magazine reload;

- Fixed an issue causing Corvette rockets to hit firing Corvette itself near front eye;

- Fixed incorrect reverse-reloading glowing for Corvette gun;

- Fixed an issue causing Corvettes to reload gun not in the same way how players reload them, causing lack of sound playback;

- Fixed a bug causing multiple reload sounds when frequently clicking attack key in Corvettes occasionally;

- Made it so pre-reload sound can not be flooded on any weapon;

- Added loop sound for activated Corvettes;

- Made it so Corvettes stop floating when driver leaves them;

- Added burning on Corvette remains after destruction;

- Turned Corvette gun sprites into 3D models so they look better during Corvette's flip sequence

- Made geometry extrusion under the Corvette's cap;

- Made it so Corvette's loop sound is played at higher pitch during movement;

- Fixed an entity crushing bug that would consider concave rigid-bodies collision with movable walls as crushing - it resulted into Corvette's destruction as well as probably would do to some other vehicles;

- Made it so microschemes under Corvette's cap deal increased damage to Corvettes;

- Fixed an issue causing entity limb loss to incorrectly calculate limb loss damage for entities that have parts connected in circular manner (Corvette);

- Made an alt fire more for Corvettes;

- Fixed a bug making it possible to switch weapon fire modes mid-attack;

- Limited diagonal velocity for Corvettes;

- Started finishing Mobile rO81-CS model provided to me by Secret man123 (aka Dark);

- Started finishing Life Capsule model provided to me by yarik.

Interfaces

- Made a gadget icon for S-drone;

- Rebound some of default gamepad keys;

- Implemented basic support for interface interactions with gamepads (still can't be used for typing).

Skin Editor

- Fixed bug causing search to not work during search in drop down lists.

Level Editor

- Made it possible to quick-pick onto objects that have same property so it will copy that value (instead of quick-picking team, level designer can quick-pick another character that has that team);

- Fixed a crash caused by hovering over object that had no ID during quick-picking;

- Made zoom constants for in/out of vehicle cases to be available through scripting;

- Fixed a bug causing "Test execution" button to not simulate trigger logic due to UI button release logic rework;

- Removed inline-timer object insertion shortcut from Z key as it will probably be used to slow-down simulation in Level Editor instead;

- Made it so cursor becomes hand when Space key is held;

- Fixed a bug causing cursor to not be reset visually after Space key was released and level designer hasn't yet moved it;

- Made it so Ctrl + Ctrl/Alt changes zoom;

- Made it so Space + Alt doesn't rotate camera when dragged;

- Added tentacle easter egg;

- Fixed a bug causing background wall for 3D collisions (invisible) to be placed incorrectly if surface of background wall is marked as terrain-generating.

Sounds

- Made more fleshy variations of broken limb impacts (4 sounds);

- Made sounds for portable drone of S-type (7 sounds);

- Made sounds for portable drone of H-type (7 sounds);

- Made original sounds for D-turret (3 sounds);

- Made sound of snowball break (1 sound);

- Made sounds for Corvette (5 sounds);

- Made reload sound for Corvette gun (1 sound);

- Made loop sound for Corvette (1 sound).

Comments

Patreon does not send notifications for replies ^ > I see, is there any reason you don't program in javascript or some other language you're experienced in for a job? Do you enjoy 3d modeling more? Thats awesome that you're able to support yourself doing part time work so you can have more time on pb3 :) I do part time work outside of game projects mostly in JavaScript/PHP actually. 3D modeling requires rather different kind of mood, I can be in mood for 3D modeling even if I'm not in the mood for programming and vice versa. I like modeling from time to time, but can't escape the feeling of project development progress being paused whenever I spend a fair amount of time to make and polish certain 3D model for the game. > I have started NodeJS now, I found some great tutorials for cheap from a guy I've watched before so I'm going to start there. I think golang also looks really interesting, years ago someone told me to learn it because it was going to be the next big thing but I never did, I was only like 14-15 at the time ahaha not really known back then but it looks really cool and useful for backend! I don't know how I manage to do it, but I always find freely available tutorials online. Pretty much my whole experience is from that. Golang does look promising, applications written with it do have big optimizations potential. As for being a big thing - I won't be so sure, I think. To me - big factor of backend being great is the possibility of sharing codebase with frontend. Which is basically Node.js and similar ones for now. > I'd like to experiment with different programming languages but I guess my main goal is getting a stable good paying job and then I can do that. Hmm. I feel like many people are looking past the idea of relocating to places of lower cost of living - at times it can raise your income relative to your spendings while giving you less stressful job. But then again, I'm not sure if that can be applied to your situation. I believe JavaScript developers are still needed. > For sure, its a really tough job market, especially for game programmers currently. I'd like to be in the field but also big companies I'm afraid there'd be a lot of crunch time and that really takes the passion away from games. Ideally I could create my own games and have them make enough money I could do that full time, that's the dream ahaha. I guess it is a bit hard to get into companies that have perfect vision of what they are doing. Usually it seems like people may mostly hire you if you have higher skills than anyone in a company, not other way around. > By the way how did you get into game development? Are you fully self taught? Yes, fully self-taught. Been hanging around on developer forums and learned most from there. Before that I've been trying to learn from physical books. Then, later experience I guess comes from colleagues at work and code examples of open-source libraries. I never really tried to learn best way of doing things, it kind of came naturally after I tried almost every bad way of doing everything. I kind of see lots of my abandoned projects as experiments, some are good enough to make them public. > I think that's a great idea. I usually am not that careful about keeping my scripts locked up or anything and I host most things on private github but it could be a good idea to be more careful about it especially as I make more things that I'd like to eventually profit off of. There is a weird factor of caring less about your projects being leaked/open-sourced the quicker you learn to make them from zero, for me at least. > Do you think you'll ever use something like Unreal Engine? I'd like to learn it eventually; I have a game idea that would work well in it and plan to learn it one day. From when I did use it, it seemed a bit all over the place though, too many things already coded for you I think and not in a super simple way. Honestly, my PC was too many times far behind modern hardware specs to make any recently released Unreal Engine games just run unbelievably poorly. I want my games to be played by as many people as possible so it seemingly doesn't meet my needs at the time. But still, it would feel great to make visually advanced games at one point while giving Unreal Engine a try. Though I feel like I'd try to target high-end hardware audience mostly to mess with procedural animations and neural networks. There is an insane amount of potential ideas nobody seemed to figure out yet.

UnrealCrash

I think triggers/scripting will be able to alter AI behavior pretty much. Doesn't sound too hard to add.

UnrealCrash

Good to know! I wasn't specifically looking for adding machine learning techniques to gameplay; but it seems like a plausible method. I was leaning more towards hardcoded AI behavior that overrides standard procedures in respond to a trigger action on the player's end. Looking forward to seeing more of your work.

O

Current AI model doesn't really learn from players (at least there is no neural network level learning). If neural network learning was to be added - it most likely would also be very hardware dependent. I think it is a good idea to revisit in the future though. But AI does have some of manually added behaviors, such as avoiding unsafe areas/paths. AI teams do simulate knowledge about player position, so they would actually try to look for player in areas that are most likely to have players but they do not know preciese place exactly (they simulate spreading probabilities over known automatically generated waypoints), sometimes fire at general directions if allowed by map designer too. So far AIs do share knowledge about known threats as if they were a multiplayer team that shares information all the time. Though none of lines nor any sort of visual indication of that is done so far. I think I'll work more on AI more once I'll have real case levels to test it all and optimize for.

UnrealCrash

I was wondering if individual AI could "learn" from the player's patterns, and apply the new knowledge when they fight. If the AI notices patterns in behavior (skittish, shoots from afar), it would unlock its own pattern of behavior to hide itself from the player's vision and attack from unsuspecting locations. Conversely, if observing other patterns (brash, dolphin dives to attack) it could communicate with its allies to set up a coordinated strike to catch the player off-guard. As for how to implement this, you could see how the xenomorph in Alien: Isolation adapts its routine to how it knows the player approaches its encounters. AI communication with its allies could be a whole new feature; it could liven up how each skirmish between the player and its enemies plays out.

O

Hi, sorry for the late reply I have been really busy with real life family stuff and work as well ahaha. I appreciate your replies though :) > I would maybe suggest that once you've tried making a physics engine of your own - go with physics engine like Box2D/Bullet physics. Making own engine is great experience and you'll understand these ready solutions much better/quicker. In the end they just tend to work much better and faster. For my type of game I think theres too much custom that if I went with a physics engine I'd be fighting against it more than anything. I use built in raycasts currently and overlap checks from unity ecs's physics but other than that I'm handling all the movement, collision reponses etc myself. Its not really a "physics engine" more a kinematic character controller which I also want to support things like rotating platforms. I understand what you mean though. > At this time I do a part time IT stuff here and there - can dedicate much more time to PB3 this way. Luckily it is possible now. I see, is there any reason you don't program in javascript or some other language you're experienced in for a job? Do you enjoy 3d modeling more? Thats awesome that you're able to support yourself doing part time work so you can have more time on pb3 :) > Backend can be fun. I probably would rather prefer working with something like Node.JS rather than PHP though (which I had a lot of time together with) at this time. I have started NodeJS now, I found some great tutorials for cheap from a guy I've watched before so I'm going to start there. I think golang also looks really interesting, years ago someone told me to learn it because it was going to be the next big thing but I never did, I was only like 14-15 at the time ahaha not really known back then but it looks really cool and useful for backend! I'd like to experiment with different programming languages but I guess my main goal is getting a stable good paying job and then I can do that. > As for skill itself - well, being able to do things is good. Learning (or just become aware of) a thing or two every day can be a way to go. But I can't say that big companies look much into that kind of stuff. Usually they just pay attention to potential profit from hiring you, not your skills (unless it is highly indie initiative where everyone in the team is professional at something IT or game development related). For sure, its a really tough job market, especially for game programmers currently. I'd like to be in the field but also big companies I'm afraid there'd be a lot of crunch time and that really takes the passion away from games. Ideally I could create my own games and have them make enough money I could do that full time, that's the dream ahaha. > I just don't know if they are affordable and have courses for IT. But they are pretty much all around game development. Looks like they are mainly an animation/3d art school, the showcase from students looks amazing though. > I believe someone once told me that ECS can be slower for performance, still not fully certain whether it is true or not, specifically at current day. I think it definitely depends, maybe using ECS for everything isnt the best but from what I've seen it usually is faster to use ECS than something like OOP. By the way how did you get into game development? Are you fully self taught? > I think traveling can great, any environment change can be pretty much very motivational. There I probably can only suggest to always backup your data (hopefully with some sort of script) and lock your laptop with BIOS startup password (though fingerprint scanner in BIOS might be even better). I think that's a great idea. I usually am not that careful about keeping my scripts locked up or anything and I host most things on private github but it could be a good idea to be more careful about it especially as I make more things that I'd like to eventually profit off of. Do you think you'll ever use something like Unreal Engine? I'd like to learn it eventually; I have a game idea that would work well in it and plan to learn it one day. From when I did use it, it seemed a bit all over the place though, too many things already coded for you I think and not in a super simple way. I hope you're doing great Eric, I appreciate you taking your time to read and respond :)

Lumari Dev

> Sorry for the late message. I have been swamped recently finally getting a break. Hope you're doing well! I think it is alright, perhaps real life stuff should be in priority. I'm doing ok ^ > I'm glad to hear that the old campaigns will be remade. I was considering replaying the previous games to get a refresher since it's been quite a bit but having it remade in PB3 is not only going to be a fresh way to experience the classics but a fun way to catch back up in terms of story. > Watching you show off the Corvettes made me curious as to how much better the drone AI behavior will be in PB3. I'd assume you would be bringing drones back so fully so I hope they can pose just as much danger if not more than ordinary soldiers. Well, portable drones are much better even though they basically "bounce" off of walls while scouting the area and do a little bit of dodging after each fire burst (I don't show them but they are basically available as timed gadgets and might appear in campaign levels as enemies too). Some other new drone kinds can analyze level's geometry and build paths, they use similar logic that is used for AI characters whenever they use jetpacks. > Hair physics is a neat feature. I'm curious if it would be possible to add a cape to a character and have physics apply to it just like hair. Or apply the effect to other parts of a skin for example. Yes, it is possible to combine multiple cloth presets and then repaint them. These so far include: tals, capes, scarfs, hair and two more fluffy tail variants. > Love the snowballs! Can't wait for the snowball fights that will come out of this. Surprisingly satisfying to watch an enemy get hit by a snowball. ^^ > That's all I got this time Eric. Can't wait to see you start work on the campaign and for the game to approach closer to a public release. Can't help but sit here waiting to get the opportunity to finally play this game haha. Luckily there is some help coming from PB2 community members when it comes to models of released games, usually models would take some extra time for me to make. > Take care! Thank you, I hope everything goes well for you in real life ~

UnrealCrash

Quite possibly, there are no Plazma Burst 3 level prototypes yet though. I'll adjust Corvette scale to match Plazma Burst 2 Corvette's size a bit later.

UnrealCrash

Hey Eric! Sorry for the late message. I have been swamped recently finally getting a break. Hope you're doing well! I'm glad to hear that the old campaigns will be remade. I was considering replaying the previous games to get a refresher since it's been quite a bit but having it remade in PB3 is not only going to be a fresh way to experience the classics but a fun way to catch back up in terms of story. Watching you show off the Corvettes made me curious as to how much better the drone AI behavior will be in PB3. I'd assume you would be bringing drones back so fully so I hope they can pose just as much danger if not more than ordinary soldiers. Hair physics is a neat feature. I'm curious if it would be possible to add a cape to a character and have physics apply to it just like hair. Or apply the effect to other parts of a skin for example. Love the snowballs! Can't wait for the snowball fights that will come out of this. Surprisingly satisfying to watch an enemy get hit by a snowball. That's all I got this time Eric. Can't wait to see you start work on the campaign and for the game to approach closer to a public release. Can't help but sit here waiting to get the opportunity to finally play this game haha. Take care!

Patty

Judging by the size and speed of the new vehicles, I'm guessing that some of the campaign levels in Plazma Burst 3 are going to be much larger and/or open than the ones in Plazma Burst 2

Nucl3ar

> I'm currently working with ECS (which is new to me) and trying to get the characters to respect object rotation keeping the velocity etc I would maybe suggest that once you've tried making a physics engine of your own - go with physics engine like Box2D/Bullet physics. Making own engine is great experience and you'll understand these ready solutions much better/quicker. In the end they just tend to work much better and faster. > What do you do for work if you don't mind me asking? At this time I do a part time IT stuff here and there - can dedicate much more time to PB3 this way. Luckily it is possible now. Before that I been working on anything from TV video advertisement production to 3D modeling & animation for unknown never released games, promotion stuff for 3D plugins and eventually backend/frontend when it comes to websites. > I've also thought about getting into backend development in general as that interests me. Backend can be fun. I probably would rather prefer working with something like Node.JS rather than PHP though (which I had a lot of time together with) at this time. > I also feel I need to brush up on my skills and learn more about architecture and become a better developer in that way to get a better job I think it is tough topic, I alway felt like I would be invited to some big company at any moment when I started working with games. It never happened and I just eventually started to feel like nobody really knows what they are doing and move mostly by inertia/towards revenue goals. That being said, everyone wants to work with nice, friendly and successful people, not just skilled or potentially skilled. Good portfolio is maybe a way to go, especially if you can collaborate with some people online who has any kind of reputation. As for skill itself - well, being able to do things is good. Learning (or just become aware of) a thing or two every day can be a way to go. But I can't say that big companies look much into that kind of stuff. Usually they just pay attention to potential profit from hiring you, not your skills (unless it is highly indie initiative where everyone in the team is professional at something IT or game development related). > my school and most schools I know of teach outdated technology Online schools? I heard https://www.gnomon.edu/ used to be great. Maybe they are no longer on remote only due to covid which can be great too. Stuff like this where you isolate yourself in such environments in person with other creative people is probably way to go. I just don't know if they are affordable and have courses for IT. But they are pretty much all around game development. > I think comments is something I need to work more on, I hardly leave comments Sounds like just an experience thing. First you might forget doing it, then you'll try to do it and eventually it might come natural. > Ah cool, did you learn these patterns from any sort of schooling or are you fully self taught? I figured them out by myself and then realized they actually have names. I think I been mostly learning by looking at code examples of other people. I kind of feel like linking code stuff to pronounced language constructs can throttle learning progress, but that is also a step towards not working in a team with other people all of which are very different. But if you always write niche code that does magic and is never reviewed by anyone else - it can work. I think I can often write code without really thinking about anything. > Does PB3 use ECS? Star Defenders 2D uses it and it did sped-up a lot of development steps. Plazma Burst 3 doesn't really use this approach to the fullest - most parts of logic are written in a way where it loops through specific classes like entities/characters/bullets instead of looping through all objects like Star Defenders 2D does. There are cases where it is used in most recent code, but not that frequently. I believe someone once told me that ECS can be slower for performance, still not fully certain whether it is true or not, specifically at current day. > I'm hoping the world turns more into remote development culture but we will have to see :) I think traveling can great, any environment change can be pretty much very motivational. There I probably can only suggest to always backup your data (hopefully with some sort of script) and lock your laptop with BIOS startup password (though fingerprint scanner in BIOS might be even better).

UnrealCrash

^^

UnrealCrash

Thank you ^^

UnrealCrash

Thanks for the long detailed reply Eric, absolutely. I'm currently working contract work as an indie developer and I've come up with some creative solutions to performance problems but other than that its pretty much using different frameworks to get things done the fastest. On the side though I do like to experiment with new things in games I create, kinematic character controllers are a lot of fun to make. I'm currently working with ECS (which is new to me) and trying to get the characters to respect object rotation keeping the velocity etc. Yeah doing things by the book definitely makes more money. What do you do for work if you don't mind me asking? I currently would like to work as a game developer for an indie studio but I've also thought about getting into backend development in general as that interests me. My main issue right now is I'm pretty young and just starting my actual career, I just don't know the best path forward, I want to make games on the side right now but I also feel I need to brush up on my skills and learn more about architecture and become a better developer in that way to get a better job. I'm also going to college part time while working full time so it's hard to find the time to work on side projects and learn new things - considering my school and most schools I know of teach outdated technology. I think comments is something I need to work more on, I hardly leave comments as I'm thinking "ah I know what this does currently, no way ill forget" then of course the time comes where I do ahaha. Sometimes at least in work I think I'm too rushed to do that, in side projects I experiment a lot and things change so often that the comments get quickly outdated. I quickly test something new, forgetting to remove some code and it gets messy I definitely need to be more conscious of that. Ah cool, did you learn these patterns from any sort of schooling or are you fully self taught? I never used ECS except for in this project that is ECS specific (using unitys entity component system) Does PB3 use ECS? That's a great idea, ideally in the next few years I'd like to travel to different places in an RV, and live out of it. I think it will be somewhat cheaper than just a house but mainly while I'm young I'd like to experience all the different cultures and be able to travel. I'm hoping the world turns more into remote development culture but we will have to see :)

Lumari Dev

God I remember playing your games when I was in elementary school, crazy to see this is how great PB3 is gonna be. Keep it up!

Dysfunctonauts

In terms of advices for programming... I'm not sure I can suggest much but I feel like there are 2 kinds of developers - ones who learn most by themselves and ones who learn to work with like frameworks. First often will be about doing creative unoriginal stuff and 2nd would be by doing more of a repetitive work that is actually often in a more high demand. I think I'm more of a 1st kind, can't really say that I enjoy 2nd approach even though I can do it without problems. Doing random stuff for me generally is just more fun, even though it is higher risk and, so far, resulted into lower income. Out of programming advices, I recently discovered that Google Gemini can assist with writing some repetitive code stuff or stuff that you could write by yourself but you'd need to scroll through plenty of manuals. So giving a try to AI can be a good thing, though you'd maybe want to make sure most of your source code isn't like leaked to 3rd party. I can't say that I am much of a person that would learn new stuff. I definitely will try to avoid cases when I would dedicate years to create projects using a new trendy technology that can stop existing just in a few years. At the same time, often making projects using something like Unity3D can be just simply worth it, but I can't make myself work with something that feels like Flash technology. But the opposite of that is developing stuff just slower, it is something I would not suggest anyone to do. But I will definitely make sure I know as much as I can about security stuff. I feel like making many projects most of which will just end up being abandoned can be worth it. Sort of being able to not fully care about your past work can be a useful skill. It can help you focus on stuff that works better and learn from old projects. It is probably nice to try and be generally irreplaceable - doing what nobody can and doing it well. Securing your work is useful too - I noticed that people who do automatic hacking often will specifically be able to hack only the commonly used tools/libraries. So basically even not disclosing what you use as well as altering tools/libraries you use can be sometimes a good thing. Or just making your own stuff. And, actually, maintaining a good reputation in eyes of people who can/want to hack, because someone who might find security vulnerabilities in your projects might either report or abuse them solely based on what they feel about you. These people might also be actually both pro and against money so they can act differently based on what your general ideology/principles are, so being nice and understand everyone can make sense, I guess. Having a friend who you can fully trust with stuff like source code to test stuff can be quite helpful if you develop whole thing by yourself. I'd still suggest you to not send your work over Internet even in that case. Then, the usual - comment your code and use variable naming in way where you'll be able to return to your project in 10 years and be able to remember the exact variable names you would give to your variables at that time. If that happened to be impossible - I'd often leave comments with variations of variable names I would think of so I can find them with regular search later on. And then the search works better if code is formatted the same way (for example a=b; versus a = b;). I kind of like working with big files, but, again, this is not a practice for code to be managed by multiple people in a team. I think performance factors of programming language you work with are good to know too as early as possible, maybe while making multiple tests alongside. Threading/parallel computing is also usually an important thing to learn about any language as one of basic stuff if you looking for good performance of your projects. I feel like prototyping for projects is also a nice thing to do. There are specific languages that work better for prototyping, like JavaScript. Though you might actually also write a whole project much faster by just using JavaScript than C languages, it just won't be as fast. But at the same time, JavaScript can be shared with random people online and they won't be afraid to catch a virus from your application. I think I could give an extra portion of advices for game development specifically. -- I guess I do use factory pattern, builder pattern, entity-component-system, state machine, observer pattern and singleton. I often experiment with everything, but from the looks of it creating objects using named parameters (like hash maps) is really useful the more you try to achieve in your project. I kind of feel like people can often increase quality of their lives by moving to locations with cheaper cost of living meanwhile they still work for companies that pay by standards of their old location. -- I'd probably say that I would change some stuff in PB3 at this point, but it is probably too late. And, besides, the implemented approach works just fine. Perhaps just not as automatable as it could be.

UnrealCrash

vehicle models look great! love those snowballs, too!

O

Gotcha, sounds awesome. You have many more years of development than me, I only have around 3 of serious development. I wonder, if you could give any advice on programming what would it be? I want to constantly improve but its so easy to not really need to learn new things when you have most of the basics especially if the games dont need anything beyond that. Whats your favorite design pattern or do you use many design patterns at all? (Factory Patterns, Command, Builder, etc that sorta thing). Recently I've been programming some games for a job and am currently working on some procerdural generation stuff but the majority of the time the goal is speed of development (its contract work) so it's hard to really learn on the job. I think it'd be awesome to see the source behind such a game and I'm sure many others feel the same! I love seeing how other people build things and the way they approach a problem I might have done differently.

Lumari Dev

Towards good architecture except for parts I hope I'll never return to, I guess. Some of network compression logic is kind of messy but it is optimized and I tested it well enough to make sure it works in all possible cases. Perhaps dynamic light logic is also messy - there is some code doubling. Maybe if I was to change something about it - I'd rather redo whole dynamic light generation instead. 3D physics are a bit messy, but well, they work and work correctly. I doubt I'll need to return back to fixing anything about them much, unless I'll want to make it possible for map designers to create 3D rigidbodies for whatever reason. Text input is messy but, again, it works. I guess lag compensation is messy too, but it also works good in all tested cases. Some global UI logic is rather messy. One of these cases where I navigate stuff solely using search. It is simple enough, but there is just too much stuff to the point where breaking it into different files/categories would not really help navigating it all better. Everything else is pretty much nicely written/commented and I won't have any issues returning to such code after many years. -- I wonder if making game open source at some point could be interesting to people.

UnrealCrash

The game's looking super fun, keep it up! As a developer myself I tend to wonder what the codebase looks like ahaha. Do you lean more towards good architecture or just making the thing work?

Lumari Dev

Happy Birthday to you! I wish you the coolest people around and only the nicest things to happen ^^

UnrealCrash

Geez, right on my birthday too. Thanks, Eric!

Paddy D.


More Creators