Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411579 Posts in 69386 Topics- by 58445 Members - Latest Member: Mansreign

May 05, 2024, 04:15:57 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsAirgrift - 2.5D Arcade Maze Survival... I dunno
Pages: [1]
Print
Author Topic: Airgrift - 2.5D Arcade Maze Survival... I dunno  (Read 1543 times)
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« on: August 31, 2015, 12:55:18 AM »

Yo.

So, it's been awhile since I last started an actual devlog for an actual project and not just my Shakecan Games stuff. Unfortunately, I don't have time to actually finish small games quickly, so Shakecan Games is kinda no more. Any game I finish would just be a normal game and take a normal amount of time, basically. Or, they'd be really small and unpolished, so I'm back to square one, I guess.

Anyway, this is the current game I'm working on, Airgrift. I talked about it a bit in my Shakecan Games thread, but I decided to start a thread in earnest for it because it's the main project I'm working on, I plan to finish it, and it'll take awhile. All acceptable reasons!!!

The concept is pretty simple - I'm just pretty much going for Pac-man, but with a couple of twists and expansions. The concept is to update the gameplay with hazards, different characters, and structured, randomly chosen maps.

The first (and only, so far) character I have is this dashing chap:



Which, of course, looks like this in-game:



EYYYYYYYY

Haven't even thought to give him a name yet, though now I have an idea. First name's gotta be Horatio. Yeah, yeah, that'll play well in the sticks.

His car allows him to boost to outrun hazards and get around the map faster. This uses up his fuel gauge, which is in the top left corner. You can't regenerate boost through any other means than picking up fuel cans, at the moment. Other characters will have different abilities and playstyles that'll change the way you approach the gameplay.



I don't think those air particle animations should be showing in the air, but, y'know, polish later.

Randomly choosing maps to play on minimizes the time spent on my part creating maps (I can re-use old maps without too much issue, I think) and also should help me make maps more meaningfully designed, rather than just being simple mazes like Pac-man. I have a few hazards planned, but for now, I'm just getting the gameplay and structure down. It took awhile for the game to be really "fun" before its current state, which is good, I think. It's already looking kinda promising, to me, anyway.

Here's a devlog video playlist you can click on to find a "video devlog" of the game as I was playing it! There's (1) there now! Amazing!

And a screenshot of the game as it is now. Gotta improve on the graphical aspects, but it's OK for now.



Anyway, I think I'll try to write about the more technical aspects of the game as I design them. Some people seem to find that interesting, and it's better to write about some new code than nothing at all, so maybe it'll give me some motivation to continue working.

Signing off for now, though!
Logged

Moth
Level 4
****



View Profile WWW
« Reply #1 on: August 31, 2015, 09:38:30 PM »

Looks beautiful and fun! Lovely art. I feel the maze game genre is quite overlooked, so I find stuff like this really fun to see.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #2 on: September 07, 2015, 03:32:45 AM »

Yo, thanks!

So hey, there! Today, I managed to get some more done with Airgrift.



I finished the first few sprites for the first enemy, known as the Grinder. The idea is to make something simple, slow, and predictable, but also dangerous in tight corners or when you don't have room to breathe, like the ghosts from Pac-man. I think I want this to be a one-hit-kill kind of enemy, but I also think that it should be a beginner's enemy, so it can't be too hard. Perhaps a happy medium is that it will literally grind your health down gradually. So staying at high speed, boosting away, or whatever else you can do to help get away would be a fine strategy and makes them easy to avoid.. This is all tentative, of course. And yeah, I know the sprite's not perfect when it comes to perspective. Gotta pick your battles.



Anyway, I also put particle systems in when you bounce off of walls, which adds a bit of (needed) polish, I think. Not sure if I'm going to keep the "Ow.", since that might make people think they're taking damage. Maybe I'll save those particles for when the player character actually gets damaged.

The particle system itself is one of my own design. I started it months ago, and operates a bit similarly to an old particle system I wrote that was known as the X-Emitter from when I was using the BGE. The new particle system is in component form, and is just known as Emitter and Particle in my BDXHelper package. Here's some example code that sets up the emitter to work:

Code:
partEmitter = new Emitter(g); 
partEmitter.addTemplate("SmallParticleCross");
partEmitter.addTemplate("SmallParticleCross");
partEmitter.addTemplate("HitVoice");
partEmitter.spawnTime(0);
partEmitter.friction = 0.025f;
partEmitter.startingVelocity.z = 2;
partEmitter.randomVelocity.x = 2;
partEmitter.randomVelocity.y = 2;
partEmitter.colorStages.add(new Vector4f(1, 1, 1, 1));
partEmitter.colorStages.add(new Vector4f(1, 1, 1, 1));
partEmitter.colorStages.add(new Vector4f(1, 1, 1, 0));
g.components.add(partEmitter);

As you can see, the process is all rather simple, as I'm just creating a new Emitter and then customizing it to fit my needs. Pretty simple and easy to manage - even easier would be a GUI. Maybe I'll manage that later.

Anyway, in the above example, I add a template (the GameObject to spawn that represents the particle), I set up different properties like friction and velocity, and then add color stages. Color stages are basically "keyframes" of color; it starts off white, and then turns invisible.

The two "white color" vectors basically means that it stays opaque for half the particles' lives, and then fades out over the second half (from the second white color to the third, transparent vector), rather than fading over an entire second (like it would if one of those 1,1,1,1 Vectors weren't there). Anyway, it's rather simple to use, which is fun. If you want to actually catch the code that makes the particles work, it should be up to date over here.

So what else have I been really doing for the past couple of weeks? Mainly, replays.

I think I've finally gotten input-based replays working and finished for the game engine I'm working with. It's been a pain because we weren't sure the physics engine was entirely deterministic as the replays were playing out completely differently when we'd run them - sometimes it would run correctly, other times kinda close, and other times it would be horribly wrong. However, it seems like the physics are deterministic to a point (at least, the way we're running it). I think it's just a matter of where and in what state the game objects are that influences the replay's process. When I'd play the replays, the game objects weren't in the exact same positions, and I didn't start the replays on the same frames in game time as the recording started on, which means that it boils down to a different situation, even if it looks the exact same.

Anyway, I think I've sorted it out, and if so, then it'll be merged into trunk, which is cool. Attract Modes for everybody! The code's here, in case anybody wants to take a peek.

Anyway, that's about it. Thanks for reading!
Logged

EddieBytes
Level 1
*


I have ideas, and I'm not afraid to use them


View Profile
« Reply #3 on: September 07, 2015, 04:51:22 AM »

In reply to you wanting to post technical stuff, I would actually argue people are more interested in the pretty gifs (including yours truly). Unless it's some awesome, interesting, ingenious implementation of something I always wondered how it's done, or would find useful to know, then I'd be interested in code. But usually, when I browse dev logs, I just want to see pictures. Pretty colors and moving things, things like that.

That being said, I think the walls and floor need a bit more detail on them. The animations look lovely though ^__^
Logged

Check out our thread for Boltus
KaiTheSpy
Level 0
***


how to make the game


View Profile
« Reply #4 on: September 13, 2015, 12:21:18 PM »

Really like the colors in your pixel art! I saw your video and it looks like a pretty cool so far. Really excited to play!  Grin Hand Money Right I have a few dollars waiting here Grin

I also agree about what EddieBytes said about technical stuff; I like pretty gifs more than seeing code.
Logged

i am a 14 year old loser who sort of knows how to program
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #5 on: September 27, 2015, 11:08:29 PM »

Yeah, GIFs and screenshots are more appealing, but I'd guess some people prefer to look into the technical bits of a game. I guess I'll try to do both and just update the devlog when I can.

I'll have to keep going with development to be able to keep posting anything at all, after all!

___________

Today I spent some time squashing a bug in the engine, BDX, that caused the screen to look really pixellated and low-quality when a 2D shader was being used and the window was resized. I submitted a PR and hopefully it'll be appended. Hooray!

Now, though, I think I'm seeing that even the slight Bloom shader I have now is a bit too heavy on my ol' GPU, so either I'll optimize it (not really likely to happen at all), ignore it if it's only in development (and runs faster when distributed), or I have to look into implementing downsampling into BDX. I don't imagine it to be THAT difficult, but I don't know quite how it works, so Ionno.

I also got those enemies implemented and chasing the player around by using node-based pathfinding. Upside is that they're pretty persistent and move around adequately, but the downside's that it takes manual placement on a map to really have them move well enough, as they currently move too quickly to pathfind on a grid versus a "road" with nodes sparsely placed. I'll probably just tone down their movement to make them move more slowly and bring back the automatic grid-based node placement.



Bloom's a bit too heavy, too, but whatever for now.

Anyway, I guess that's it. See ya!
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #6 on: October 19, 2015, 10:51:27 PM »

Yo!

Here's another devlog video for Airgrift! In this one, I talk a bit about some new GUI stuff, some new enemies, a new camera system, and s'more stuff! Making games is fun, but it can be hard work too, haha.



^ click ^

_______

Here's a bit of a write-up that's also in the video description:

I've been working on Airgrift for a little while now, and I've implemented and added quite a bit to the game and engine it's working with (BDX). So hurray!

I've added some GUI elements - mainly the Cash counter, the portrait and name in the top-left corner, and the camera icon in the bottom-right. These elements still need to be positioned to work more in the favor of the gameplay and to be streamlined, but overall, they look nice and work well.

I've added downsampling for a smoother, more efficient bloom filter (hopefully, anyway), and a couple of enemies, as well. The enemies aren't finished as of yet, but the core ideas are definitely there and working. The Discharge slowly follows the player and fires electricity straight downwards. The strikes are periodic, but they hurt when they hit!

I also wrote that music in the background. It's not really for any project in particular, but it might work well for this game. I have, however, written some other music for Airgrift that sounds really awesome, I think, so that's something to look forward to implementing.

Thanks for watching!~
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic