HeroesGrave Development

Programming games and stuff.

LD30: I’m In!

| Comments

It is the morning of the day of the start of the 30th Ludum Dare.

This is a bit late for an I’m in post, but I’ve been busy.

Language: Rust
Extra Libraries: gl-rs, glfw-rs, cgmath-rs, lazy-static.rs
My Libraries: handle.rs, ecs-rs, grave.

Caution: Grave is extreme WIP. It can be used as-is for Ludum Dare, but it is not recommended for anything more long-term.

Not long to go. Can’t wait to get started.


Quick Update

| Comments

Well, it’s been a while since I posted. I’m not dead.

Things went a little bit weird starting with the 20th of June, when I soft-bricked my computer. The day afterwards was my 0x10’th birthday. (Yay! Hex double digits!), which I then spent reinstalling Arch-Linux.

Also around that time was the Steam Summer Sale. My library nearly tripled in size due to presents and games I bought myself. As you can guess, I’ve done a lot of gaming over the last month or so.

However, I have not been completely inactive from programming. I’ve been working on a game in Rust that started off as Asteroids, but then went a little crazy and started looking like a space combat/sim game.

Here’s a quick summary of the development so far:

Coming up this month is Ludum Dare 30, which I’ll hopefully be able to have an internet connection for this time. If that’s the case, I’ll be sure to post things here to maybe fill up a bit of space. It’s awfully empty on this blog.

In other news, due to the ‘bricking’ of my computer, I appear to have lost the theme adjustments I made. I don’t feel like fixing it right now but I will have to at some point.


I’m Going to Write Some Tutorials!

| Comments

Well, the title really says it all:
I’m going to start writing some tutorials. I’m planning on basing them around a simple Guardian-ish game.

I’ll start off with Java, but if things work out, maybe I’ll port it to Rust.

Hopefully I’ll also teach myself a few things along the way.

Things I’ll (try to) cover include:

  • Game loops
  • Creating a window with LWJGL & Basic Immediate-Mode drawing.
  • Abstracting stuff. (So I can get away with teaching deprecated OpenGL by making it easily changable to the more modern pipeline)
  • Images (and OpenGL Textures).
  • Other resource loading.
  • Basic world and entity stuff.
  • Display lists.
  • VBOs.
  • Shaders.
  • Text rendering.

Anyway, probably best for me to get to work.



| Comments

A little, bit late (Tuesday), but here is what I was going to post for Screenshot Saturday:

As well as implementing Archers, there have been a lot of AI tweaks and rebalances. Although in the sequence above only the archers survive, usually it’s a more even spread of units.

A little bit of work is needed to have units respawning properly (ATM it just spawns warriors at random intervals), and when that’s done, I’ll create a few levels and throw up a demo.


Screenshot Saturday #161

| Comments

And a GIF from last week that I didn’t post:

Core mechanics are nearly at 100%.
Maybe even a short demo will be available next week.


Guardian II Attempt II

| Comments

A while back I abandoned Guardian II as I was unable to give it the gameplay I wanted.

Then, playing Guardian (I) again, I realised that the gameplay I tried to give it was not what I really wanted.

What I wanted was a fun hack-and-slash platformer where the player controls one unit in a battle between two armies.
What I tried to make was an RTS where the player has to fight AND control their army. Not that fun.

The relevant post can be found here on my old blog.

Even though I said I wasn’t working on it anymore, shortly afterwards I completely rewrote the engine and worked on the spritesheet.

Things in the codebase are very clean at the moment, and although I’m not expecting them to stay that way, this is at least the 5th iteration of the engine, and that means I’ve had plenty of opportunity to get everything how I want it.

The pathfinding, and AI in general has had a massive improvement, and there’s more to come.

In specific, I’m thinking of introducing a flag system for controlling units and the general flow of the game. More details below.

Here’s a general overview

  • You start off with one base.
    • The base has an initial spawn flag.
  • To control units, you pick up a command flag and they will follow you.
    • The command flag can be placed on the ground, and then nearby units will hang around that flag.
    • If you are killed, the flag is dropped.
      • A brave enough unit can pick it up and continue.
    • If the flag is somehow destroyed by the enemy, nearby units panic (unless there is another flag nearby)
  • To capture more bases, take a command flag to the spawn flag, tear down the spawn flag, and put up your one.
    • The base can then be used as a spawn point and if it is the final one for a level, allows you to advance.
  • If your last spawn flag on a level is lost, you lose the level and must return to the nearest flag on the previous level.
    • If you lose your last flag on the last level, you lose the game.
  • Units have randomly generated courage and aggression stats.
    • These two combined determine most of their AI.
      • Things like whether they attack, counter-attack, fight, flee, panic etc.
    • A unit must have high enough courage to pick up the command flag.
  • Hopefully lots of different campaigns.

Anyway, I have lots of work to do.
I’ll blog more as things start coming together.


Last Day of January. Paint.JAVA v0.13 Beta

| Comments


Selection System Overhaul:

  • Changes are now clipped against the selection region, so selection can be used as a mask.
  • Fixed lots of selection-related bugs.
  • Ellipse selection (still a bit buggy).
  • Cut/Copy/Paste with cross-application compatibility (I think. It works in GIMP).
  • Arrow keys move the mouse one pixel, relative to the zoom of the canvas. Ctrl+Arrow keys to move 8 pixels.

There isn’t much left to do before 1.0. I believe someone is working on the tools dialog, which leaves me to clean things up, sort out the history, finalise the plugin system, and make some icons.

Of course if you want to help with any of those or add new tools etc. to get your name in the credits, feel free. Just post in the appropriate issue on Github or make one if it doesn’t exist. We don’t want 2 people working on the same thing.