Where Abundance Lies // Some old devlogs from last year

22/04/2020 Started new Godot project using 1stPersonStarter as base, as there’s some weird-ass magic going on in the developer’s GDScript that fixes all of Godot’s weirdness when it comes to movement and physics. Implemented basic firing logic for character controller. NEXT / TODO: Modularize firing logic by breaking out into separate BulletEmmitter class a-la Miziziziz’s modular weapons code. Then, draw the rest of the fucking owl.

23/04/2020 Broke out firing logic into weapon and emitter nodes for modularity. func fire(): sends signal to BulletEmitter to spawn projectile NEXT / TODO Figure out projectile spawning logic, use global_transform for zeroing projectiles on centre of screen

29/04/2020 Basic firing / projectile logic complete although hacky. Player can now walk, run, climb, jump and shoot. NEXT/TODO: Design some basic test levels and placeholder enemies.

30/04/2020 Started work on new test level - slowed significantly due to me being a goddamn idiot, setting up my hierarchies incorrectly and wondering why my player controller was flipping out (PROTIP: don’t add it as a child node of your geometry meshes). Adjusted bullet speed to try and mimic real-world velocity better. Adjusted walk-speed and jump height to feel a bit more STALKER-like. NEXT/TODO: Continue building out geometry for test level. Basic structures, walls, elevation etc

03/05/2020 Work continues on test level. Tweaked materials and bullet velocity. Investigating using godot-ink for dialogue and quest mechanics. NEXT/TODO: Work out schedule for working on game properly over weekend. Build test level out further. Add godot-ink to project and begin investigating how to implement dialogue

Todo for week beginning 04/05/2020

  • Implement interaction logic for player controller (i.e. press e to do thing). Refer to CodeWithTom’s video for example
  • Build UI element for displaying dialogue on screen
  • Implement basic non-interactive dialogue for dummy NPC
  • Install godot-ink into project
  • Write basic dialogue tree in Ink
  • Investigate how to get Ink dialogue displaying ingame

05/05/2020 Feeling sleepy and uninspired so playing Metroid Prime instead. Inb4 accusations of scope management issues. Fook off m8

10/05/2020 Currently working on switching dev environment over to Linux bc Windows sucks ass. Running with Pop!_OS just now, which is pretty awesome. Fast and stable. Still need to get drivers for graphics monitor working, in progress

Lesson learned: It is absolutely not worth planning huge chunks of work for given days, for I have the planning capacity of a goldfish

Inb4 accusations of scope management issues. Fook off m8” It turns out I have scope management issues

10/05/2020 Implemented base interaction code using raycast. Current plan is to keep player’s interaction code as simple as possible and store each bit of interaction logic on the class being interacted with (i.e. when NPC senses it is being interacted with, call dialog script)

11/05/2020 Messed around with interaction code some more. Yesterday’s attempt was too simple to be useful, so adding a bit more scope using CodeWithTom’s example. Basic interaction logic finished. Can now hopefully use this to extend into more specialised scripts for dialogue etc

12/05/2020 Not much today, just cleaned up a bit of debug print code as my firing system’s working as intended now. NEXT/TODO: Start work on child classes for interaction nodes. Start real simple and add a print statement for when the child class is interacted with.

13/05/2020 Don’t really have the mental capacity to think about code much tonight. Currently busy writing up a formal design document. Feeling inspired after reading about Splash Damage’s Dirty Bomb design doc

21/05/2020 Unexpected hiatus, but looks like my hard drive is about to crap out, so work is suspended while I move all my shit to a new drive.

23/05/2020 Currently setting up everything to work under Linux. Project imports and runs. Refraining from doing any work on it until new hard drive arrives. Considering setting up Github page for project

26/05/2020 New hard drive arrived. Project ported over to Godot 3.2.1 on Pop_OS. Everything just kinda works. Groovy.

10/06/2020 Funny how being stuck in the middle of both a global pandemic and a huge amount of social upheaval fucks with your productivity. NEXT/TODO: Fuck knows. Black lives matter.

27/07/2020 Started work on weapon modelling. Basic design for sidearm pistol maybe 50% done. NEXT: Complete pistol design - Trigger, greeble, laser sight thingy

28/07/2020 Continued work on sidearm / pistol thing. Some passable visual interest. Still looks like shit but not too bad for two days work on My First Hardsurface NEXT: Refine pistol but don’t overwork. Switch to modelling basic scene props - Rocks, trees, basic architecture etc etc

16/08/2020 Everything is fucked. Every time I spawn a projectile, my character loses collision and falls through the level. GlobalTransform is the culprit. If a collision mesh spawns inside my player’s collision, everything goes borked EDIT: Nope, doesn’t even need to be conflicting collisions. If I use GlobalTransform AT ALL, collision is nulled. What the fuck.

Considering starting from scratch on this. This is absolute bullshit.

Reverted project back to last backup, re-imported weapon and applied transforms. Everything now magically works again and I’m not sure why :thinking::thinking::thinking: :thinking:

18/08/2020 Putting WAL on hold for now. Work done so far is going to be channeled into a much more manageable project that I’m hoping I can get out the door with some concerted effort. Purpose of which to build a much more solid foundation to build WAL out on.

29/08/2020 Manageable is fine, but ambitious is way more appealing. Got some more experiments I want to do here.

28/12/2020 Lots of on-paper doodling of ideas. Designed basis for high-level AI needs / task system. Considering holding off on further dev until Godot 4.0 alphas start to drop, as lots of current issues such as physics implementation, lighting, rendering and GDScript performance will supposedly be addressed. Also may wait to see state of 64-bit coordinate system, as this may make level-streaming and coordinate precision non-issues.

25/01/2020 Considering reworking weapons into less complex raycast system. Very little tangible benefit to wholly projectile-based system that can cause Godot’s collision to completely freak out. Will keep for launcher-style weapons, but raycast = less issues Need to have milestone system for work-towards / focus / motivation. Tackle different parts of game logic etc

February 28, 2021


Previous post
Where Abundance Lies // Option Paralysis The ideas I had for Where Abundance Lies initially derived from a series of vivid dreams I once had. I’d been playing a lot of STALKER and Destiny
Next post
Against Gameplay Loops The very concept of a ‘gameplay loop’ so fucking miserable and limiting. Conceiving of and designing videogames as pure mechanism is a truly