BGMC24 | Inferno - DONE

Run along a tunnel until you hit the walls and die.

Download it here:
Latest Version

Tested on Linux with intel graphics card. Let me know if it works for you.
Tested on Linux with nVidia graphics card.
https://media.giphy.com/media/xUA7bfhFtEGE6X4bBe/giphy.gif


I had some fun (aka wasted several hours) on a 2D filter that shades areas close to the camera red, and gives them speed ‘streaks’.

Current Time use:

  • 1.5 hours planning (while on a plane trip)
  • 5.3 hours - All flight mechanics, shield, boosting etc, Basic map generation, appearance testing, 2d filter construction
  • 4.5 hours - HUD, level tweaking, wasting time because it’s too late at night for this

It would have been faster but for the massive jet lag that mean development has been happening while my brain has been dead. It’s also been without internet access up until now which may or may not have helped.

Rough Plans:

  • HUD showing player shield/boost/slow-mo
  • Menu
  • More intelligent map generation
  • Pulse pounding music?

Attachments



lookin good :slight_smile:

Nice. Are there going to be any pickups? Infinite runners and the like are mostly based around the idea of choosing the best line so you can pick up the most coins or whatever as you go along. Because they don’t have a set layout you have to see the patterns approaching and try to anticipate them while avoiding the fairly infrequent hazards.

This is one of picking the best line to avoid hitting the walls. There will be shield, boost and slow-mo pickups which you can collect. You get points for using boost and the distance you travel.

New images:






As you can see, it has a HUD, which has some bars on it (indicate shield, boost and slow-mo) - as well as a collision direction indicator (red glow - in the bottom images it’s at the bottom, but it points around based on where you got hit). The green crosshairs is the momentum of your vehicle.

Todo:

  • More intelligent map generator
  • Player death in a satisfying way
  • Menu
  • Music

Currently this runs in regular BGE, but I can’t get uniforms into the 2D filter to tweak things like the ‘streakyness’ dynamically. Maybe I’ll make an UPBGE version afterwards.

Wow it is so much better than mine

If it’s a 2d filter you should be able to use gameobject properties to set variables in the filter. Just make sure you set the properties on the object before runtime because if they don’t exist on initiation of the filter it’ll fail to work properly. Only floats and ints work though.

Very good! Looking fforward to play

Our games are completely different, and my gane is definitely not a better puzzle-solving-escape-game…
Keep it up

If it’s a 2d filter you should be able to use gameobject properties to set variables in the filter. Just make sure you set the properties on the object before runtime because if they don’t exist on initiation of the filter it’ll fail to work properly. Only floats and ints work though.

I had completely forgotten that! For the past age I’ve ben working with regular shaders where I can use setUniform(). Thanks, I’ll do that this morning.

Edit: Done and it worked nicely. Thanks again

Very good! Looking fforward to play

With a bit of luck I’ll have a demo out this evening, so you’ll get your chance…

Now with sounds and music

New colors on HUD:


The start of the game now has a description of what the dials are and some cool animation things:


And if you go the wrong way - there is fire!


Yeah, pretty much everything uses that pixel-noise texture.
Tomorrows job is to add a scoring system, and maybe some more tiles - and then I’ll call it done.

YOU CAN DOWNLOAD AND TEST IT HERE

I’m having real issues trying to record a video with good enough FPS (even on a machine that should be overkill). So have this animated gif:
https://media.giphy.com/media/xUA7bfhFtEGE6X4bBe/giphy.gif

Runs at 60FPS on my i5 ultrabook.

Really great so far. I love the music, though it’s a bit jaunty for such a serious subject as fleeing an inferno…
I think you need some braces or girders dividing the flow of the level, right now it’s not that difficult to just keep flying, you only really crash when you get bored of dodging. Maybe some crates or scrap lying around?
I don’t know how that might mess up your self leveling mechanism though.

The player slowly gets faster, I’ve upped the difficulty (I did all my initial testing with a touchpad) it’s now rather hard to make it to the end of the song. However, the game does need some reward system, so if I get time tomorrow, I’ll add more environment tiles and perhaps some sort of scoring/high-scores.

I just overhauled the self-leveling so it’s a fair bit better now, it should now be able to handle lots of clutter.

It now has a menu (press esc while in-game):



I think with those two graphics options it should be able to able to run on relatively low-spec hardware.

Same link as before.

edit:

  • Just realised I should do a better job of aligning the text in the menu box, it’s too far to the right.
  • I’ve only got about 2-3 hours left of the 24… 5 hours an evening (8pm - midnight) uses a lot of time not very effectively.

I’ve put it in the finished game forum. There’s still plenty more that could be done, but I think it’s at a nice place currently.

I recently discovered pydepgraph - a method of graphing python scripts. Here’s the graph for this game:



Each block is a module (eg game.py, settings.py) and the arrows are import statements

I’m quite pleased with how neat it looks on that graph. It’s probably one of the neatest of my projects that I’ve graphed.

Very addictive game! Well thought gameplay, I made almost 1000 meters. Very good game architecture! Nice filters and well executed UI.(specifically, your UI is something, I can not do by myself, kudos for that.)
We definitely should team up along with some other BA members, sometime and make a game…“The game” :wink:

I use managed lists for the UI haidme
Element =
[ “elementToSpawn”, [initial data to set], [update each frame], owner]

If len Element<5:
(tab)add element object to scene, append to element list, pack data into object
else:
(if owner or target invalid, add to pop list, else update using property list)

And each element can handle what it does with data presented to it.
(this handles overlay text, health bars, pie menu etc in wrectified and manic mack)

The code is called UI_handlez in manic mack I think*

This is fast and flexible, and modular.

The update system is generic, and calls functions (update pos, update rot, update text etc)

I intentionally made it designed to work with any game.
(I know there is no standard way, but I am trying to help change that)