An online-only week-long game jam, using vintage computer files from archive.org.

  • my jam favorites
    • archaeOS — love love love that it gives you a printable zine at the end. so good
    • sombrin — really nice series of scenes; evokes a feeling that i was trying to reach with my own entry

devlog

pre-jam activities

april 10th

  • found out about the jam via sol’s tumblr post
  • judges and monetary prizes intimidate me, but the theme is irresistibly fun
  • not sure about participating, but i’m excited to see what everyone else makes

april 11th

  • still thinking about the jam
  • started looking around discmaster
    • first i searched for types of bugs, of course
    • obsessed with this dragonfly model “okay maybe i should make something for real”
  • no ideas for a game, but it might be fun to create a 3D environment for the first time
  • joined the jam on itch + joined the discord

april 14th

  • started adding to my list of interesting assets
  • ok wow bug life 3D looks awesome but i don’t know how to get the image files out
    • mounting didn’t work
    • extracting with winRAR didn’t work
    • briefly looked up iso rippers but the results seemed a little skeevy
  • i keep looking up models for outdoor scenes, but game environments are typically enclosed spaces…
    • could have the map just end. the player can fall off, flat-earth style
    • natural barriers: an island, thick forest, cliffs, rivers
    • bring the outdoors indoors greenhouse
      • sable’s vivarium
      • animal crossing’s museum bug room
      • biosphere 2

april 15th

  • greenhouse idea: greenhouse.wad + godot wad importer? (feels like starting — wait until the jam starts!)
  • thinking about game engines
    • pretty sure i’ll use godot
      • yayyy free and open source we love it
      • godot shaders library (could dither heheh)
      • compatibility w/ discmaster assets: wad importer tool linked above + this mdl importer
      • only concern is that it might be too big/powerful/complicated for me too learn in a week
        • that’s why i’m setting the bar for “done” at walking sim w/ no interaction
    • alternatives
      • rpg paper maker — “Making 3D games is too complex? RPG Paper Maker will simplify your work!” lol
      • sok worlds — i was looking for walking sim engines for beginners, and this is soooooo close to perfect. if only you could use discmaster assets instead of the pixabay api

april 16th

  • read godot docs > getting started > introduction
    • recommends taking an online course if you’re not a programmer, but… i don’t want to 😇
  • read godot docs > getting started > step by step
    • finally downloaded godot so i can follow along
    • not covered in the tutorial, but i chose the compatibility renderer
      • least advanced 3D graphics
      • supports web platforms
    • “We recommend dismissing architectural code patterns when making games with Godot, such as Model-View-Controller (MVC) or Entity-Relationship diagrams.”
      • good thing i don’t know what any of that means
    • ball physics — kind of fun
    • godot face spin script — kind of boring
    • player input — ok yaaaay
    • using signals — ack
      • i messed up the nesting of the nodes somewhow, and had the button as a child of the godot head sprite, so it was flying around. i tried to drag the button out into the parent (Node2D) in the scene tree but got an error message that i didn’t write down (sorry)
      • felt like i was going in circles trying and failing to reorganize the files/scenes/nodes/etc, so i deleted and remade them all instead
      • got the animation toggle button working, but now i’m bored. the next sections are about timers and health bars, which don’t feel relevant to what i’m trying to make, so i’ll skip them for now
  • new scene 3D scene drag dog.glb onto scene it’s there but sideways rotate dog upright yaaaaaaay
    • that’s enough for tonight

april 17th

  • feeling some friction against the types of games that had the biggest modding/freeware scenes
    • i search for “crow” and get only crowbars
    • i search for “apple” and get only grappling hooks
    • easy to find weapons, harder to find living things
      • most of the animals i’m finding were made as enemies to be killed
        • this cricket model has red eyes and two of the associated animations are “angry” and “die”
          • i’ll probably have to edit the eyes
      • (less true if you look at all file types but i’m looking for .glbs specifically)
  • feeling inspired by this image describing a high school research course

april 18th

april 19th

  • started Learn GDScript from Zero
    • first impression: what the hell did they do to the scroll behavior? i hate it
      • i’m on my touchscreen laptop and sometimes i like to scroll by swiping on the page directly. that doesn’t work at all here
      • scrolling with two fingers on the trackpad feels off somehow. a bit of lag(?) and it moves by a different amount than i expect every time
        • so unsettling that i ended up clicking and dragging the scrollbar instead
    • also i can’t highlight text
    • “Engineers at Tesla also used it for their cars’ dashboards.” (typed by hand because i can’t highlight text)
    • fuck this actually. who cares
  • no more tutorials until the jam starts, lest i get so bored i give up entirely
    • boring: “here’s how you make a game” i make a game exactly as taught
    • fun: “i want to make a game that does x, y, and z” i look up how to accomplish x, y, and z
    • agreed upon foundational knowledge is great for professionals and teams, but i’m just here to play with toys

