Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411196 Posts in 69314 Topics- by 58380 Members - Latest Member: feakk

March 18, 2024, 11:29:59 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsChompston - A procedural musical Pac-Man/Bomberman mashup
Pages: [1] 2 3
Print
Author Topic: Chompston - A procedural musical Pac-Man/Bomberman mashup  (Read 11997 times)
chris_b
Level 1
*


View Profile WWW
« on: November 17, 2012, 02:51:15 PM »

A single screen dot-eating game with randomly generated levels. Eating dots and other events will trigger musical sounds in time to the background music.

Bomberman-style bombs will be your main defense against enemies, but there won't be destructible walls - so instead of getting power-ups from destroyed blocks you'll get them from defeating enemies.

This will be a small and simple game just to test out some ideas - but I figured posting a devlog here will maybe help me stay motivated enough to actually see it through to completion.


Update Jan 22 : Finished for now, please let me know if there's any bugs.



Download: chompston.zip
« Last Edit: January 22, 2013, 05:49:23 PM by chris_b » Logged
Impossible Realms
Level 2
**

Lurks in Pre-Alpha


View Profile
« Reply #1 on: November 17, 2012, 03:50:42 PM »

Sounds like an interesting concept. It would probably be really fun if properly pulled off. I hope its not too long before you show some more of this.
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #2 on: November 18, 2012, 08:16:35 AM »



A maze and some dots. The color of the dots is based on the distance from the start point.
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #3 on: November 18, 2012, 05:28:56 PM »


A bomb and an explosion Smiley

Making a bunch of tiles for the explosions and implementing a bit of code for chain reactions and to link up the explosion graphics nicely took way longer than I would've hoped - but progress is progress, so it's all good.
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #4 on: November 18, 2012, 06:13:44 PM »

I like the simple style, and the idea sounds pretty good.
Logged

DrunkDevs
Level 1
*


Drink beer and make games


View Profile WWW
« Reply #5 on: November 18, 2012, 09:14:23 PM »

This sounds like an awesome idea and I wish you all the luck in the world. Timing gameplay with music can be quite the difficult task but I can think of one game that did it dynamically in a way that might help you. The game I am talking about is Groov for Xbox Live Indie.



To keep the game going to the rhythm they would match the speed of the ships blaster to the rhythm of the song, and the timing of enemy explosions with another tempo. You could do something similar with your game, changing the player speed to affect the rhythm and the enemy speed, and bombs timing to match up with other rhythms. I don’t know if any of that helps, but I can’t wait to see what you come up with.
Logged

Want more Drunk Devs?
DrunkDevs.com / Facebook / Twitter

Current Devlog:
Kegbot
chris_b
Level 1
*


View Profile WWW
« Reply #6 on: November 19, 2012, 04:33:00 PM »

The music side of things will work in a similar way to Groov - but to keep things simple I'm not going to be changing the player speed, so the tempo of the music will be always be fixed and relative to a 60 FPS framerate, with the time taken to move one block corresponding to a quarter of a beat - ie. if the player moves one block every 6 frames the tempo will be 150 BPM.
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #7 on: November 21, 2012, 03:52:41 PM »



A player sprite Smiley Movement is a bit faster and smoother in-game.
Logged
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #8 on: November 21, 2012, 04:02:48 PM »

hey this could be pretty darn sweet, good luck
Logged

Code_Assassin
Level 5
*****


freedom


View Profile
« Reply #9 on: November 21, 2012, 04:20:54 PM »

Nice player animation  Hand Thumbs Up Right
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #10 on: November 22, 2012, 09:04:22 PM »

Added some parameters to my maze generation function - now I can vary the levels with a bit of predictability by calling BuildMap(spawners, minimum_distance, maximum_distance).

This produces a maze by starting with a number of randomly placed spawners, from which builders carve tunnels for a random number of blocks before turning, keeping going until they hit an existing tunnel. Here's some examples:








Also got the basics of the audio side of things in place using Bass after a bit of head scratching: no problem getting everything working perfectly except for occasional random "invalid memory addess" crashes when using a callback function to play samples in sync with events in the xm module music... solved by disabling PureBasic's debugger Lips Sealed
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #11 on: November 23, 2012, 10:13:37 AM »

That's cool. There's a lot of different ways to do randomly-generated areas - your way sounds pretty solid. Good to solve bugs that pop up occasionally, as well.
Logged

impulse9
Guest
« Reply #12 on: November 23, 2012, 11:43:09 AM »



Awesome.
Logged
poe
Guest
« Reply #13 on: November 23, 2012, 11:59:52 AM »

This looks awesome, can't wait to see more.
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #14 on: December 05, 2012, 08:33:37 PM »

Nothing new to show in terms of gameplay yet, but I've done a bit more work on audio stuff - the timing of sounds wasn't satisfactory so I coded a software mixer to ensure everything syncs up perfectly. Also I made a little tool for editing sample groups and previewing them with a background music:



Here's a video showing a test music and sound effects:

Logged
RichVreeland
Guest
« Reply #15 on: December 06, 2012, 12:22:34 AM »

This is really neat so far! The possibilities are so broad, it's pretty exciting to see where this goes, especially as you add more elements.

 Gomez
Logged
Forstride
Level 2
**



View Profile
« Reply #16 on: December 06, 2012, 12:29:51 AM »

I really like how the bombs were incorporated into the music.  Looking forward to more.  Smiley
Logged

oyog
Level 7
**



View Profile WWW
« Reply #17 on: December 06, 2012, 03:29:14 PM »

I just wanna jam to this forever.
Logged
happymonster
Level 10
*****



View Profile WWW
« Reply #18 on: December 06, 2012, 03:47:19 PM »

The way the sound effects incorporates into the music is really good! Smiley
Logged
chris_b
Level 1
*


View Profile WWW
« Reply #19 on: December 14, 2012, 05:00:12 PM »

Added some monsters. Took some time experimenting with different styles but I couldn't really make them look good and fit with the style of the player with my limited pixelling skills, so resorted to making them blocks as well:



Pretty much all of the game logic is now in place and monsters move in the way I'd planned -  ie. keep going if in a corridor, don't double back on themselves at a junction.

Still not 100% sure if I wan't the bombs to be unpassable (like in Bomberman) or not. Either way is a massive change to the gameplay and I'm not sure which I prefer.

Regarding coding - I often find myself tinkering around with little 'optimizations', usually at the expense of readability. For example, I decided to bake the available exits from a tile into my collision map (a two-dimensional array) instead of just having '1' where there's a wall and '0' where there isn't.

So instead of this:

Code:
11111
10001
10111
11111

I'm doing this:

Code:
00000
06A80
01000
00000

Where the first bit means I can move up, the second right, etc. Any possible performance benefits of this system are completely inconsequential for this type of game because there's never going to be many checks per game loop - but maybe I'll have a use for the idea in the future?

As for music - I'm not sure what's the best way to incorporate different tunes into the game. For the time being I'll probably go with an Outrun-style song selection at the start of a game, then just stick with the same tune throughout.
Logged
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic