Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411428 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 01:00:54 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsGODHOOD - A rhythm hack'n'slash - On Hiatus
Pages: [1] 2 3 ... 5
Print
Author Topic: GODHOOD - A rhythm hack'n'slash - On Hiatus  (Read 12170 times)
GekidoRising
Level 1
*



View Profile WWW
« on: March 26, 2015, 05:37:09 PM »


Poster credit: Chu









Playable Alpha:
https://forums.tigsource.com/index.php?topic=54571.0

Itch.io:
https://gekidorising.itch.io/godhood

IndieDB:
http://www.indiedb.com/games/godhood



About:
GODHOOD is a rhythm hack-n-slash following Riff, a writer who's doing everything he can to soothe his creation come to life, Avadra, a draconic deity set upon showing this newly discovered world of hers what it really means to be a god.

The gameplay revolves around attacking enemies to the rhythm and the beat of the music in order to build up flow and intensity, unleashing massive explosive attacks on down beats to defeat hordes of enemies in a single blow. Players can switch between rhythms depending on the given situation and can even defy the rhythm if the moment demands it, but true power lies within the explosive attacks and to perform them, you need to keep your cool.



Recently Added Features:

THE DRAGON SUMMONETH!



Dramatic Slowmo!

High Resolution!

New Explosions!







Music:

Music for the first level of the game will be provided by Craig S. Barnes! Check out his music here!



Gallery:



GODHOOD: The web comic
(click for archive!)




Bio:
Hi! My name is Nick and I am the sole developer behind GODHOOD. I am currently acting as the programmer as well as the artist. I have a little over five years experience with programming and three years experience with drawing. Apart from an internship at a business incubator as well as a quick contract with a local indie dev company, I currently have no experience in the industry. All of my programming knowledge comes from university and all of my drawing experience is self taught.

When I started production on FIRE2D, the graphics engine that powers GODHOOD, I decided from the very start that I wanted to record all of the progress I had made, mostly so that I could just reflect on how I approached certain things back then and what sort of effect going indie had on me. If you're interested in watching some of these videos, you can check out my channel at GekidoRising on youtube.

This is the first time I've gone public with my channel as, up until this point, I've mostly been keeping these as a sort of self reflection (with the idea that I would eventually go public, ie, now) so the videos remain relatively unviewed which I am perfectly okay with. I absolutely look forward to seeing what other people think of development logs and, more importantly, the game itself!

GODHOOD is programmed in C++ and is based upon the FIRE2D graphics engine, an engine I created in anticipation for creating games with highly dynamic 2D sprites. FIRE2D is also programmed in C++ based upon GLFW 3.0!



Development logs:

Most Recent:





Previous:

