• Advertisement
  • entries
  • comments
  • views

Entries in this blog

Greetings and salutations!


The competition is over, and the results are in. I came in thirteenth out of twenty--not a result that I'm happy with. :/


So, what went right, and what went wrong?


What went right:

- Panda3D

Once again, I'm overall rather happy with my engine of choice. There were a few difficulties to deal with, but I think that it served me well in this.

- Vertex colours:

By simply painting the vertices of my enemies, I was able to roughly colourise them without creating individualised texture-maps. The resulting appearance is a little basic, perhaps, but I feel that it was appropriately expedient! However, see below under "what went wrong"...

 - Music:

This is a field in which I've previously had pretty poor scores, as I recall. For this year's Week of Awesome, I set aside my old source for royalty-free music, instead turning to Kevin MacLeod's Incompetech. It's a well-used source, but I found music there that I feel fit my game rather well, and the scores given (sevens and eights out of ten) seem to support this.


What went wrong:

  - Scope:

Simply put, the game is perhaps just a little too big for the time allotted. Had I had another two days to work on it, I suspect that my entry would have been much better.

Aside from various bugs, the level was rushed--I think that I only spent somewhere around five or six hours on it in total.

Indeed, I recall that right at the start I had reservations about the scope of this project--but at the time I had no other concepts that I was sufficiently happy with and that fitted the themes well.

My thinking at the moment is that, for future jams, I should perhaps look for a concept that I feel that I can complete in five days; if I find myself with only a concept that seems too big (as was the case this year), I should perhaps nevertheless set it aside and keep looking.

 - Vertex colours:

