14/09/2017 – Apparently There’s A Thing Called “Programmer Day”

It recently came to my attention that every 256th day of the year is Programmer Day. In other words, September 13th (Or 12th on Leap Years).

Anyway, I’m still working on my game, which you can take a gander at the progress I’ve made on the Itch.io page for it. It’s going well, but I’ll admit, I’m behind my personal goal of having it be somewhat more showable. But at the very least, you can kind of see the ideas coming together.

So onto something more recent. I had a PC problem the other day where Chrome would crash on start-up due to an error in ntdll.dll file in my system32 folder. After uninstalling and reinstalling it several times, trying to install Firefox, a couple of virus scans, and mucking about with some system files; I eventually tried using Safe Mode and found that it launched there fine. So after a quick Google search, I decided to do a clean boot of my PC.

No, that’s not a clean install of Windows. More of a turning off of all the additional start-up processes and restarting the PC. Which worked. So there’s a possibility that there was probably a conflict somewhere, that said, I’m too lazy to figure out where. As long as it works I should probably leave it for now.

Other than that, Destiny 2 is out. And I’m playing it.
I wish I could stop.

That’s all for now. Keeping it short this time. Like I said, I post updates for the game on the Itch.io page, so check that out if you want to know what I’m up to game development wise.

-Adam

The Den – 20/08/2017-28/08/2017

It’s been over a year and half since I last did this. I’m not going to talk about every game I’ve played since then. I’m also going to expand it beyond games and anime a bit.

Valkyria Chronicles Remastered

The last time I played Valkyria Chronicles, I got myself stuck two missions before the end, fighting a tank boss. And biggest problem I was finding was that I had basically screwed myself. You see, when I played it on PS3 I didn’t know quite a few things, like; You can replay Skirmish missions, what a lot of the different characters potentials were, and the fact that the old guy at the cemetery is RNG based and has a 1-in-10 chance of actually giving you anything (More on that in a bit).

So when I started the remastered version, I decided to do some research and properly figure out the game’s mechanics. But also figure out how to play the game more efficiently so that I could take less time getting back to the point I was previously at. Unfortunately it’s made me hate the game more because I’ve started to rely to heavily on the RNG in it. Missing shots, taking more damage than I would like, and so on; would pretty much lead to me reloading my last save.

On the subject of RNG, I never that old git was on a RNG. So back when I looked up walkthroughs for the game, I would wonder how people got certain skills I didn’t have. Turns out you have to save at the start of every chapter and reload that save until he gives you what you want. It’s stupid as tedious.

The game is great still, but horribly balanced. It’s either too easy or bullshit hard. Worth a look into though.

Castlevania Aria of Sorrow / Dawn of Sorrow

So I played Dawn of Sorrow first. It’s a fantastic game, touchscreen gimmicks notwithstanding. The soul system is an interesting mechanic that lets the player mess around with various powers and gives them a variety with combat encounters. Although like anything that lets players build their own setup, there are a certain combination of souls that will be the most effective.

The movement, which is similar to Symphony Of The Night, continues to be extremely tight, although the platforming can be a little dodgy at times. The game also manages to stay surprisingly challenging all the way to the end, providing you don’t cheese the crap out of everything.

Speaking of cheesing, when I got the Claimh Solais, EVERYTHING DIED VERY QUICKLY AND IT WAS GREAT.

Aria of Sorrow by comparison is significantly easier. There were only two bosses that gave me even a bit of trouble (Death and Julius), and one gameplay section (The Trials). Even then, it’s probably easier than even SOTN is. Shorter too, I completed it in over 6 hours. The Soul system technically originated from this game, but frankly it’s used rather poorly. Also, locking out the true ending unless you grind for specific souls is pretty daft.

I started Circle Of The Moon, but found it rather unforgiving. It throws quite a lot at you considering it’s the beginning of the game and you can only use the whip. I’ll try to get back to it, but I might end up skipping it for Harmony of Dissonance.

UPDATE: I found COTM too slow, so I started Dissonance.

Owning a Gameboy Micro

This thing is freaking tiny!

So I bought one of these things so I could play those Castlevania games, and because the idea of a tiny portable game device seemed fun.

It’s better to hold than a 3DS at least, but it’s tiny size doesn’t really do much for me in terms of comfort. My fingers start to cramp and the sweat on my hands starts to cause my hands to burn (Fun Fact: Your hands are slightly acidic). Additionally, the tiny screen makes it really difficult for me to read.