[EP#1] It Begins
[EP#2] Frames and Moves
[EP#3] Character
[EP#4] Collision
[EP#5] Hit Detection
[EP#6] Sound <---(new mic starts here)
[EP#7] Post-announcement and Loading
[EP#8] Rhythm: First Beat
[EP#9] BPM Sync and Concept Art
[EP#10] The Rhythm Bar
[EP#11] Finalizing Rhythm
[EP#12] Odds and Ends
[EP#13] Meter and Stage
[EP#14] Menu and Stage Editor
[EP#15] Cutscene
[EP#16] Artificial Intelligence
[EP#17] Explosion
[EP#18] Initiate Game Phase
[EP#19] Boom
[EP#20] From the Ground Up
[EP#21] First Playable
[EP#22] First Screenshotable
[EP#23] Blown Away
[EP#24] Story Time
[EP#25] Depth
[EP#26] Dramatic



Finally, I know it's extremely cheesy, but I can't help but finally append that I'm absolutely thrilled to finally be talking about my game in public and that no matter what anyone says here, I am extremely excited to hear about it. I would love to hear what you have to say, negative or positive!

Thank you so much for taking a look C:
« Last Edit: June 02, 2016, 03:07:36 PM by GekidoRising » Logged
Plaguebringer
Level 0
*


View Profile
« Reply #1 on: March 27, 2015, 12:00:51 AM »

I like the concept of executing moves to the rhythm of the songs played. I used to do that in some games, even though I wasn't awarded with anything - just executing my moves to the background music. It seems like it has a lot of potential to be a fun game. Good luck with the development. Smiley
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #2 on: March 27, 2015, 09:55:54 AM »

Thanks, Plaguebringer! It certainly does feel a lot more stylish being able to time your actions in accordance to a fun beat instead of just desperately mashing attacks. This sort of stylishness is exactly the essence I'm trying to go for!



EDIT:
Hey, it's Nick from the future! It's been one year since I've drawn the references below, and since I only have four years of drawing experience(at the time of writing), it makes a pretty significant difference! I'm writing this edit to say that exactly one year later, I've done brand new references and the following two are now outdated.

You can view the brand new references right here!

Continue on to the old ones if you dare!


Character Refs

Riff



  • 22 years old
  • Inexperienced writer/cosplayer
  • Mostly keeps to himself
  • Lives in a single bedroom apartment by himself
  • Works in a fabric store, from which he gets his supplies to support his cosplaying hobby
  • Is writing a book about a realm of gods, starring Avadra, a rebellious deity
  • Doesn't really think things all the way through
  • Can't really lie very well

Avadra



  • Explosive both behaviorally and physically
  • Can summon shadowy monsters called Wills
  • Has a great dislike for anyone more powerful then her
  • Believes that a proper god show live among their people instead of staying hidden
  • Reciprocates the behavior of those less powerful then her (Hates those who hate her, loves those who love her)



It's worth noting that while most aspects of the characters are pretty set, pretty much everything here is subject to change, be it description, design and (hopefully) quality of art!

On a quick note about that, while I have been drawing for about three years, Riff is the first human I've ever tried to draw properly (as, up until this point, I've pretty much only drawn monsters) so I really only have two weeks experience with drawing humans which is why he may come off as a little wonky. Even then, Avadra may look a little off in spots too, but now that I have visual refs for both characters, I should be much more able to draw them consistently in the coming months as I work on the game!

Speaking of which, now that I have finally done up full references for both of these characters, it means that I can finally return to the game engine! Despite the fact that I said that I can get started on game specific mechanics now, I decided that, due to the recent implementation of being able to load large amounts of characters, it's time that I implement:

Levels and Level Loading!
Simply put, levels would encapsulate everything that you would want to load for a given level, be it characters, stages, cutscenes as well as rules for each level. It's immediate implementation (for next episode) will feature converting the initialization of the game from hard code to a file that's loaded on a thread, allowing for a loading bar(with debug information too)!

It being Friday, and being rather burnt out from the 13 hour day I put in yesterday, I'm ready to kick back a bit for the weekend, but I look forward to getting started on the engine again this Monday! C:
« Last Edit: March 15, 2016, 05:07:16 PM by GekidoRising » Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #3 on: April 15, 2015, 11:51:39 AM »

New video!


This episode came out a little longer then I was expecting, but today, we do some ultra meta discussion about announcing the game which has become even more meta now that I'm mentioning this video which mentions this thread which mentions other videos. We also discuss some unposted concept art and small changes that were made to the engine in the mean time.

After that, we get started on a feature that I've always wanted to try and implement; a loading bar(and the associated asynchronous loading)!



Man, I gotta say, OpenGL contexts are probably one of the biggest carrots-on-a-stick that I've ever seen in the sense that you're always one bug away from having a good implementation and fixing that bug requires you to completely change that implementation. I got it working in the end though and I almost feel the need to make a tutorial on it seeing as all the solutions I found for each of the bugs I had were pretty much completely separate from each other.

That said, I'm happy that I have my cute little loading bar now and I can't help but feel that it'll come in handy at some point in the future, but what I'm really looking forward to is the next mechanic I add to the game.

Up until this point, I have been working on pretty general things that are mostly in common in all 2D games, but now that I have my game announced and out there, it's finally time to get started on the core mechanic of the game!

It is finally time to get our rhythm on!

Next episode will document the implementation of what I'm referring to as The Beat Master (somewhat humorously) which will accept the player's input and return a value based on how close they were to a beat and what kind of beat they pressed their input on (quarter note, half note, eighth note, etc). Before we get knee deep in it though, I have to sort out some music to actually code the beat master too. To keep things neutral, I may just grab some drum sound effects and arrange something super quick in audacity as I am, unfortunately, no musician. If I can find something completely royalty free online though, I might use that.

While I'm looking for/creating music, I'll probably dabble a little bit more into concept art which could be another thing I feature in the next episode as well!
Logged
marcgfx
Level 8
***


if you don't comment, who will?


View Profile WWW
« Reply #4 on: April 15, 2015, 12:01:30 PM »

I clicked to watch the video, saw it was 40min and left again. I like the look of your characters and would be interested in seeing what you have achieved in about 2min or less Wink
Logged

GekidoRising
Level 1
*



View Profile WWW
« Reply #5 on: April 15, 2015, 12:18:45 PM »

That's cool! As I was writing out that post, I was considering whether or not I should be doing a highlight reel sort of thing on the side. This is a good confirmation of that lol

Seeing as time is short at the moment, it would be a little tough to retroactively create an abridged version of everything I've done so far, but it does indeed seem silly that I'm completely relying on my Lets Program to convey all of the updates I've done. During it's production, I was also wondering if I should just be posting frequent but very quick posts about what I've changed as I'm changing them so now is as good a time as ever to start I suppose!

In other words, thanks Marc, I needed that, haha.

« Last Edit: April 15, 2015, 12:24:02 PM by GekidoRising » Logged
TinyAngryCrab
Level 0
**


o


View Profile
« Reply #6 on: April 15, 2015, 12:24:31 PM »

So if you were breaking down what the DOPE SHIT you can do with your engine is - what would it be? What does your engine do exceptionally well?
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #7 on: April 16, 2015, 01:14:18 PM »

That's actually also a good question, considering the fact that I don't really have anything present on my first post at the moment that describes the actual engine itself apart from my videos. With that in mind, I've gone ahead and updated the OP with several gifs to show what I've recently added.

Seeing as I'm most likely going to be updating the OP with new gifs as I program the engine, I'll mirror what I've posted above right here for future reference!



Edit:
Hey, it's me from five months in the future. Since I've removed the message from the original post now that I'm phasing out all the placeholder art, I'll post it here instead. During the development of the game engine for this game, I wanted to focus on coding, so I decided to forego drawing the main characters and instead, opted to draw extremely simple placeholder characters instead.

Their names are Waki and Smunch.




Hit detection:


Pretty much one of the very first things I implemented into the engine once I got started on it apart from the characters themselves. A staple of any hack'n'slash!



Collision:


With hit detection down, I felt it was time to move onto collision. I had a simple rule set for it:

A)I should be able to specify which characters collide with which based on team (Player, Enemy, Neutral, etc).
B)Characters should collide at the sides and push each other based on their weight
C)Characters cannot stand on other characters and are shifted to the side, akin to how most fighting games handle it.

To get the system where I have it now took a loooooot of work. I knew collision was going to be bad going in but damn, there were some absolute monster bugs making this work. Even when I thought I had it finished, I had cases where characters would intersect with each other or the level and explode out of each other, sending the whole environment into chaos as characters bounce off each other and push each other around.

After about a month of work, I finally got it to where it is now where the only bugs are characters bouncing off each other a bit (or occasionally phasing through each other if you turn the physics accuracy down) if you smoosh them into a multi layered sandwich against a wall which is a small price to pay if you ask me! Overall, I'm proud of where I've gotten it and I fear the day that I have to change it because I know it's coming.



Asynchrounous Loading (loading 100 Wakis and 100 Smunches):


This is what I spent the past few weeks working and is the most recently completed feature! I'm pretty sure I talked about this only a few posts ago, but in short, I'm using threading in combination with multiple shared OpenGL contexts in order to load all of my assets on a separate thread. This way, I get to have a loading bar which I've always wanted!

My roommate's occasionally pointed out to me that loading bars seem to have gone out of style and I find this prospect rather strange but still true. Even then, I still wanted one for my game, because I'm always fascinated to see where the load times choke at!



If anyone is curious to try out these changes(except for the loading bar) then I'd like to direct you to The FIRE2D Tech Demo which also features a quick demo of the engine itself!

FIRE2D itself is pretty standard seeing as I was the sole developer of it. I'd say my proudest features of it would have to be the recursive particle effects, the data driven post processing and my personal favorite:

The Alpha Based Particle Emission:
« Last Edit: September 09, 2015, 01:53:46 PM by GekidoRising » Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #8 on: April 30, 2015, 06:31:41 AM »

So, after distracting myself with doing a bit of drawing, I managed to get a pretty basic implementation of the game's rhythm mechanic up and running. Here's a quick demonstration:



Now obviously, for a rhythm game, a gif doesn't really cut it so heres a Quick video with sound!

Also, here's the sound itself

Essentially, when the square turns green, a beat occurs. Each square is bound by a different rhythm. The first square is bound to the underlying beat which is just straight 8th notes, while the second square is bound to the melody which is the heavier drum beat. The third square is both of the first and second square combined and is basically representative of how often the player has an opportunity to perform an attack with perfect timing (although it is very unlikely that a player can simultaneously follow every single rhythm in the song at the same time)

Also, perfect isn't the only timing the player can get when they're trying to line up attacks with beats. Right now, I have it set up in a DDR style where you can get Perfect, Great, Good, Bad and just straight up MISS (not even gonna bother with MARVELOUS). I'm not entirely sure if I'm going to use all five of those, but I thought it would be nice to at least give myself a lot of options starting out. It's pretty cool though, originally, I had the squares light up a different color depending on how close its timing was to the beat and it came out like this:



The purpose of these squares was less to be a final feature in the game and more just a generic test to see if the rhythm worked at all. For the future, I have different, much more scribbly plans. For now though, I'm happy that everything lines up!

Next up on the menu is quickly prototyping the rhythm mechanic with Waki to see how it feels to actually attack an enemy to the rhythm! I'm really looking forward to finally testing it out!
« Last Edit: April 30, 2015, 07:20:34 AM by GekidoRising » Logged
zilluss
Level 1
*



View Profile
« Reply #9 on: April 30, 2015, 07:40:59 AM »

Just the other day I thought: It would be cool to have an action game that awards you for syncing actions with the beat. I'm really hyped!

I don't quite understand the square representation in the video. If I understood correctly, the left square should blink continuously, like the sound of the cymbal beat, or is it only blinking only when you press a button?
Logged

@zilluss | Devlog  Hand Point Right
GekidoRising
Level 1
*



View Profile WWW
« Reply #10 on: April 30, 2015, 08:14:55 AM »

The left square is indeed flashing with the cymbal beat! I'm not actually pushing any buttons in the video.

Earlier, I did have it with pushing buttons and just had it print "PERFECT" or "good" or whatever to the in game console, but I didn't think it would convey rhythm so well into gif form haha
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #11 on: May 01, 2015, 08:43:38 AM »

Well, I had an interesting morning! I got the rhythm mechanic implemented into the character so that their attacks are now bound to the beat! Here's a quick demonstration:



It was actually very interesting to finally have the rhythm mechanic in place as I came to some interesting realizations. The biggest finding I came across was the fact that this mechanic was NOT easy to play with at first. Right now I have it so that you can only attack if you're (kind of) close to the beat which is not the same as how it's going to work in the final product, but regardless, I had a lot of trouble getting out more then a few hits, let alone following a rhythm, but only at first! After I got some practice playing with the mechanic, plus after making a few adjustments to the volume of other sounds, I was able to get into a groove and I'm now able to reliably follow either of the rhythms!

It feels really cool that not only do I have something I can play, but I actually already managed to have something I can LEARN to play too! It is actually quite the cool feeling! :D

I also learned that using the space bar on a mechanical keyboard for attacking in a game where you need to be tight with the rhythm is a very noisy endeavor!

Anyway, I also finished off the next episode and all I need to do now is edit it and then post it to youtube! I think I might just do that later though, and instead, work on doing some drawing practice and concepts for now C:
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #12 on: May 04, 2015, 07:21:33 AM »

New GODHOOD development episode is up!



In this episode, we go over several excerpts of the development of the rhythm mechanic including the development of The Beat Master, the creation of the beat file as well as basic prototype of how rhythm mechanics work with characters.

I know it may seem extremely dorky how excited I am by the end, but it genuinely feels so good to finally be able to play my game in a small sense! Again, I'm aware that I probably should have had a prototype for this a long time ago, but hey, what can you do?

Also, I've decided that I indeed still want to do these videos as, even for myself, it's fun to just look back and see the bugs I encountered and stuff, BUT I'm still definitely looking into doing recap/highlight videos! I'm not sure if the quick videos I've posted so far are sufficient or if I should be doing quick post commentary videos akin to the Wolfire Overgrowth updates, or perhaps I could do live commentary demonstrations. Either way, I'll figure out something eventually. Perhaps switching it up every so often might work too!

Anyway, I digress. Next up on the menu is (probably) implementing the rest of the rhythm character into the mechanic, plus doing a little bit of concept art in the way since I'm in a huge drawing mood right now too!

Logged
Chris MacAdam
Level 2
**



View Profile
« Reply #13 on: May 04, 2015, 10:27:17 AM »

Hey man this game looks cool! I like the video of the attacks syncing up. Im checking out the longer dev video you posted too.
But I could see some real cool stuff coming out of this. I would like to see lots of different song/genre types in a game like this too.
Logged

GekidoRising
Level 1
*



View Profile WWW
« Reply #14 on: May 15, 2015, 11:29:43 AM »

Hey, thanks Chris! On the note of varying song genres, I think it would be cool if the soundtrack explored various styles as well, but at this moment in time, I can't really say I have a soundtrack plan set in stone! How I'm going to acquire the music assets is actually something I've been meaning to discuss in this log, but I think I might just wait until a later post when I have things a little more figured out!



I've been progressing with the rhythm mechanic at an okay pace, I've got a mechanic implemented that syncs all character's animations with the bpm of the song so that all movements (idle bopping up and down, footsteps) take place to the beat! Here's a somewhat slapped together GIF of it:



I would have recorded it so you can see them moving to the music but unfortunately, the system is not perfect yet. One weakness of my engine at the moment is that it is completely frame dependent and as soon as the game stops running at 60fps, the animations desync which may cause problems down the road because attacks currently use the same bpm length adjustment system. I may just have to switch over to a frame independent setup in the future which may have a few oddities of its own but I'm sure it would be safer then my current system.

Despite that, I have somewhat had a dip lately in my programming productivity in favor of having a huge boost in drawing productivity. Unfortunately, I have a very bad habit of using my drawing time to draw basically whatever I feel like, regardless of its relevance to the game. I always told me self that even if I wasn't directly contributing to the game though, no matter what I'm drawing, it will always be good practice in the end!

And surprisingly enough, it actually was good practice! Recently, I decided that I had done enough leisure drawing as I call it, and that it was time to actually do some concept art! So, I decided that after having drawn Riff and Avadra, it was time to move onto the next most prominently featured characters, The Wills!


(Click for dA)

All in all, these five doodles came out much quicker then Avadra and Riff's references! You could argue that their design is also much simpler, I suppose, but even then, I had enough time to do soft shading on two of the Ways and still be quicker!

The moral of the story I'm getting at here is if there's anyone reading this who feels that drawing irrelevant fun stuff isn't productive, I'm here to say that it most certainly is!

ANYWAY, The Wills and Ways! To copy paste from dA:

The Ways are the most basic form of Wills, which are a large variety of beings that can be summoned by Avadra! Simply put, Wills are short term summons created for the sole purpose of fulfilling a duty specified by the summoner. While they can be created as deep, complex creatures, Ways are much simpler then that. Often summoned for either simple tasks or purposes that require numbers, Ways are not very intelligent or sophisticated wills...

but they get the job done!

p.s. I didn't originally mean for the Ways to be adorable but they turned out adorable and I like them that way and I want one :C
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #15 on: May 19, 2015, 12:06:23 PM »

New episode up!



This shorter episode is a quick overview of the implementation of the BPM synchronization system, which syncs character's animations up with the beat of the song allowing me to port over the same character to different songs and still have all of their animations line up! Unfortunately, I run into a few optimization problems along the way so that kind of throws a wrench into progression. Near the end, there's also a quick time lapse of the concept art I drew in the last post for the Ways. I also spend an inordinate amount of time this episode talking about how I'm spending too much time drawing!

Next up, I'll be working on the rhythm bar! Here it is again from a link a few posts ago:



Similar to what you would find in DDR or Guitar Hero, I plan to implement a rhythm bar which basically provides a visual guide to players in case they don't know the song! The rhythm the player is currently following (based on their button presses) is highlighted so that the player can more easily see. As there is no system which FORCES the player to perform attacks to the beat, this feature is more of a visual aide then it is a written-in-stone set of button inputs and thus, it can be turned off if you know the song that's playing!
Logged
Superb Joe
Level 10
*****



View Profile
« Reply #16 on: May 19, 2015, 01:23:33 PM »

it's a shame that gekido advance totally sucked shit even though it looked and sounded really good. anyway good luck with your game.
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #17 on: May 19, 2015, 02:03:45 PM »

To be honest, I never actually played it. I remember it popping up when I was searching up this name though and I thought it would be obscure enough that not many people would make an association. Guess I know why it's obscure now, haha

Only reason I have this name is because I was looking for a name for a character of mine so I was just punching words into google translate and Gekido came up for "rage" in Japanese.

P.s. thanks!
Logged
Superb Joe
Level 10
*****



View Profile
« Reply #18 on: May 20, 2015, 03:21:40 AM »

that's exactly how the italians or whoever made gekido named their game too. some general advice i have is to speak languages you know instead of ones you don't. has served me quite well.
Logged
GekidoRising
Level 1
*



View Profile WWW
« Reply #19 on: May 21, 2015, 03:08:31 PM »

Awesome, I will keep this advice in mind for my language speaking endeavors Hand Thumbs Up Right



I got the first half of the rhythm bar done!



A quick explanation, the red line is the current time the music is at, and thus, is the point where you would make your inputs. The line dividing the center is the division between the two rhythms (the cymbals and the melody), and the line that's moving is the point where the music loops. Once I implement the ability to transition from one music clip to another into the BeatMaster (lame name I know but I couldn't resist calling it that when I thought of it), the Rhythm Bar is already outfitted to handle that too!

It doesn't look like much right now because it's sort of missing the most important half; the actual beats that you're supposed to be trying to follow. I already have it half coded at this point so I should have a basic but functional rhythm bar up and running either tomorrow or tonight if I feel like it.
Logged
Pages: [1] 2 3 ... 5
Print
Jump to:  

Theme orange-lt created by panic