New mini-project

Posted by Mega 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

Zekian 8 years, 6 months ago

I love the space between the pixels and barrel distortion effect, it's so strongly associated with old CRTs that it gives it an instant retro vibe. It's looks so effective. :)

I look forward to seeing more.

Nopykon 8 years, 6 months ago

I really like how it looks!

Have you seen? -> http://rgcddev.itch.io/powerglove I like how that looks too with super sexy 2x1 C64-pixels. The controls were awful tho, when I tried it a while back.

Mega 8 years, 6 months ago

@Zekian Thanks, I'll be posting more (And technical details, perhaps) as I go. :P

@Nopykon That's a really nice visual style they've got, especially considering it's design was originally for the C64. I'm hoping to have nice and tight controls, configurable and such, and if there's anything wrong with them… that's what testing and feedback is for :P

EDIT: On another note, Powerglove's EXE flags as a virus for me. Might be a false positive, might not, but I'm slightly paranoid.

Mega 8 years, 6 months ago

Somewhat configurable shaders! And a working menu system!

death 8 years, 6 months ago

Mega using Game Maker? What's going on here =P

Looks cool though. I hope the terrain gets slightly more interesting than that ha. I usually use a pause variable, i never thought of using an object for it. I tend to like keeping the object count as low as i can so i create a single object for all of those extra processes. I call it "master" and it handles all the menus, extra graphical effects, transitions, and "global" variables. I bet it's not very formal but i have been doing it for years. I like typing something like:

 if (master.pause == false) 

Nopykon 8 years, 6 months ago

Oh I hope it wasn't a virus! :P The pictures are enough to get the idea though.

Nice to be able to switch the crt-fx off, if you actually play on real one.

Sure, it looks a bit empty now, but drawing nice tiles before having a fun game has always been a waste of time for me since I rarely (never) finish the games. I often quit on higher level on gameplay programming, things I should have done long before getting detailed with graphics. I'm not Mega though.

Looking at your game reminds me of that 2D-stridervania I've never finished. I can imagine the character slicing some flying aliens or insects or something with a light-sword of some sort, then switch to the pulse rifle to pick off some larger enemies further away.

Do you plan to use some fixed resolution for this?

Mega 8 years, 6 months ago

At the moment it's very much fixed resolution, since GM is a bit silly with its surfaces (It loses context information on a surface every time you switch resolution, so I've got to basically write a bit of code to handle that). The 'native' res it's using is pretty much gonna stay the same, it'll just scale and letterbox.

Yeah, normally I draw a ton of tiles first and leave gameplay 'til later. But this game is somewhat simplistic, after all, its roots are this:

It's going to have some more visual variation than the original, but will probably still retain the wireframe-like environment, since that is the setting of the game. :P

@death: That's basically the system I still use for everything else, but I like segregating my code somewhat. Habit of dealing with C++ and Java, so I put things with different intent in different 'classes' of master object.

Jani_Nykanen 8 years, 6 months ago

I'd buy this game if it'll cost $70, have a lot of upcoming DLC that already exist in the game files and a lot of microtransactions that are way too expensive but without them I cannot win some totally useless farming minigame.

Or let's say I'll buy this game if it works on Linux, either natively or through Wine.

Mega 8 years, 6 months ago

Quote:
I'd buy this game if it'll cost $70, have a lot of upcoming DLC that already exist in the game files and a lot of microtransactions that are way too expensive but without them I cannot win some totally useless farming minigame.

Hey, I'm Evil, not EA. :P

EDIT: 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.

Zekian 8 years, 6 months ago

Building games "properly" isn't any fun.