I’ve been pretty busy over the last week with life stuff, so not a whole lot to report on at the moment.
However, I watched an Extra Credits video last night that talked about some tips for making your first game. This isn’t my first, but there were still some good tips in there.
The biggest takeaway from this video for me was to make sure that, even if you don’t have the time to work on your game, spend at least 30 minutes a week looking at and reviewing it. The point of this is to keep it all fresh in your mind, and not to let the mental model you’ve created of it to atrophy too far. If you’re a game developer, or even just an avid gamer, I really recommend you check out Extra Credits on YouTube. The videos are always entertaining and educational.
Anyway–this video got me thinking about the task list I mentioned in an earlier post, and I thought it might be kind of cool for some of you to see it.
Note that this list is not static by any means. Items get added, removed and shuffled around all the time.
I’ll start with a high-level task (like Spells), and then break that down into smaller tasks. Often time, I’ll get part way through and realize that, in order to finish the current task, I have to add another to the list and shift my focus to that (eg. I needed a base Stats implementation to implement spells), and then resume with the original task.
I’m really glad I have this list. Juggling all of the interconnected systems and moving back forth between them would be a major headache without it. This lets me keep my mental RAM free for more important tasks.
It’s not formatted as nicely as the Word version, but you should still be able to get an idea of what I’ve finished, what I’m doing, and what I’ll be doing next.
|1. Define and Implement Core Gameplay Mechanics (Alpha)||In Progress|
|1.1. Movement (Base Mechanics Only—Polish to come later)||Complete|
|1.1.1.Define Movement Scheme||Complete|
|188.8.131.52. Moving (Translation)||Complete|
|184.108.40.206.1. Define Restrictions||Complete|
|220.127.116.11.1.1. Non-Walkable Areas||Complete|
|18.104.22.168.1.1.3. Non-Passable Terrain (Water, Marsh, etc.)||Complete|
|22.214.171.124.1.1.4. Max Climbing Angle||Complete|
|126.96.36.199.1.1.5. Max Drop Amount||Complete|
|188.8.131.52. Turning and Looking (Rotation)||Complete|
|184.108.40.206.1. Fixed rotation (Key presses)||Complete|
|220.127.116.11.2. Free Look (mouse)||Complete|
|1.1.2.Implement Movement Scheme||Complete|
|18.104.22.168. Player Movement||Complete|
|22.214.171.124.1. Develop test level with walls, holes, stairs, drops||Complete|
|126.96.36.199.2. Develop test level with terrain||Complete|
|188.8.131.52.3. Turning and Looking (Rotation)||Complete|
|184.108.40.206.4. Moving (Translation)||Complete|
|1.2. Turn-based Play||In Progress|
|1.2.1.Wait for player action (Mode 1)||Complete|
|220.127.116.11. Define how the Speed stat affects turns||Complete|
|18.104.22.168. Define TurnManager (Passive vs. Active Mode)||Complete|
|22.214.171.124. Define Enemy AI||Complete|
|126.96.36.199.1. Determining Actions||Complete|
|188.8.131.52. Implement Enemy AI||Complete|
|184.108.40.206.1.1.1. Avoiding Other NPCs||Complete|
|220.127.116.11.18.104.22.168. Ranged Melee (Spears, etc.)||Complete|
|22.214.171.124.1.2.3. Magic||In Progress|
|126.96.36.199.188.8.131.52. Define Spell System||Complete|
|184.108.40.206.220.127.116.11.1. Define Stats and Prepare for implementation (equations, helper functions)||Complete|
|18.104.22.168.22.214.171.124.2. Implement Stats||Complete|
|126.96.36.199.188.8.131.52.3. Custom Stats Inspectors||Complete|
|184.108.40.206.220.127.116.11. Implement Spell System (Enemy)||In Progress|
|18.104.22.168.22.214.171.124.1. Linked Spells||In Progress|
|126.96.36.199.188.8.131.52.2. Document Spellcasting||In progress|
|184.108.40.206.220.127.116.11.3. Revamp Spell System||In Progress|
|18.104.22.168.22.214.171.124.4. A couple of finished sample spells||In Progress|
|126.96.36.199.188.8.131.52.5. Define potential status effects.||Not Started|
|184.108.40.206.220.127.116.11.6. Implement base status effects||Not Started|
|1.3. Combat (Base)||Not Started|
|1.3.1. Attacking (Player)||Not Started|
|18.104.22.168. Create Placeholder Weapon||Not Started|
|22.214.171.124.1. Attack Animations||Not Started|
|126.96.36.199.2. Damage Enemy||Not Started|
|188.8.131.52.3. Ranged||Not Started|
|184.108.40.206. Create Placeholder Weapon||Not Started|
|220.127.116.11.1. Define how moving projectiles affect turns||Not Started|
|18.104.22.168.2. Projectile Animation||Not Started|
|22.214.171.124.3. Magic||Not Started|
|126.96.36.199. Casting Animation||Not Started|
|188.8.131.52.1. Implement||Not Started|
|184.108.40.206.2. Dual Wield?||On Hold|
|220.127.116.11. Define how the player will use dual wield (Attack both at once, choose which hand, etc.)||On Hold|
|18.104.22.168.1. Items||Not Started|
|1.4. Define item types (Consumable, Weapon, Armor, Quest, etc.)||Not Started|
|1.4.1.Define item script heirarchy||Not Started|
|1.4.2.Determine item commonalites and differences||Not Started|
|22.214.171.124. Create item heirarchy||Not Started|
|126.96.36.199. Weapons||Not Started|
|188.8.131.52. Create Weapon Scriptable Object||Not Started|
|184.108.40.206.1. Make Weapons equippable (through editor)||Not Started|
|220.127.116.11.2. Share common animation based on type||Not Started|
|18.104.22.168.2.1. Practice with Infinity Weapons||Not Started|
|22.214.171.124.3. Practice with Mesh Effects||Not Started|
|126.96.36.199.4. Integrate Infinity Weapons and Mesh Effects||Not Started|
|188.8.131.52.5. Procedural Weapons||Not Started|
|184.108.40.206.5.1. Experiment with Infinity Weapons texture generation and Blend Shapes at Runtime||Not Started|
Side note: looking at this list now, it’s starting to get pretty long. I might need to make some separate sublists.
As you can see, I’m currently working on implementing the spell system for the enemies.
I’ve been at this task for a while. It was nearly done, but I realized it was needlessly convoluted when I had to keep re-learning how to use it to create new spells. So now I’m reworking it a bit, and so far so good.
Once the spell system task is complete, I’ll be able to move on to what I consider to be a major milestone: making the player do stuff.
Currently, all he can do is move and take damage. After the spells, I’ll work on making him be able to attack back.
Speaking of milestones: I really need to define some formally.
Anyhow, I’m excited to get over this spell-casting hump and to start turning all of this functionality I’ve created into an actual game.
As soon as the player is able to start attacking back, the need for new systems is going to skyrocket. We’re talking weapons, armor, items, inventory and all of the little pieces that make them all up.
I’m realizing now that this next task is going to be a huge one, but I’m suddenly super excited to get to that point. As soon as I finish spellcasting, and before I start working on the player, I’m going to make sure all of my code is painstakingly commented. This will be a turning point in the project, and I have to execute it well.
Here is another piece that was done for The Wayfarer!
Last week was a chaotic one. My PC crashed so badly there was really no other option but to reinstall operating system and everything else again. That was a small disaster. Basicly I spent all of my spare time for 8 days to revive my setup.
“Luckily” I did this same operation about an year ago, so I got most of the bigger installing files already there. Still there was quite a lot to do. Not only that you install all the programs, but then you update everything, upload the registeration managers, look for the serials, registerate, find out (again) that you have multiple accounts (at the same site) which cannot be merged (and that there are email addresses that don’t even exist anymore) ect. It takes time to relocate all the passwords for those over 10 different accounts. There was probably over 60-70 different products. Luckily only that much. It could be a lot worse.
After you’ve installed and updated everything, you still need to find folders of all the dll-files so VST instruments and effects start showing and working in you DAW. Then open up the DAW, open up the instruments one at the time and look for the libraries so that instrument have something to play ect. ect. It’s quite a mess.
To be honest I really, really would not care to do this again. It’s really time and nerve consuming. But now it’s done and I’m back in business and nothing crucial is missing. That’s life. Things happen. Then you clean up the mess and move forward.
PS. The cause of this was actually drivers of my audio interface (it could be concluded from the file name showing at the blue screen). Fast Track Pro does not support Windows 10, but since it did work after the update from Win7->Win10, I did not quit using it. Now that interface does and will not touch my PC. It is a good interface and I have been using it for years, but I really don’t recommend using it if you use Windows 10.