jam time

april 20th

  • the jam starts today!! but at 10pm local time
    • that’s bed time
    • started getting sleepy at around 8:30 (remember that i’m recovering from a cold ok), but stayed awake long enough to get the discmaster care package
  • goodnight gamers

april 21st

  • good morning gamers. i created a new project in godot
  • downloaded the wad importer and greenhouse.wad mentioned on april 15th
    • followed along with the video demonstration (youtube link)
      • put everything in the new project folder
      • enabled the plugins
      • imported the map
        • map is there but has no textures
      • imported playerguy
        • playerguy is a white rectangle
      • pressed play
        • does not run! godot highlights some errors
    • when i imported the map, there were multiple options not addressed by the video. i left it as the default “Doom” but maybe i should have selected “Doom Mod” ?
      • Doom Mod option requires an IWAD and PWAD file path
        • IWAD: internal WAD, all data for a complete game
        • PWAD: patch mod, additional data
      • okay i see… maybe greenhouse.wad is a PWAD and i need the base doom IWAD
  • stopping here because i have to go to work!

lunchtime interlude — themes & goals

as i’ve used discmaster, the things that have inspired me the most are educational software and screensavers. i’d like to take elements from each kind of program and make a nice digital space to rest and maybe learn a few things.

i have almost zero game dev experience, so i don’t have a good sense of what’s feasible. regardless, here’s my plan:

  • minimum viable game — if i can do this, i’ll submit it
    • 3D environment that’s fun or interesting to be in
      • animated dragonfly model (essential)
    • player can look around, walk, and jump
      • mouse and keyboard support
      • controller support
  • intermediate goals — ideally i’ll figure these out
    • player can interact with objects in the environment
      • interact with a book to open a pdf from the internet archive
    • start menu screen
      • displays the name of the game
      • start and quit buttons
      • audiovisual transition from the menu to the world
  • advanced goals — erm. we’ll see
    • multiple maps/rooms
    • some kind of HUD
      • decorative border
      • displays the name of the room you’re in
      • compass and clock
        • day and night cycle would be sweet
      • player controls maybe
        • box that shows when/how you can interact with something
    • settings menu
      • volume, mouse sensitivity, Y-axis inversion, adjust shader(s)…?
    • …mobile support? (maybe after the jam)
  • okay yay i’m home from work and i downloaded DOOM2.WAD
    • reloaded assets with doom2.wad set as the IWAD and greenhouse.wad as the PWAD
      • imported the map
        • yaaaay textures
      • imported playerguy
        • yaaaay i can see playerguy
      • pressed play
      • ERROR: core/extension/gdextension_library_loader.cpp:350 - GDExtension only compatible with Godot version 4.3 or earlier: res://addons/godot-jolt/godot-jolt.gdextension

        • i’m running godot v4.4.1
  • downloaded godot 4.3
    • oh yay i can open the project i already started
    • enabled plugins
    • pressed play and it RUNS!!!
  • if i delete the gunManager node will it run, but with no gun?
    • player.gd:135 @ _ready(): Node not found: "visual/gunManager" (relative to "/root/Node3D/playerguy").

    • deleted lines 135-145 and from player.gd
    • another error
    • Ctrl+F for weaponManager
      • oh god it’s everywhere
    • it would probably better to make my own player character instead of trying to rework this one
      • don’t need 10 million nodes and scripts for my little walking sim
  • back to the map from greenhouse.wad — it doesn’t feel right for this
    • ceilings too low everywhere except the big slime pit area
    • i don’t think swapping out textures will make it into something i like
  • wad exploration (Shift+F to fly around the map)
    • GARDEN.WAD — not sure i’d call any part of this a garden
    • garden.wad — this… could work?
    • GARDEN2.WAD — this one has some sinister looking trees
    • LIBRARY.WAD — the bookshelf texture is so cute…
    • LAB.WAD — some wild rooms here
    • forest.wad — one big rectangle with a path and a river, plus a bunch of those sinister trees
  • most of the assets i’ve saved so far are mdl files, but it didn’t it occur to me until now to look for quake/goldsrc/source engine maps…
    • downloaded godot_bsp_importer and enabled the plugin
    • downloaded and imported a bunch of random maps, nothing stood out
      • gotta figure out the texture thing described in the README
      • watched the video tutorial but everything is so fast and i am tired

