I’m trying to download some assets from the Unity Asset Store, but clicking ‘open in Unity’ is not working. Chrome prompts me with an “XDG-Open” dialogue. Even after selecting “ok”, nothing happens.
So far, there are lots of complaints about the Unity Asset Store and how the only way to download some simple PDFs is via a giant, several GB Unity Editor.
Regardless, if you just want to download some assets for learning like I do, I found a simple workaround:
Open up the Unity Hub:
Click Learn:
Then Select the project you’d like to check out, and hit “Download”:
The biggest problem with this workaround is that it only works for learning assets. I can’t seem to find a way to download assets that wouldn’t typically be categorized under ‘learn’. If anyone has any suggestions or ideas, feel free to let me know!
By default, the project landed in my /tmp/ folder. Simply save the project to any location you like from inside the Unity Editor, or copy the contents of /tmp manually. Here’s some more information on how to copy projects. Hope this helps!
It appears that this issue is fixable. There’s a solid chance my xdg-open tool is not configured to open Unity when I click the “Open In Unity” link. I’m investigating further via these resources:
Welcome to this post-mortem article on my first complete game submitted to My First Game Jam 2020. This was such an amazing experience, I want to share as much as I can.
It’s good to be back! I feel bad for dropping the ball on weekly posts… especially after doing it for an entire year! Anyway, got some new stuff I’d like to document! So here we go:
For those of you who have been following along with my posts so far, you’ll remember I was working on a project called The Museum. That sort of… fell by the wayside. But! That project was started in Godot game engine, and that was the engine I chose to participate in My First Game Jam 2020. Coincidentally, that’s the actual name of the jam, and it was also my first game jam as well! The theme for the jam was: “Change”.
Day 1: What’s this game gonna be about?
I took the first few days just concepting a few ideas. There were lots of directions to take the broad theme. Eventually, I landed on a concept. You insert a bill into a shady-looking change machine. Then you spend the rest of the game banging on the machine, trying to get your money back.
Day 3: First Problem
Okay, I got a few assets done, got some of the basic code going, and pretty soon I ran into my first problem. Once I got a bunch of coins bouncing all over the place… how do I keep them all on screen?! Most standard platformer tutorials would just have you parent the camera to the player, and that’s it. But in my case, I had quite a few players that I wanted to follow.
So I ended up parenting all the coins in the game to a single node. Selecting that node, and looping through all its children to add them to an array called allCoins. Once I’d populated the allCoins array, I tried a few different methods to average the position of all the coins.
The idea was: Take the position data (Vector2) of every coin in allCoins, add them together to get for a sum total Vector2, then, divide by the total number of coins in allCoins. It made sense in my head, but it took a few days to figure out how to implement that in GDScript. Eventually, I got it working!
Day 4: New day, new problems
Now that I’d solved the camera tracking issue, there was a new problem. Once once coin fell through the gaps in the platforms, it just fell… and fell and fell. This caused the camera’s position (based on the average of all coin positions) to drop way down and just show the midpoint between the fallen coin and everything else.
Next, I set up some nodes that emitted a signal anytime a RigidBody2D came into contact with it. Once that signal fired, I had to not only remove the coin from the scene, but also remove it from the allCoins array. Those were two different things!
Halfway there!
Now it’s starting to feel like a game! I had a bunch of coins flying everywhere and, well… that was pretty much it. Feeling kinda good…ish
Closing in…
After a few more days of play-testing and letting a few friends and coworkers play around with it and share their ideas, I was getting my first ever feedback on a brand new endeavor! It felt amazing. This entire process really helped me mental health-wise in the middle of a full time job.
I didn’t like the first background artwork bits, and I wanted a little bit of parallax, but I knew I couldn’t have that much, being inside a machine and all… Eventually, I got rid of all the blue slotted background slides, and just went with a blue and grey hand-painted texture created in GIMP.
Last Minute Changes…
Up until the last minute, I was going with a sort of “compound interest” logic where for every coin you drop into the coin tray, the level reset and that number of coins was added to your total. So you’d start with 2 coins, and in about 2 minutes, you’d have over 100 coins flying all over the place. It made for great fun, but there was no real challenge for the player.
So in a last minute logic-change, I commented out the code that dynamically spawned new coins into the scene and went with a fixed number of coins per level. So now it was way more critical to get every. single. coin…
Increasing Difficulty….
This increased the game’s difficulty considerable, but I was still able to beat the game in wildly varying amounts of time from 5 minutes to upwards of 3 hours. But I was reacting a lot more to my own game now! It was very satisfying.
Personally, my weakest point is coding. I am still learning and getting used to the scene hierarchy and what I can and can’t do with Godot, and as a result… I feel like I spent a lot of time thinking about the game’s logic, and not as much time thinking about the game’s sound or music (there is no music) or artwork (none of it matches lol)
First comments and feedback
One of the first comments I got on the game after submitting to My First Game Jam 2020 was that I was taking all the control from the players hands and relying almost exclusively on physics and pseudo luck. Makes total sense, and I even had another friend suggest giving the player more than one button.
Overall, I leared a TON of new coding tricks, a lot of what Godot is capable of, and even more of what I’m capable of, developing games on open source everything. Thanks for reading! My First Game Jam 2020 was a blast, and I’m definitely looking forward to creating more fun games like this one. If you wanna see what the final result was, feel free to check it out:
A while back, I was tasked with an animation project that was essentially a video game version of the famous story of Jonah and the whale in the Bible. After assessing the project and seeing how much animation would be involved, and the ultimate goal of the project… I figured it would be easier (and more flexible) to just design a Jonah game from scratch rather than just animate one. That way, I didn’t have to place thousands of keyframes and only have a one-time-use animation for this specific project. Instead, I’d have a fully-functioning, real, playable game that worked on nearly any computer or phone (except you, Safari).
In the end, I assembled a mixture of sprites and game art, some I made myself, others I borrowed from the internet, and got to work on the game.
It took about a week or two of programming and creating digital art. In fact, I entered my very first game jam the week after delivering this project! The indie gaming scene and this project inspired me to create new things I’ve never tried making before. Below are screenshots of game play, and the game itself if you’d like to play! It only takes about 60 seconds to beat (seriously!).