Now you maybe wondering why I didn’t buy an SP. Two reasons.

  1. SP doesn’t solve the issue I have with the 3DS which is that it’s uncomfortable to hold.
  2. No headphone jack

As for specific problems with the one I bought, there’s only one. The screen plates (It came with two) are a bit scratched up, and I need to either replace them, or find someway of cleaning them.

Anyway, I think it’s neat, but it hurts my hands still.

DOOM I & II

After reading Masters Of DOOM (Which I highly recommend), I got a craving for DOOM. Unfortunately the DOSBox version kept giving me graphical errors, so I ended up switching to the Chocolate DOOM source port.

But anyway, DOOM is still one of the best damn video games ever Goddamn made. The Chocolate DOOM version pretty much retains everything and adds better mouse support, which is great. Also, the last few levels are real fucking hard. Shit like “The floor is lava, and you need to walk through it to go to teleporters to get some keys to open doors to use more teleporters over more lava, so you can activate the bridge that gets you to the exit”. Fun stuff.

But DOOM II. Holy shit. It’s like they took the difficulty of the last few missions of the first game, and then ramped it up to 11. It’s been a while since I played the game, and I must have been playing it on a easier difficulty before now, because there have been multiple times where I enter a room full of really bad things that have a really bad day. But man, the Super Shotgun is still the greatest damn thing.

BLOOD: One Unit Whole Blood

I haven’t played a ton of BLOOD, but it seems even more unforgiving than DOOM. I need to give this more time, it seems neat though.

Dunkirk

It’s a good movie, but not entirely historically accurate. Particularly the way the Spitfires manoeuvre. I won’t go into extreme detail, but Spitfires were often associated with large sweeping movements due to the way the fuel was fed into the engine, traditional manoeuvres would cause the engine to stall.

I haven’t done a ton of research to really rip the film apart, but overall, I thought it was worth a watch.

Anime Roundup

Alright, quickfire opinions.

Tsurezure Children

Heart Attacks: The Anime. It’s a really good romance anime and all the character interactions are so damn cute.

18if

Not the best anime, but it’s so weird that I can’t help but recommend it. Each episode has a wildly different story that focuses on different problems, and the art style sometimes drastically changes to represent a whole different perception of the world. Give it a look.

Koi To Uso

KANASHII KANASHII KANASHII, URESHII URESHII URESHII
The anime is OK, but I think it only makes me get increasingly more angry at government intervention into individual rights. Opening song is awesome though.

New Game

I didn’t think an anime about cute girls doing game development things would resonate with me as heavily as it has. And now the second season is out and really fleshing out more of the characters and really digging into the realities of game development. I wish it had more programming focus though.

GJ-bu

This has been on my list for a while, and man, it’s great. It’s a slice of life anime with great characters and a comforting atmosphere. It’ll probably engross anyone that watches it, and make them hate the fact that it ends.

OK, so this post ended up getting put on hold for a week, so if it comes off as half-rushed, that would be the reason. Sorry about that. It’ll be a while till the next one.

-ADMAN

04/07/2016 – Happy America Day!

Although being in Northern Ireland, there’s not really much reason to care.

Not a long post today, mostly just gonna talk about my project. Progress is going well, albeit a bit slowly at the moment. The itch.io page has links to the development long if you’re looking for specifics. That said, I want to talk about feature creep and individual systems taking more time than they should.

The latter first. So a system I’ve been working on a sub-system that picks that an enemy distribution pattern in the game based on the player’s progress. This has taken me a good two weeks to get to the point where I can get something to work, and that mostly comes down to me overthinking its implementation. When I first thought about it, I wanted to build a system that read in from a text file and would generate all the waves of enemies in the game from that. There were two problems with this system:

  1. Each spawner in the game world can take a variety of arguments that defines speed, timing, and what object is spawning. Because of that, if I was to get them, each spawner on screen could require a minimum of 3 arguments. Which considering there could be a dozen or so on screen at anytime, that ends up being a lot of overhead, which Unity is terrible at handling.
  2. In relation to the first issue, I thought a good way to negate it would be to use asynchronous game objects to handle it. However, Unity being Unity, didn’t make that particularly easy. Specially, the more recent versions of .NET allow for Async reading of text files. But Unity, being .NET 3.0, doesn’t have this option. So I had to abandon that idea. The alternative was to use threading, but I’ve never really had much experience with it, and at that point I figured it was more effort than it was worth.

So in the end, I made a hard coded variant that just told the spawners in game what to do. Currently I’m altering that version to take the update cycle into consideration.

Feature creep is something I’ve commented on before, and I’m not gonna say too much on it. But basically, I went from have two notes on my whiteboard to having 5 of them, all filled with additions I want to add to the game. My notebook is also full of them. What’s happened is that I’ve come up better ways with how I want to game to play, but without noting anything technical of how I want to build it.

To be fair, the biggest set of notes is just a list of game modifiers. Regardless, there’s probably stuff I’m either going to cut, or this game is going to take longer than I would like to make. Guess we’ll find out.

Right, that’ll do for now.

-Adam

P.S. Gaming Den post soon.

08/05/2017 – Project Update and Itch.io Dev Log

Hey there folks.

I will probably be using itch.io’s new dev log page for my game to distribute news updates on it. You can view it here. Note that the page is using a secret URL because it isn’t public yet. I’ll probably make it public once I have some useable art assets. You can now view the page publically, but it’ll be generally unlisted if you search for it on the site.

As for the first dev log post, you can view that here freely.

24/04/2017 – Working On A New Project

As I decided to write this, the date changed from the 23rd to the 24th. I am currently starting to write this just past midnight, whether or not I finish writing this tonight is yet to be seen (Somewhat likely, I don’t write much for these).

I can’t remember if I mentioned in my last post that I started a new project. If I did, then my apologies; if not, well guess what? I started a new project.

It’s a game, this time a 3D one that focuses more on traditional control methods (PC/Console friendly), and as such has opened the door to a slew of bullshit wondrous new avenues in Unity’s development tools. Well, sort of. The difference between the 2D and 3D tools from a programming perspective is negligible at best. But, I do feel the development toolset lends itself better to this perspective.

So what is the game? I can’t talk too specifically yet, but it’s a bullet-hell game. Which considering it’s a genre I am terrible at, is pretty surprising that I’m actually doing somewhat well in constructing it.

Now, I’m not quite ready to show any gameplay yet, but I assure you it’s coming along well now. I’m gonna talk about how the progress has been so far, and I am deeply sorry that I cannot go into specific detail about certain scene, scripts, or game objects. It’ll make more sense once I start showing the game I assure you.

When I first started it, I ended up over-thinking a lot of the base principals that would construct the game. Everything was very singular and separated, but still required to communicate with each other. This way of development continued for several weeks, and became harder and harder to work with, and made progress incredibly slow. I didn’t get player movement working on that system until maybe late February or early March.

Sometime after doing the player movement stuff, I got sick and had to take a couple weeks off (I may or may not have also been playing the crap out of Nier Automata by this point, but lets ignore that detail). And after I came back to work on the game, I realised something; Everything I was doing was very convoluted and difficult to manage, especially considering how Unity manages hierarchy of objects in the game scene.

Once I realised this, I broke down all of my previous code and bundled up a lot of the objects that I was generating separately into two slightly different objects (And then made another two based on those), and then generated the game scene based on those. This amendment caused a significant increase in my efficiency and made the other tasks for myself considerably easier.

For example, the player movement code that had taken me several days to make and work properly, now worked within a matter of hours and was much easier to obtain the components I needed from certain game objects.

One of the other issues I had was a little more specific to Unity. I found a need to destroy game objects in a scene, but said objects were being collected in a list. However, Unity’s GameObject.Destroy() function only operates at the end of the frame and not immediately. Which meant that the list I was storing these objects in said there were more of them than there were, which actually broke the player movement system.

Unfortunately, the WaitForEndOfFrame() function didn’t work as I had intended, so I had to resort to rebuilding said lists in the Update() method which is expensive. It’s kind of been nagging me, so I’ll likely end up fixing it at some point in the future. Additionally, the bug can still occur if the player is positioned in a specific way, but that’s also something I’ll fix.

That’s about as specific as I can currently get. Hopefully by the time I write my next blog post I’ll have some images and video to post. Although my next post will likely be a Den post.

That’s kinda all for now.

-Adam

P.S. Persona 5 is hella rad.
P.P.S. Nier Automata is also hella rad.