Another ThreeThingGame happened, and once again I decided to join. Having learnt absolutely fuck all from the last TTG; myself and my friend jumped right in.
We decided to go into the jam this time with a basic idea of a game rattling around and use our words as a theme for it. We joked about making a slightly more elaborate Pong clone.
Once we got our words: “Bunny”, “Kicking”, “Throwing”; I was suddenly reminded and subsequently inspired of the legendary NEO-GEO game from Data-East, Windjammers.
Seeing as I was doing the programming last game jam, this time my friend was doing the code and I was in charge of the art. And instead of Unity, we were using Godot again. As expected, it ended up being the bain of our existence for a multitude of reasons.
Godot continues to surprise me with how certain aspects are really half-baked. One of the first issues we encountered was with the controls, where we couldn’t separate Left Ctrl and Right Ctrl keys, Godot only defined it as one key. Seeing as we were making a multiplayer, this was a bit of a problem. The solution: Hard coding the controls.
The art side of the game, which was entirely my responsibility, went fairly well. The bunny sprite I made was a bit low effort in hindsight, but I really wanted to spend time on playing the game and giving feedback for refinement. But I was fairly pleased with how the points popping up on screen looked. The music choices were pretty bloody great, thanks to OpenGameArt.org.
It wasn’t perfect, but I feel better about this game than the Global Game Jam and last TTG games.
Anyway, if you want to check out Bunny Jammers, you can do so at the link below.
Despite the jam only being a few days ago, I already have an idea for the next jam, but I’ll keep that to myself for now. What I might do in the meantime is port Bunny Jammers to Unity to see if I can get it to play a bit better. But that’s a big maybe.
I started making this game in order to prove a point to my friend about how I thought directional inputs in fighting games suck for controllers, and despite a lot of bumps, progress is getting made.
You can follow development below.
This is only intended to be a prototype though. Don’t expect this to get turned into a full game. I do however intend on getting roll-back netcode working with it. But that will come much later.
A fair few challenges working on this so far. I gave up on trying to do the 3D animation myself and instead relied on Mixamo for the animation so far, but I did setup all the animation states and the programming relating to it. And anyone who watches my Twitch streams likely knows how much pain the camera was to finally figure out.
So that’s the 3rd project I’m working on. The GGJ game is binned, I’ll make the game page public eventually, but probably won’t upload the game. The music visualiser is on hold until I can find a more suitable C++ library to use as SFML is a bit more of a pain than I would like. I might use Godot with Native Script.
Let’s get this out of the way, the game did not get finished within the 48 hours.
We were trying to build a game similar to Slenderman with a shade of STALKER. The player goes around picking up parts, after they pick up the first part, a monster spawns in and starts following the player around. Where it differs to Slenderman is that the monster is supposed to react to sound to find where the player is, and actually attack the player more directly rather than just going insane.
So how did it go? Not terribly from a gameplay point of view. You can start and finish the game, which I consider to be somewhat of a success.
Our problems mostly stemmed from issues transferring models from Blender to Unity. Several of the models had buggered UVs and culling problems. Because of that I had to wait quite a while to even have enough art stuff done to actually get the game up and running to its current state.
The second major issue was the monster itself, importing it into Unity often led to it not having the animations, or when it did have the animations, they would get deleted after converting the model from a generic to a humanoid rig. Once it was converted to a humanoid rig, the bones themselves would cause errors. At this point it was very late into the second day and the decision as to whether or not we should stay up came into question. Based on the amount of work that was still required, we decided to call it a night there.
However, the story doesn’t end there.
Today, I started added additional models into the level, fixing up the collisions, and added more spawn points for the items. I also looked into the monster rigging again and found the bone structure problem and fixed it, but after getting deeper into configuring the model I found that the skeleton was backwards in places. After talking to my friend who helped with that aspect of the game, we both came to the conclusion that it should probably be re-done.
So that’s where the game is at. I’m gonna put a link to the Itch.io and GGJ pages here, and you can check in on them if you want keep up with development.
There is a new Space Cart demo, you can play it at the itch.io link below.
The new demo fixes up a lot of the issues were complaints the last time I made the demo. New navigation UI, better menus, more sounds, music, infinite scrolling, parallax scrolling, and so on. The demo has been out for a while now and I’ve gotten quite a bit of feedback on it, the most notable being that the PC controls are kinda broken.
The next milestone for me is going to be in November of this year. Originally I wasn’t planning on continuing development for Space Cart because I honestly wasn’t enjoying playing it when testing stuff. But seeing other people playing it, giving me feedback, and offering ideas; it rejuvenated desire to continue. Follow the game on Itch if you want regular updates on its development.
In C++ news, I finished going through the C++ Programming In Easy Steps book that I’ve had since Uni, and honestly, C++ is nowhere as intimidating as it used to be for me. OK, pointers are still a bit weird to me, but at least I understand them now. Not entirely sure where I would use them in my own programming problems, but it’s good to know.
With that out of the way, I want to get revenge on my old 3rd year project of trying to make a music visualiser. It’s been a mental weight on my mind since Uni that has been dragging me down since. So I’m gonna start over and properly build it this time with my new found knowledge.
Not decided on what APIs I’ll use, but SFML is still around and is originally based in C++, so that’ll probably be a my starting point.
As for the “New Project”, it’s significantly more complex that anything I’ve made so far. Several orders of magnitude more complex and requiring a lot of skills that I haven’t been in touch with for several years.
It’s a fighting game. 3D fighting game with Z-axis movement (Not fully, but some. Think Tekken or DoA). The unique hook is that it doesn’t require complex button presses or input timings. It’s more focuses on positioning, blocking, and dodge timing. The second aspect is that it features stance changing. I won’t go too deep into the details, but that’s the main idea.
The first bit of work I’ve done on it is building a series of animation states within Unity, and getting started with the 3D animation. The latter is the challenging part, even getting the character moving is proving to be challenging.
The new project isn’t really a project anyway, it’s more of a prototype I’ve had kicking around for a few months now. Curious how well it’ll go. It most likely won’t go well.
For my final point this post; I’m doing Global Game Jam this year. Because it’s remote this year it makes it a lot easier to be convinced to go do it this year. ThreeThingGame a couple months back got me interested in joining in on jams again, so I’m looking forward to burning myself out again.
I will try and stream as much of it as I can, and I will do a blog post after the event. It starts on January 28th and ends on the 30th. I hope it goes well.
I don’t think I really need to point that out to you guys; but in relation to Space Cart, what feedback I got was somewhat useful.
A little video of what the game currently looks like. Let me give you an overview of everything that’s changed.
Borders around the game world are now removed and replaced with a system that loops the player around to the other side of the map. Still needs some work, but it’s better.
Waypoints are now displayed in a circle around the player instead of around the edges of the screen. This makes it easier to aim towards where you want to go.
Information regarding the ship’s velocity and speed have been moved closer to the centre of the screen.
The delivery pages at stations now show what your current inventory limit is, and makes deliveries non interactable if that limit is reached.
Speed is now limited.
Stars and other far background elements are now parallaxed.
Player’s can now change their resolution and window modes within the game.
Waypoints now use a simpler sprite.
Did a first pass on several UI elements, including fonts.
The player’s ship can now have custom paint jobs on it thanks to sprite masks.
Fixed a bug where planets overlapping each other would cause a visual bug.
Debis and space junk now spawn.
Player’s can now rest and repair at certain stations.
Camera zooming is now smoothed out.
Survival systems are now partially implemented.
Various other bug fixes and changes.
Some may argue that list is a little light for three months worth of work, but I would say that the game is now a lot less rough as a result.
I’m quite thankful to those who gave me feedback, it really motivated me to make the game a lot better.
C++
I have begun the process of relearning C++. Every Monday or so, I stream myself doing some C++ programming.
It has been interesting. Now that I’m doing it at my own pace, I seriously wonder why I was having issues with it at Uni. I suppose my sleep deprivation and general burnout may have been the main reason.
But getting back to the point; C++ has a few interesting features that I quite like. Ternary operators are quite an interesting feature. My less liked feature that is still interesting, is having to declare functions before making them. I’m kinda glad C# doesn’t do that.
I’m gonna stick with it.
Contact Changes
Due to an influx of spam messages, I am going to disable the Contact page until further notice. If you want to contact me, try my Itch page instead for now.
Anything Else?
Yes, I am currently taking a break from development work so I can play Ghost Of Tsushima. I’ve been streaming it on Twitch in case you want to come watch.
On a less dumb note, I’ve been upping my Kanji study by spending most of my mornings writing Kanji and their readings. It’s OK, but I don’t know if it’s sticking in my head much. I’ve been looking into additional phone apps and learning tools to see if I can help that.
Anyway, that’s about it from me. I’m probably gonna do a Den update soonish. Take care.
The demo will be available on Friday at the link below.
After several weeks of stringing it together, it’s finally ready for people to play. It’s not super dense in terms of content, but it shows some of the ideas that I’m going for.
I’m curious as to what kind of feedback I’m gonna get. Have fun.
Above are some images I’ve collected while working on my new game, currently titled “Space Cart“; and I quite like the look of them. And yes, this post is mostly an excuse to dump them on my site.
But getting to the point, random generation isn’t for everyone. But also, this isn’t technically random, as there are some bits in the code that define shape and positioning. Regardless, there are a lot of negative opinions about random generation of worlds.
Most of these views are along the lines of; unfocused design, laziness, “soullessness”, and so on. Then there actual complaints about bad RNG and bugs with collision or scripting.
While I’ve been working on this game, I’ve been learning things about this type of creation method and coming face to face with a lot of its drawbacks. With the example of planet generation, some of the sprites used to create those planets can look Godawful at times and point out how much of a video game this is. Take a look at this.
Look at the planet there, and you see a sharp square edge where the sprite isn’t properly alined or sized correctly. It looks awful. Thankfully, I know how to fix this issue, so it won’t be a problem in the future.
That said, there are other issues with positioning. Currently the planets are so rare to spawn that they don’t collide or intersect with each other. However, on the few times it does happen it looks very bizarre. I don’t have an example image to show unfortunately.
When I originally started making this, I thought about making all the planets from scratch. Then I realised that would be bad idea as I could potentially spend a lot of time doing sprite art instead of making the damn game. Doing what I’m doing now was probably the best choice in the grand scheme of things.
But aside from random generation there are other issues with my game, mostly the noisy art style that makes it difficult to differentiate objects on the screen.
If you want to know more about the nitty gritty of development, you can see the newest development log post here.
So What Else Has Been Going On?
In short: Not much.
I’ve been unable to find a job that I’m qualified for, and not just because my degree grade isn’t great; but rather because a lot of the lower positions at companies are starting to get out-sourced out of the UK, meaning what’s left are senior roles that I couldn’t hope to get.
I’ll keep looking, but I don’t have much hope. I’ll work on improving my portfolio in the meantime.
Video game wise; I played some Dreams, but I found the creation tools to be kind of overbearing. There’s a lot to learn, but using a normal DualShock isn’t really all that intuitive when using their editor. I feel off it pretty quick.
I finished playing Prey. I enjoyed it but it has a lot of caveats, mostly relating to the combat. If you’re into the System Shock or Deus Ex games, you might enjoy it.
Finally, I’ve been playing some Tokyo Xanadu. It’s a bit Persona-esque in that there are social aspects to game. It does things differently though by letting you explore the world openly during your free time, and only limiting your interactions with others using a consumable, something that you can gain more off by taking on some optional dungeons. On the subject of dungeons, you can revisit them as many times as you want without penalty. No cat telling you that “you’re tired” and that you should “go to bed”. Hell, there’s no talking animals in general. Plus mini-games that you can actually play.
Persona has the advantage in terms of personality though. A lot of this game from the writing to the dungeon aesthetics to the menu design seem really flat and uninteresting. Thankfully the action game combat and enemy variety stop it from being too boring, just don’t expect a high budget.
That’s all really. Demo Day 32 is happening in under two months, so I’m gonna try and focus towards that. Knowing how frequently I post, I might not write again until that demo is ready.
Finally, as a reminder, you can follow Space Cart’s development on my Twitch channel every Tuesday, Wednesday, and Thursday. Feel free to follow too.
I’ll keep this short. I finally made an Itch.io page for the game I’ve been working on. I’ll be posting updates there and playable builds (Hopefully). I’ll still be making regular updates here as well.
-Adam
P.S. New Den post soon as well. I have things to talk about.
Before anyone lynches me for the somewhat pretentious and “My game is clearly important to society as a whole” title decision, allow me to just say that I wasn’t quite sure how to explain my thought process in regards to what’s happening here.
So I mentioned in my last couple of posts that I started a new project (Which I have been streaming on Twitch) and I seem to be spending more time making art assets than programming gameplay. That’s the stark opposite of what was happening when I was working on Bullet Hell Lane Shooter.
I’m making sprites for stuff, figure out how I want it to animate or move, and then just making the game based around that. It’s an interesting approach, because of which BHLS, I used generic shapes and then built the gameplay before doing anything art related. I’m not sure if the reasoning for this is due to the switch from 3D to 2D, or maybe my disdain for how shit BHLS looked. Everytime I showed off the game in Demo Days, it looked like programmer art; and the lack of artistic cohesiveness mixed with a low effort presentation just made it look like crap. Even though the gameplay was decent enough, the absence of “juice” just made everything feel unresponsive or uninteresting.
In this new game, because I’m done some of the art before hand, I can feel a closer attachment to the playable ship. It feels reactive, more natural, grounded even. It’s hard to describe.
But getting back to the title. When I started this project, I had the idea of a “Kart Racer in Space”. Therefore I went about making a basic ship sprite and had it move around Unity a bit. Then I made the ship rotate. After that I made it shoot stuff. Following that I decided to animate some exhausts for the ship to have it feel right, because otherwise the player ship just felt floaty and loose. At that point, I realised that trying to make a tightly controlled and responsive kart racer in space using the controls and movement that I had made; was a terrible idea.
Once I realised that, I decided to start goofing around and ended up deciding that having an open area was the best strategy going forward.
Subsequently, I’m still in a brainstorming phase where I’m trying to figure out if I want to make a top-down/side-on shooter similar to stuff like Galaga or Thunder Force, or make a Space Trucking Sim sticking to the over world entirely. To be frank, I’m leaning towards to latter as it might require less art.
So that’s where I’m at. Guess we’ll see where I end up. Stay tuned to my Twitch channel for now I guess.
-Adam
P.S. I will publish an Itch.io page for this game with a demo once I’ve added a few more things. The page is there, but there’s nothing on it right now and isn’t accessible publicly.