Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411658 Posts in 69395 Topics- by 58451 Members - Latest Member: Monkey Nuts

May 15, 2024, 09:48:15 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCrumble, Cookie
Pages: [1]
Print
Author Topic: Crumble, Cookie  (Read 674 times)
GalacticBlimp
Level 0
*



View Profile
« on: November 19, 2016, 11:09:08 AM »


Hello peeps.

I've been working on this game for a while (about a month), and I've been wanting a place to document my progress. It helps making me feel like I'm making progress and also it might be helpful in the future if I ever wonder how I went about something. I have a lot of bulletin-points and stuff for organizing and such, but sometimes I'm just tweaking stuff or doing something that isn't really applicable to that kind of system, and a DevLog is perfect for documenting that stuff.

Pre-development / early-prototype-stage info

I've messed around with a slough of engines and frameworks. Everything from SFML (C++) to Love2D to Unity to Monogame, etc. etc.. After some while I decided to look at what my favorite games were made in, and saw that they were all made in a wide range of things, which finally made me realize that the engine doesn't mean shit. What matters is the end product and it doesn't matter what anyone thinks of the engine choice. I decided to go with GameMaker because it has a lot of resources online, it was easy to set up a proper pixel-scaling system with an internal buffer, and it's fairly fully-featured. I definitely wanted to go with an engine, not a framework, since I plan on eventually releasing this game. No use re-inventing the wheel eh.

My initial idea was to make a pseudo-3D game with camera rotation, billboarded character sprites with pseudo-3D world objects. Turned out to not be that good of an idea, since it comes with a lot of complications but not that many "pros". Pseudo-3D sprites take a lot of time to make, even if you use a voxel program to make them, and it's quite performance intensive. I threw the Pseudo-3D out the window, but kept the camera rotation.

The rotation was pretty cool, but I realized that this meant I would have to deal with sprite rotation for every angle, keeping them facing a certain way, etc. Buildings in the game would also look kinda weird. Again, it just wasn't worth it. As this is one of my first "serious" games, that I'm actually trying to release and sell in the future, I have to prioritize (I am a solo-dev).

At this point I didn't really have a great solid realistic idea for a game. I kept thinking about a story and relevant game mechanics to that story. Kind of mechanics as metaphors kind of thing. The main idea was a single-player adventure game, with a narrative. Then one day while fleshing out the prototype and getting a playable MVP up and running, I sent it to some of my friends just for fun. It's something that really helps with my motivation and reminds me of why I wanna make games. One of my friends was on Linux however, and couldn't play the game since I only have the free version of GameMaker, so my other friend told him to come over and play it at his place (They live in the same town). This sparked a lightbulb in my head and I was like AHA! That's a good idea!

So that was how I changed the game idea from a vague single-player narrative adventure into a more realistic multiplayer game. However, I still want to focus on the adventure part!

About the game

The game is gonna be divided into two main parts.

There's gonna be the shoot-outs, which will be taking place in smaller "arenas" where all the players share the same screen (zooms out to accommodate both players on the screen), then there's gonna be the adventuring parts - mainly in Hub areas (split-screen). The hub areas will be riddled with small secrets, different minigames, and different fighting arenas / game-modes that are unlocked by the player finding them.

Gameplay will involve shooting, dashing, using different items and environmental things. Nothing too complicated, but I want the basics to feel really good.

The main character in the game is Harbold. He's the last of his people and he's a real hard-boiled egg. Don't mess with him.

I have a twitter over at @GalacticBlimp where I post regular gifs and pixel art.


Screenshots / gifs



The gun-hit particle effects! Looks pretty but excessive. Gonna change both the particle effect and the amount sometime later.



Harbold is a ruthless mo'fo.  Don't mess with him.



The cursor rotates when you shoot! :D



Dash ability with change-able hue (for now)



Different types of screen-shake.
First type is to shake the entire viewport.
Second type is to shake only the FG box.
Haven't decided on which to use yet.

BONUS PICTURE:


This was one of the first prototypes. Decided to change
the artstyle. Might go back to this later, but for now the
current style works better.
« Last Edit: November 24, 2016, 04:24:03 AM by GalacticBlimp » Logged

GalacticBlimp
Level 0
*



View Profile
« Reply #1 on: November 24, 2016, 04:43:01 AM »

So I decided to bite the bullet and convert to GameMaker Studio 2!

Most my time has been spent fixing all the little quirks that come with converting a project to GMS2, and all of them aren't fixed yet.

I'm working on making another playable character right now, called Kataroll. Made a walk-cycle that I'm not happy with, not in the context of a game. It looks really smooth but too flat. I think I have to rethink how I want to present the characters. Perhaps it isn't necessary to use 4-directional sprites... Maybe I should go the Nuclear Throne or Gungeon route, with only facing-camera / not-facing camera (in Gungeons case) or just ONE direction like in Nuclear Throne... Not decided yet.


The side animation looks a bit flat... A bit too 2D? The game is kind-of a bird-eye perspective or at least a bit top-down so it looks weird having it walk so flatly 2D, if that makes sense. A WIP.

Another problem I noticed and started working on was the slowdowns. The reason I even start to touch it now is that performance dipped below 60 FPS at one point. I think I've solved it however. It occurred when the enemy was in the "get-hit" state or "dead" state. Reason being the collision boxes being diamonds (doh). I also revamped the bullet collision code. I'm considering moving the collision detection code from the bullets to the objects getting hit (obj_hittable parent object). We'll see.

Works better now at least.
Logged

GalacticBlimp
Level 0
*



View Profile
« Reply #2 on: November 30, 2016, 05:56:50 AM »

I've been wrestling with the GMS2 transition. Lots of peculiar bugs happening. One of which is the depth sorting of some things. Most noticeably the gun. Here's how it looks:


So when I walk down, the gun disappears. When I walk up, the gun flickers behind and above the player. When I walk up and down the enemies flicker as well. This didn't happen in the GMS1.4 version. After sorting these and a few other bugs out, I'm gonna start adding new stuff again.


AHA!
Upon further researching, it seems like GMS2 has removed depth from objects. This means I have to implement depth sorting myself. Hmmm...


Logged

GalacticBlimp
Level 0
*



View Profile
« Reply #3 on: December 01, 2016, 06:27:44 AM »

Ah! Finally!

At first I decided to use YoYo games "official" fix, which is to create a nestled ds_list where every y-PIXEL(!) contains an array with instances in it at that y-coordinate, then draw everything in order. It does this for the entire room. I was NOT pleased with the performance.

After some research I found out about Ariak (from the GM forums) solution to this, which is actually quite genius. First of all, it only depth-sorts instances in the view frame (since I disable instances outside of it). Second of all, it sorts everything in one datastructure, through a binary list!

I highly recommend reading the entire in-depth forum post here. It has some juicy data graphing as well!

This method is only faster when there are less than about 100-200 instances to sort. This is the case with my game for now, and I probably won't have more. Now I can start working on other stuff, yay!

Bonus funny bug gif:
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic