New mini-project

Posted by Astryl on Oct. 5, 2015, 7:18 a.m.

Last night I was bored.

And as it so happens, when I get bored I either end up playing a lot of games or trying to make one.

I settled on the latter for a change.

Since I want to take part in the Ludum Dare October Challenge, I thought that I need to make something both familiar to me mechanics-wise, easy to create art and music for and easy to pump out by the end of the month.

So, after digging through my collection of 500+ GMKs and old games, I settled on remaking Cycore, one of the first platformers I showed off on this site, and turning it into a gamier game.

The original was really simple, both in terms of gameplay and graphics. What I've decided to do is to make the gameplay a bit more complex, but keep the minimal graphics style for as long as I can.

That way, I'll have more time for game elements and will probably have something by month's end.

Progress #1 Sunday

Spent most of the day mucking around with shaders. Finally settled on this:

It's a radial distortion shader with scanlines, and a bit of single-pixel bloom to create somewhat of a "ghosting" effect like a lot of old CRT monitors and TVs used to have.

Progress #2 Monday

Now with the Copious Amounts of Free Time™ I have available to me, I made progress like crazy in exchange for a mere two hours of work.

It started with this:

And ended up with this:

I'm not going with the complete "Single solid color pixel characters", and am instead going for 3-color sprites without too much complexity, just to draw attention to interactive objects and such. The walls will probably remain simple.

Oh, and I somehow made a semi-complex Pause/Map menu:

My pause system is a bit more refined than I normally make it. Usually, I just skip adding a pause menu altogether if I can.

The few games I've made that do pause, I've used a global "paused" variable that only affects certain objects, and stops them from doing anything.

This was silly.

This system creates a pause object over everything, and this first of all lets the play-screen render for one more frame and captures it in a surface (using view_surface_id). Then it draws this, draws a darkened overlay, disabled everything and finally creates its objects (There's a map object, for instance).

The 'action' in the background stays paused perfectly, and doesn't require any extra logic in any of the game's objects: Pausing is entirely its own mechanism, and has full control of itself.

Well, let's see if I finish this. I'll add more progress if I have more progress.

EDIT: As an aside, I'm using Game Maker Studio Standard, mostly because I've gone into "No bullshit" mode and just want to make "a game" without giving the slightest damn about what I'm making it in, just what allows me to churn out my idea the fastest and with minimal fuss.

Comments

Astryl 8 years, 7 months ago

Depends on your attitude going about things.

EDIT: And by that, I mean that I find it fun to go tinkering with the creation of an engine, debugging, etc. All the 'boring' fluff that most people avoid.

On one hand, I want to do that, on the other hand I just want to finish a game. I may compromise and just finish this in GM, since I started it in GM.

One of my Rules for game development these days is that if you have to think too long over a decision, defer it to "Version 2.0". This is one of those decisions, I think :P

Jani_Nykanen 8 years, 7 months ago

Quote:
On that note, Linux compatibility isn't really possible if I keep using GM. I'm debating rapidly re-learning MonoGame and working on this "properly", as a main project. I'm definitely having a ton of fun making it.
If you can promise it works fine through Wine, I can still buy it.

Astryl 8 years, 7 months ago

I can guarantee I'll perform vigorous Wine testing and report back on that once I'm done :P

death 8 years, 7 months ago

Gm Studio, export to Ubuntu. Or HTML5 (though you might have trouble with that one)

Astryl 8 years, 7 months ago

I don't own (Nor want to buy/can afford) either of those export modules, so it's not an option for me :P

EDIT: Oh, working save points are a thing now.

And I'm starting to decide on the visual direction I want to take the game. I'm going to mix the "wireframe matrix/computer-y" style with my more traditional "NES" style, and go from there.

Normal Shaders:

Extreme Bloom:

death 8 years, 7 months ago

ahh didn't realize the Ubuntu export is a paid export. that's stupid. i think exporting to any desktop OS should be free. There's not even a big enough demand for Linux and Mac desktop gaming anyway to justify the cost.

hmm that could work but i still think the walls need a tiny bit more detail. Perhaps some chip-like looking design that glows. that would be awesome. I can't think of any good examples off the top of my head though to better illustrate what i'm picturing.

eagly 8 years, 7 months ago

Loving the shaders, Mega! The scane+CRT+bloom looks sweet. It adds so much to the visual style with the simple graphics.

aeron 8 years, 7 months ago

Nice work! I'd like to play this for sure, even just a single world demo. Those shaders are straight sexy…

I use RetroArch for almost all my emulation needs and it comes with tons of shaders that you can apply to all system's game output. Just the other day I was messing with the CRT shaders trying to mix and match passes to get a performant but accurate CRT display. Long story short I gave up on the distortion and settled on an LCD shader instead :P

But yeah, you should download that program if not just for the shader library. It's a pain to set up the cores and configure controls for the first time, but it really is a powerful software suite. Try different shader presets and then you can go into the shader dir manually to reference the shaders you like in .cg or .glsl. Most if not all are public domain so you can use them how you wish, if not just for reference.

Astryl 8 years, 7 months ago

Retroarch is where I got the inspiration for these shaders :P

I use one of the standard CRT shaders(crt-interlaced-*) with a few tweaks to pass settings and it gives me a decent effect for most of the games I play (some of them are a bit washed out on my settings, specifically a handful of NES titles I don't really play).

My process for making the shaders was a mix of referencing the CRT/Bloom shaders in Retroarch's package, looking at some GLSL ports of the older shaders for BSNES and other projects, and then basically pulling them apart, putting them back together and writing it from the ground up after I understood what was going on to a degree.

Oh, and some end-of-day progress:

Pew pew pew!

aeron 8 years, 7 months ago

Fucking A, props to you for learning them inside out! I definitely plan on reverse engineering some of the RetroArch shaders for future projects… it's a great starting point for a lot of practical effects.