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.


Internet Trolls Really Are Horrible People

| Comments

Haven’t posted in a little while due to school just starting, but then I found this article on HN, and had to share.

Internet Trolls Really Are Horrible People

Okay, so stating the obvious to start with, but they have actually proved it… WITH SCIENCE! (Sound more like statistics to me, but whatever)

It mentions how trolls are actually a very small minority, and that most people don’t even comment.

To be sure, only 5.6 percent of survey respondents actually specified that they enjoyed “trolling.” By contrast, 41.3 percent of Internet users were “non-commenters,” meaning they didn’t like engaging online at all. So trolls are, as has often been suspected, a minority of online commenters, and an even smaller minority of overall Internet users.

So next time you get trolled, you know that you aren’t hated by everyone. Good to know.
Although this brings up a new issue, which I’ll talk about later.

I recommend reading the whole article, as some of the stuff is quite interesting.
But if you’re too lazy, here’s my summary:

The research … sought to directly investigate whether people who engage in trolling are characterized by personality traits that fall in the so-called Dark Tetrad: Machiavellianism (willingness to manipulate and deceive others), narcissism (egotism and self-obsession), psychopathy (the lack of remorse and empathy), and sadism (pleasure in the suffering of others).

[Trolling] was correlated with sadism in its various forms, with psychopathy, and with Machiavellianism. Overall, the authors found that the relationship between sadism and trolling was the strongest, and that indeed, sadists appear to troll because they find it pleasurable.

And now the issue I mentioned earlier:

People need to act out against this behaviour

If trolls are the minority, then why are we letting them bully people?

Yes, it’s bullying. They say “just for teh lulz”, but we know that they are only satisfied by hurting people.

One of the worst places I’ve seen for trolling is the indie game-dev community.

Countless developers have been making games for other people’s enjoyment, sometimes even at their own cost. But even there trolls do their horrific work and many developers quit because of the seeming hopelessness of the situation.

What needs to happen is that we, the majority, need to speak out.
We need to fight back against trolls. Make them know that they are disgusting, and then throw them out of the community in disgrace. It’s unacceptable behaviour and everyone knows it.

But more importantly, we need to give more encouragement to the people affected. Once a developer has quit, it’s usually too late to say “Don’t give up now”.

You need to take the time to say “Great work” when you like their work, and give constructive criticism when something needs improvement. And if you don’t like the game, don’t make a big fuss about it (unless it qualifies as a scam etc.).
It’s not the developer’s fault you don’t like it.

Finally, don’t be a troll. If you find yourself only thinking about yourself, or wanting to hurt others, you need to take a long break from the internet.

Thanks for reading my confused ramblings.