april 22nd

  • ffxiv patch 7.21 was released today, so i’m not going to spend much time on the jam
  • did a little CSS to make the game’s itch page look more like discmaster
  • little crisis of confidence — maybe a 3D game is too much?
  • potentially useful tools

april 23rd

  • bsp exploration
    • garden.bsp — middle area has some potential if i can figure out how to change the sky texture, maybe?
    • forestsanctuary — format not supported by discmaster… but i want to see it…
      • i tried importing it and godot crashed :(
    • padgarden.bsp — ooh a cute backyard. no textures imported though, and i still can’t figure out what’s going on in the video tutorial for the importer
    • all of these also had no textures, so i don’t have much to say: lighthouse.bsp, avenue1.bsp, villagev2.bsp, ruins.bsp, town.bsp, wq_town.bsp, atomic.bsp
    • arch.bsp — square room with arches. could make a nice little garden
  • figured out how to swap out some (but not all) of the textures in the quake maps that already have texture
    • select a ‘TransparentMesh’ in the scene menu on the left
    • select ‘Surface Material Override’ in the inspector menu on the right
      • <empty> Quick Load…
        • (i have a bunch of textures in my project already from importing the those WADs earlier)
    • oooooh i can access the rest of the walls by selecting ‘Mesh’
      • had to scroll past many ‘TransparentMesh’ nodes to find it
  • i feel like i should be able to do the same by selecting ‘MeshInstance3D’ in the untextured maps, but it isn’t working. the colors of things will change but the actual texture isn’t showing up
  • house.bsp is looking quite nice, compared to everything else so far
  • installed GOAT from the asset library
    • it doesn’t include the demo folder :(
    • downloaded v1.1.2 from github instead
      • this doesn’t include the demo folder either
    • downloaded master branch as a zip
      • erm… no demo?!?!?!
    • cloned repository
      • finally the demo folder is there. what the hell
  • well, it’s getting late. adventure gaming begins tomorrow

april 24th

  • i know that it probably would have been faster to throw together my own four wall map in godot, but i’m so committed to using an existing map from discmaster at this point
    • pushing the 100% discmaster asset use rule as far as it will go…
  • following goat docs > getting started > installation
    • main menu, settings, credit, and exit work, but if i click “play” in game…
      • Attempt to call function 'get_next_dialogue_line' in base 'null instance' on a null instance.

      • little yellow triangle next to line 62 of goat_voice.gd
        • looks like an indentation error?
      • intent line 62 run game press play it works :-)
  • quickly read goat docs > features
    • i think this will work well for me!
  • changing the font
    • converted courier-12.fnt to .ttf
    • made a fonts folder in the demo folder (the tutorial said it would be there, but it wasn’t) added courier
    • read the first paragraph or so of godot docs > ui > using fonts
    • read most of godot docs > ui > using the theme editor and got confused
      • made a new theme with courier, applied it to the menu scenes, but it did nothing. sad
    • applying the font through theme overrides in the inspector does work though
      • there aren’t many text labels, so it’s not too painful to change them individually…
  • replacing demo map with a beautiful .bsp
    • added and enabled godot_bsp_importer in this new project
    • more bsp exploration
    • added Courtyrd as a child of Gameplay and deleted Workshop
  • run current scene Player can walk around Courtyrd!! wow
    • Player gets stuck on certain parts of the map
      • stuck = can only look around, no walking
      • moved Player’s CollisionShape3D up a little bit no more getting stuck
    • where Player was getting stuck before still has an invisible wall… why?
      • starting Player on other side of it allows access to the other half of the map, but the wall is still there
      • shrunk CollisionShape3D to 10% of its original size Player can move without hitting invisible walls yay
        • too small! now Player can walk through fence
        • 50% works nicely
    • Player cannot climb stairs
      • problem for another day
      • should Player glide up? or jump?

april 25th

r/godot • 1 yr. ago
[deleted]

How do i make a ramp.

Beginner here, im making as a first game a platforming game, but, to gain verticality instead of jumping you use ramps and jump pads. My question is, how do you do you pull a ramp off? Is there some special scripting involved or do i literally just… like… make a prism with a shallow angle.

EDIT: I figured it out. Im and idiot.

STEP 1: Make a triangle

STEP 2: Profit

  • made CollisionShape3D as child of StaticBody in Courtyrd.tscn
    • set shape to BoxShape3D and adjust so that it’s a ramp over some stairs
    • doesn’t work
      • noooo the reddit post made me think it would be easy
  • didn’t take good notes while i was banging my head against the wall trying to get Player up the ramp
  • finally got it to a point where Player could go up the ramp but sometimes (?!) not down the ramp
    • either getting stuck at the top or floating over the ramp
    • with Player selected, i turned gravity enabled to ‘on’ and motion mode to ‘grounded’ in the inspector
    • also increased the floor max angle.
  • looked closer at Player.gd for clues
    • added apply_floor_snap() to a new line under move_and_slide()
      • i’m looking through my open tabs and browser history and cannot figure out where i heard of this
    • noticed a warning symbol in the scene menu next to GravityTimer
      • Very low timer wait times (< 0.05 seconds) may behave in significantly different ways depending on the rendered or physics frame rate. Consider using a script's process loop instead of relying on a Timer for very low wait times.

      • increased the wait time to 0.05 seconds
  • run scene Player reliably moves up and down the ramp yaaaay

april 26th

  • made ramps for the other 4 sets of stairs the map is navigable!
  • time to decorate
    • new textures
      • add new image files to the textures folder
      • right click an image create new resource StandardMaterial3D doesn’t work
        • tried this because the materials that came with the map are StandardMaterial3D
      • right click an image create new resource CanvasItemMaterial doesn’t work
        • tried this because it sounded plausible
      • mess around in the inspector for Courtyrd.tscn’s Mesh
        • surface material override New StandardMaterial3D
          • try specifying path to a texture under ‘Resource’ doesn’t work
          • drag and drop image file from the file menu to the inspector menu
            • YESSSS THANK YOU DRAG AND DROP
    • shrank the range of all of the outdoor lights the map came with to zero, replaced with DirectionalLight3D
      • looks… better? still bad though
  • my game is so ugly and i’m tired of looking at it
    • took a big long break to walk around and take photos for the city nature challenge happening this weekend
      • everything is beautiful actually
  • added a glass block texture to the walls and made them transparent :-)
    • set transparency to alpha AND change the albedo color to have transparency
      • i was doing just the first thing for a while and getting frustrated that it didn’t work
    • issue: models disappear when i go to the other side of the wall
  • played with the lighting more… still feels off
  • threw some plants models into the scene
    • starting to look like… something
      • originally, i wanted to go an educational direction, but that’s looking less possible to achieve within the remaining jam time
      • hmmmmmmmm
      • maybe more abstract? surreal? sci-fi?
        • what can i say with just a scene?

april 27th

  • gave the sky a denim texture. why not
  • added dithering
    • MeshInstance3D as a child of Player’s Camera3D with the color_dither_post_3d shader
    • it mostly works!
    • everything dithered except for my beautiful semi-transparent glass blocks, which are now totally invisible
      • option one: set render priority of the glass block to 1 keep transparency, but no dither on the blocks
        • looks uncanny
      • option two: learn to program write new shader with no issues (no time)
      • option three: give up on transparency
      • option four: give up on dithering
        • goodbye dithering! i love my transparent blocks!
  • added background audio
    • new scene called Game, containing MainMenu and Gameplay scenes
    • added AudioStreamPlayer as child of Game
      • yes autoplay yes looping
    • play game music plays while you’re on the menu but turns off when you hit play
      • godot docs > autoloads vs internal nodes seems to address this? maybe? the page is mostly incomprehensible to me
      • godot docs > autoload is more clear
        • Project > Project Settings > Globals > Autoload
        • add the path to a scene containing the AudioStreamPlayer
      • play game yay music press play in the menu yaaaaay music
  • made some attempts to get the goat interactive items system to work
    • added one of the demo objects to my game Player can add it to their inventory
    • made a new scene in the pickable_items folder for a cool toad
      • set it up with the same structure and formatting as the demo objects
    • play game toad is there hand icon appears when i approach game crashes when i click
      • Invalid access to property or key 'toad' on a base object of type 'Dictionary'.

    • breakpoint on goat_inventory.gd line 73
      • var icon = _config[item_name].get("icon")
      • goat docs > inventory says the demo is set up with a folder for icons, but it is not
    • read all 54 comments on Inventory Wont work issue on github
      • only more confused now
    • i do not have time for this. okay. no inventory
  • nightmare scenario! now the game won’t run at all
    • keeps getting stuck on that breakpoint in goat_inventory.gd
    • if i’m not gonna use it… why not delete the file
    • play game crash again because other scripts depend on that file
      • erm. delete
    • cycle of like two dozen rounds of pressing play, crashing, and deleting lines of code that refer to the inventory or voice systems in goat
      • …aaaand it’s running again!
  • while i’m here deleting things:
    • removed Settings nodes from the MainMenu and Player scenes because most of the sliders did not work
      • made pressing esc during gameplay take you to the main menu instead of opening the settings menu
    • removed crouch input from Player.gd because it was causing the player to clip and/or float around
  • played around with MainMenu style a little
    • why are there one million dropdown menus
    • i miss CSS

april 28th

  • uuuuaaagh deadline tonight at 3 AM (i will not stay up until 3 AM)
    • long day at work too aaauuuueeegh
    • 8 hours left! let’s see what i can do
  • really scrambling - no time for notes
    • too late to learn/add anything really new
    • mostly adding more models
      • trying to place everything neatly lots of work for little effect demoralizing
      • copy and paste x100 yayyyy plants everywhere
    • did add WorldEnvironment to Courtyrd.tscn
      • played with every slider until things looked a little less shitty
  • okay i think it’s done, i just need to finalize the name…
  • project > export
    • No export template found at the expected path

    • click on Export Template Manager Download from: Best available mirror
    • Presets: Web (runnable) Export Project
  • ooough the background image looks much worse when stretched across my whole screen… but it’s after midnight now and i would like to go to bed

🌱 cloud storage botanical station submitted 2 hours before the deadline!

  • ok yay yaaay it’s over
  • goodnight gamers

post-jam thoughts

april 29th

  • too much energy after submitting my game, so i had a hard time falling asleep
  • woke up feeling good (emotionally) and bad (physically)
    • glad i didn’t give up! it was a lot of work, but i am satisfied
  • very excited to play through the other submissions
    • i’ll list my favorites at the top of the page instead of down here at the end
  • exporting to different platforms
    • i never tested the linux build, but no one’s told me it doesn’t work so i think we’re fine
    • realized that the web build i tried last night didn’t work because i needed to have it run from a webserver (i just opened the .html file)
      • i made a dummy itch page and uploaded the zip. it mostly works! except pressing quit on the main menu causes it to freeze and hitting escape won’t close the game, so i had to close it by closing the browser window completely
        • not good! i don’t want to share it in that state, but i also don’t want to make changes to the code while judging is underway
          • not that i think i’ll win! this is mostly an excuse to step away from godot and go back to looking for bugs and playing ffxiv and updating my website
        • web version postponed but not abandoned
          • maybe i’ll even be in the mood to try adding touch controls…
    • godot docs > running godot apps on macOS scared me away from the idea last night, but i’ve changed my mind. probably better to give people the option if they want it, even if i can’t test it myself
      • my plan is to upload it along with the web version, whenever i get that done

may 28th

june 8th

  • opened godot for the first time since last time
  • deleted the “quit” button on the main menu
  • project > export > web (runnable)
    • left all the settings as they were
    • zipped everything that was exported
  • uploaded the .zip to itch
    • in-page embed was behaving strangely (viewport drifting right, fullscreen button cut off), so i set it to launch full-screen
    • made a few css tweaks
    • yaaaaaaaay we love the browser

interesting assets

final asset table

FileFormatSizeDate
Courier-12.fnt9.8 KB1997-05-01
00020_Greenhouse.png52.5 KB1995-06-18
ARROW1.ico766 b1995-01-01
_WHITE.bm3.9 KB1995-11-25
Black to White-W.svg191.9 KB1994-05-18
468.ogg1.1 MB2008-09-23
courtyrd.bsp494.4 KB1996-08-14
d_glass_block.tga64.0 KB1999-11-05
detail-concrete.jpg10.9 KB2000-08-29
textures_marsh_1_4.sst6.7 KB2001-09-29
denim_2.pict194.6 KB1995-05-12
trava1.glb17.9 KB2004-03-30
kvitecka1.glb57.3 KB2004-12-19
gins_leafy.glb48.7 KB2002-09-14
swampstuff.glb74.8 KB2001-01-02
plant_pod2.glb225.7 KB2004-01-03
lag_plat_ointy88_32.glb18.3 KB2002-11-19
tree2.glb137.2 KB2004-12-19
Mushroom.glb61.9 KB2001-01-14
mushroom2.glb64.1 KB2001-01-14
dragonfly.glb37.7 KB2001-01-02
cricket.glb276.2 KB2001-01-02
fountain2.glb870.1 KB2004-03-11
antena.glb318.3 KB2001-02-22
Radar.glb250.9 KB2000-11-08
generator.glb101.9 KB2003-06-12
gins_shelves_b.glb38.8 KB2003-04-20
p_shovel.glb64.1 KB2001-03-26