Unfortunately, I managed to miss a caveat in the version of Panda3D that I was using: Simply put, when a shader that uses vertex colours is applied to a model that lacks them, the result is undefined. On some machines--including the two on which I tested--the result is white; as I was using the colours, this more or less amounted to "no change", and thus looked fine, I believe. On other machines, as it turns out, the result is black. Since the majority of the level has no vertex colours, this meant that all looked well on my end, but for some of the judges the environment (and the player's on-screen hand) turned pitch-black, rendering navigation somewhat problematic.

 - Projectile appearance:

I fear that I spent a little too much time attempting to get my projectiles to fit the look that I had in mind for them. It might be wiser in general for me to think of the game as a prototype, and not spend quite so much time on such elements of polish unless there's time to spare at the end.

(Although I do feel that the scoring category for graphics provides incentive in the other direction...)


That's all for now, I think--stay well, and thank you for reading! ^_^

Greetings and salutations!

This is, for me, the final day of the jam; thus, what I've completed today is intended to be my final submission...

First, once again, a screenshot showing some of that final submission:


So, what does that submission include?

First of all, I'm not terribly happy with what I achieved this year. While I like at least some of it, and rather like the concept, what I managed to do by the end didn't match up to what I'd hoped to make. In particular, the level is brief, has no true end, and isn't terribly interesting to look at, while the gameplay wants for some serious tuning.

Still, I do rather like the "chain" mechanic; having the various chunks of the level rearrange under the influence of the chains is something that I find neat, and interesting.

As for what, precisely, I got done today, let's see--off the top of my head:
 - A custom cursor for the menus
 - Player death, a new popup menu that appears on death, and the option to restart the game should one die
 - Cheat codes ("i" toggles invincibility, while "m" gives the player the two collectible weapons)
 - An on-screen player-character hand (begun yesterday, as I recall)
 - Adjustments to the player-spell casting effects
 - Sound effects
 - A quick-and-dirty level
 - Various tweaks and bug-fixes

(I may well be forgetting something.)

So that's it! Whether my entry is judged good or not, I very much enjoyed the jam--it's a little gruelling, as I run it, but thoroughly enjoyable. ^_^

That's all for today--stay well, and thank you for reading! ^_^

Greetings and salutations!

Today was pretty productive, I do feel! Once again, I didn't get done quite as much as I might have liked, but nevertheless feel that I got a fair bit done.

First of all, a screenshot, showing the main menu (and the title that I've selected for the game):


So, what was done today?

The UI has been completed, I believe (with the exception of a custom cursor, which I think that I forgot about). It's fairly simplistic, and one or two bits are a little rough (the key-binding UI could use a re-skin, in particular), but it all works and for the most part looks acceptable, to my eye. This includes some work on the in-game UI; for example, spell-icons are now visible and highlight to indicate the currently-selected spell, and flashes occur at the edges of the screen when the player is hurt or healed.

Connected to and part of the work on the UI is that I've implemented pausing of the gameplay, with the option being given to either resume play or quit the game.

As to the gameplay, I think that I finally have an effect for my spell-bolts that I'm sufficiently happy with. As I believe that I mentioned, I had hoped to try something fancy, creating a solidly-glowing effect--and indeed, another entrant gave me a suggestion for a potential approach. However, I didn't manage to succeed to my satisfaction.

So I fell back on a venerable method: three orthogonal quads, double-sided, textured to look like bolts of magic, and rendered additively. It's not what I had in mind, but it looks decent, I find! In addition to this, I've added impact-effects for the two spells that were previously sharing the effect intended for the first weapon.

Speaking of those spells, one of them has been changed: The spell in question is one that the player can charge to a certain degree. Previously, this affected the resulting bolt's speed and damage. However, I realised that the latter left it too similar to the other spell that could be acquired--and which I think is a bit more interesting. So, while the effect on speed remains (if I recall correctly), instead of dealing more damage, the spell now deals its damage in a spherical area-of-effect, with the radius of that area being determined by the charge given.

And once again, there are likely sundry changes that don't seem worth mentioning here!

That then is all for today--stay well, and thank you for reading! ^_^

Greetings and salutations!

Today was fairly productive, I feel! To start with, some screenshots showing the current state of the game:


    The three powerups thus far implemented--from left to right, I believe: A "spread-fire" weapon, health, and a "charging blast" weapon.



    Some of the current state of the game--note the three enemies, the health bar, and the new texture on the level-geometry.


As to specifics, read on:

You may recall that I mentioned in my previous entry that the flying enemy might be scrapped; well, it's working now! It doesn't behave as I had originally intended, but I'm happy with its new (preliminary) behaviour, I do believe. ^_^

Speaking of enemies, they now react visibly to taking damage: they "flinch" a little to one side or the other, may be pushed back by some weapons, and release a quick burst of particles.

Weapons have seen a little work: I have a basic implementation of one weapon's appearance, and an impact-flash for the same.

I had hoped to produce something fancier that I have now--I wanted a 3D model that shaded from bright at its visual centre to darker at the edges, giving a nice, glowy look. I attempted to implement this by looking at the model's normals in the relevant shader, with normals pointing towards the viewer being bright and normals pointing tangential to it being dark. This sort of worked, but not to my satisfaction. :/

I also started in on menu-screens today: there is now an incomplete main menu, a possibly-sort-of-complete options menu, and a probably-near-complete credit-text screen.

On a similar note, I selected fonts to use in my UI, including the above-mentioned menus. This took a little searching, especially as I wanted to avoid licences that might be problematic. In the end I found two that I'm reasonably happy with, at least!

I've even made a first step on the in-game UI: as shown above, there's now a simple health bar near the bottom of the screen, which decreases when the player's health drops, and increases when it rises.

Powerups have also been implemented: small red orbs replenish the player's health, while oddly-shaped crystals provide new weapons.

And once again, the game saw various tweaks, changes, and additions that don't seem worth mentioning here!

That then is all for today--stay well, and thank you for reading! ^_^

Greetings and salutations!

Today was a fairly productive day, I think--although I'm starting to feel a little behind my preferred schedule. The end of the week is creeping closer...

As to a screenshot, have a GIF showing the new chains in action (albeit with some cuts; the process is rather longer in-game):

(Sorry that it's in Tweet form--for some reason my attempts to upload the GIF as an attachment repeatedly failed.)

Perhaps the biggest change made today is the one shown above: the chain mechanic has been implemented! Chunks of level can now be joined by great chains. When these are shot, they disintegrate, sending the chunks flying apart. However, after a short time the chains reach out again, joining the chunks and drawing them back together.

Thus far, this all seems to work reasonably well, I think. ^_^

I also switched from using Panda3D's auto-generated shaders to my own. These new shaders are stripped down and heavily-modified copies of one of the main shaders from my primary game-development project (A Door to the Mists), with one variant for the chains (which implements their disintegration and link-by-link extension) and one for projectiles (which may well be changed in the future).

On the downside, I accidentally saved over the working file for one of my enemies; while I do have last night's backup, some changes were made today. That said, I do still have the exported version, so as long as that holds this may not be an issue. And even if it is, the changes made today weren't huge, from what I recall.

Speaking of enemies, a new one was implemented today--although, alas, I may well end up scrapping it. It's a flying creature, intended to harry the player from the air, unbound by the edges of the level-chunks. However, it's not behaving as well as I'd like, and I'm having some trouble getting it to quite work correctly. We'll see how things go, perhaps.

Finally, there were sundry other changes that don't seem worth mentioning in full.

That's all for today--stay well, and thank you for reading! ^_^

Greetings and salutations!

Day two of the fifth Week of Awesome has concluded for me! It's been a fairly productive day for me, I think--although I'll confess that I didn't manage to finish quite everything that I had wanted to.

First, however, a screenshot showing some of the game's current state:

Not terribly pretty just yet, but early days (I hope). You can see some of my little prototype level, and the two enemies thus far implemented--the further, taller enemy shoots at range, while the smaller, spidery fellow attacks in melee.

So, what did I get done today?

First of all, as shown above, I have some enemies now!

In addition, I have some simple weapons implemented, and the player can select between available weapons and kill the enemies with them. No GUI has yet been implemented to display what weapons are available, or which is selected, however. The enemies can fight back, and do damage--but this currently has no effect beyond lowering a number and printing to the console the damage dealt.

Alas, in taking the screenshot above I discovered that the "spider" seems to have become broken at some point, no longer attacking. Something to look into, I fear. :/

Speaking of damage, I've implemented simple falling damage: if a creature (I think that I implemented this for both player and enemies) lands after building up too much speed, they should now die. (Or harmlessly take damage equal to their health, in the case of the currently-invulnerable player.)

I've also implemented in-level music, employing some royalty-free pieces by Kevin MacLeod via his site http://incompetech.com. The game should randomly pick from the four pieces that I've downloaded, and once that piece has finished, pick another. I've selected and loaded menu music from the same source, but don't yet have a menu over which to play it.

I think that that's everything for today--stay well, and thank you for reading! ^_^

Greetings and salutations!

Once again, the "Week of Awesome" has come around, and once again I mean to enter!

The themes for this year are, I believe: "Chain Reaction", "Assassination", "Castles", and "Alien Invasion".

I'll confess that these themes gave me some trouble: it took me some time to find a concept that I was quite happy with--and even then, I'm not quite sure of the one that I've picked.

Of the four, I wasn't inclined to "Assassination". "Castles" I like, but setting the game in a castle felt a little obvious--something that I prefer to avoid. As to "Chain Reaction", the direct interpretation--gameplay involving one thing setting off another in rapid succession, as with explosive barrels placed beside each other--simply didn't interest me much.

I did fairly early come up with an approach to "Alien Invasion" that I rather liked: this needn't be a sci-fi concept. There's no reason that the aliens couldn't be from another dimension, or another celestial sphere, or even simply another world. And indeed, I intend to use this theme, under that the interpretation.

What then to use with it? Another thought that I had fairly early on was to reinterpret "Chain Reaction" not as a set of reactions, one prompting another, thus forming a "chain", but rather as reactions to or from chains. I toyed with a number of ideas here--ghosts in chains, swinging from chains, playing as a chain swinging itself around, and so on--but struggled to find something that both sufficiently met my liking and seemed like a good interpretation of the theme.

What I settled on in the end is this: The game-world is composed primarily of chunks joined by great chains. The player's weapons-fire can break these chains, sending the chunks flying apart, until at last they stop. After a brief pause, the chains reappear, and the chunks pull together again. Thus the chunks react to the presence or absence of the chains.

This way I intend to make an exploratory first-person-shooter: the player navigates from chunk to chunk, trying to find the way towards the top of a sort of "tower", where the game's goal (and final boss ;)) lies. Along the way they face enemies in old-fashioned shooter gameplay: quick movement, slow bolts of magic, etc. I also want there to be rewards for exploration: it's how additional weapons are found, as well as the traditional health powerups.

I'm a little nervous about how the judges will feel about this interpretation of the "Chain Reaction" theme. We'll see, however!

As to progress, I believe that I have the bare basics done: movement, an initial pass at weapons-fire, and some prototype geometry. I don't yet have chunk-movement in, or the chains, or enemies. Still, for the first day's work, I'm fairly happy with it! ^_^

That's all for today--stay well, and thank you for reading! ^_^

It's done! The (intended) submission version of my entry, Powerthief, is complete, and should be available via the link below:

[s]Powerthief (v1)[/s]

A new version, with working sound:
Powerthief (v1.1)

I pulled and all-nighter in order to get it done (finishing at some point after nine a.m., by my time), and am thus feeling a little out of it, so I'll leave this journal entry after a quick listing of major changes to the game. However, a more detailed post-mortem entry will likely follow, perhaps in a few days' time.

Major changes:

  • New models for the player and enemies, with animations

    • Alas, my animation logic seems to be faulty, as the walking animations seem to end up jittering horribly. It's worth leaving in for the sake of the "flinching" animations, which do (more or less) work, I think.

    • Some new special effects

      • Some of these are repurposings of previous effects, but there are a few new items, such as the lightning ball and firebird.

      • Sounds and Music

        • The music comes courtesy of Eric Matyas, while the sound effects largely come courtesy of me making noises into a microphone, then messing with the results a little in Audacity.

        • A very simple "intro" screen.

          A number of "placeholder" models remain in place, I'm afraid--the powerups in particular still use the models that they had in the prototypes.
Day 5 draws to a close. The deadline is near (more so because I don't intend on working on Sunday, a possible all-nighter notwithstanding).

I have a new prototype: Powerthief v0.2

(I won't post a new screenshot today because the game is visually much the same as it was yesterday--the changes are primarily in gameplay.)

I feel that I got a fair bit done today--amongst other things, I made the following changes:

  • The "death" mechanic is now in!

    • When the player dies, the spell which served them best should now be given to the enemy that did the least damage during the run
    • These changes should also persist between play-sessions

    • The main boss has been implemented!
    • Two new spells are available: Lightning Ball and Spark Spray
    • A simple "you win" screen has been added
    • Health powerups now sometimes appear on completing a room
    • A weapon powerup should now appear on completing a level
    • A new enemy type has been introduced
    • The movement of one of the pre-existing enemy types has been made a little more complex
    • Some basic tutorial imagery has been added to the first room
    • Enemies should no longer spawn near the player
    • There was a bug that caused the "game over" screen to cover the play-area when starting a new game, preventing play; this should now be fixed.

      I attempted to implement a simple options menu--only to discover that my previously-functional key-mapping GUI broke at some stage in the past, and that furthermore my splash screen's code was interfering with it! Attempting to fix the problem was taking up too much time, so I decided to dump that feature, for now, at least.

      In the new day I intend to create a few models with a handful of animations, create some basic sounds, find a few music tracks, and keep polishing the game. I'd like to add basic special effects, some new spells, some level-geometry, a simple intro and perhaps a better outro, and maybe the mid-boss and a new enemy-type or two.

      I'll confess that I'm not entirely happy with the way that this game is turning out--the gameplay feels a little messy, a little cluttered. And yet, I've actually had some fun play-testing it, so I'm not entirely unhappy, either.

      The schedule is looking tight, and I'm not sure that this game is coming out as well as I would like, but I'm not entirely unoptimistic: even if I don't complete all of the above, I may yet produce something that I can feel at least somewhat happy with.
It's... It's day 3, right? Right...? tongue.png


At long last I have a prototype available! The art is placeholder (although some might end up in the final product due to time constraints), the gameplay is likely rather unbalanced, the enemies are simple, there's little feedback on hits, the thematic element isn't yet there, there is neither sound nor music, and there are bugs--but you can now at least try it for yourself!

You should be able to download the prototype via the link below:

(I'm not hugely happy with the name, and may change it in future versions.)

Feedback would be appreciated, I do believe! happy.png

[indent=1]Movement: WASD

[indent=1]Aiming: Mouse

[indent=1]Casting: Left mouse-button

[indent=1]Spell-selection: numbers 1 through 4, or scroll the mouse-wheel up and down.

[indent=1]Return to menu, or from menu to game: Escape

To entice at least a little, have a new screenshot (cropped to show just the interesting bits):

A quick summary then of the major changes that I've implemented (as far as I recall): The game now has four spells available, and two types of enemy; both the enemies and the player can be killed. When the player is killed, a game-over screen appears, and after a short delay the player is free to return to the main menu. Objects all have a simple blob -shadow or -"light".

I'm tempted to take an idea mentioned in one of DifferentName's journal entries, giving the basic enemies movement patterns that are more complex than their current "charge!" approach.

There are some known bugs, I'm afraid: