[WIP]BeatFever Mania ~ osu! Engine reimplementation

Show off your games, demos and other (playable) creations.
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Davidobot »

Sulunia wrote: Pendulum - The island[Absolution] Top score: 10.563.300
I call hax, even the autoplay only topped out at 4.547.400.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

Yea... I've been debugging sliders for a few days already, with no avail yet. So, as soon as i have anything, i'll edit this post!

@edit
Sort of works. The osu! file format wiki reference does not mention that inherited timing points beatLenght value should be used to calculate new slider speeds. :death:
But, i'll have to rewrite the parser once again, ot at least the hitObject parsing section. *sigh*
Stil, it's guaranteed to work after that. :awesome:

@edit2
Sliders work. I will implement minor changes and put a new version here
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

Latest version of BeatFever is now on the main post.

Additions include full slider support and ingame optimizations. Probably the next version will feature another selection screen ui revamp and more ingame UI additions, maybe even a simple stat screen after you finish playing a song.
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Davidobot »

Great work! How did you manage to fix the timing problems with the sliders?

EDIT: I have a suggestion - let BeatFever Mania parse the songs folder for any .osu files and then unzip them automatically, I think this would help speed up mass-installation of songs.

CHALLENGE: I got 100% on Giga - -BWW SCREAM- [Normal] with a score of 5,566,100.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

Davidobot wrote:Great work! How did you manage to fix the timing problems with the sliders?

EDIT: I have a suggestion - let BeatFever Mania parse the songs folder for any .osu files and then unzip them automatically, I think this would help speed up mass-installation of songs.

CHALLENGE: I got 100% on Giga - -BWW SCREAM- [Normal] with a score of 5,566,100.
Slider speeds can be changed by inherited timing points without affecting the song BPM setting. I simply didn't know about this. Implementing dynamic slider speed calculations pretty much fixed it.
Then, once i got the sliderSpeed working, implementing the slider repetitions was easy.

Concerning the songs folder, this is exactly what i had in mind. However, i think that would only be useful if the game was running on some other platform like raspberry pi... Hmm
But i like the idea.
I think the difficulty grouping in the selection screen will come first though. ^^

@edit
A bit more of playtesting has revealed i may not have completely got rid of the slider problems though. I'll investigate more.
Also, slider repetition hitcircles are being added twice for middle sections. I thought i had checked to avoid such thing, but i guess i was wrong. It's not crucial though. :ehem:
By slider problems, refer to "toby fox - Hopes and Dreams[Hard]"

@edit2
Figured out what is wrong with some sliders. Everytime the BPM is reassigned, sliderVelocity bounces back to 1 until a new inherited timing point becomes active. I'll be fixing this and updating the main post.
....Or so i thought. Bouncing the values back to 1 doesn't fix it. What could possibly be wrong then? :shock:
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

New version is up!

I took a break for a while, since, you know, overwatch and stuff, but here is a "preview" version of what's coming.

The god forsaken main theme is almost finished, needs final mixing though. Next update is coming soon, which will feature it.

Now the ingame looks more colorful and alive, with partial kiai time effects and combo colors!

Image
Two different colors? WAT'S THIS MADNESS

Finally, some minor bits we're tweaked, such as an experimental scalable difficulty!
The more notes you hit in a row, the faster they fall!
You can now know your precision, as represented by the percentage up in the corner aswell.

Last, everything runs at 60 FPS for now, and i would appreciate if you felas could test out and say if there is a weird stuttering ingame or in any game screen at all. I seen to be facing this on the computer i currently work on. The computer in itself is a potato, but it should run the game easily as far as my knowledge goes. So, feedback please!

Score: 67.221.200 Precision: 99.86% @ Electric Angel [P A N'S Hard]
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Davidobot »

Pst... As soon as I launched the game, it errored -

Code: Select all

Error
modules/extrenals/lovedebug.lua:114: Maximum stack depth reached (more pushes than pops?)

Traceback:
[C]: in function 'push'
modules/externals/lovedebug.lua:114: in function 'onTop'
modules/externals/lovedebug.lua:806: in function <modules/externals/lovedebug.lua:647>
[C}; in function 'xpcall'
EDIT: to clarify: this was when I downloaded the version from github. The version in the OP is good.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

Davidobot wrote:Pst... As soon as I launched the game, it errored -

Code: Select all

Error
modules/extrenals/lovedebug.lua:114: Maximum stack depth reached (more pushes than pops?)

Traceback:
[C]: in function 'push'
modules/externals/lovedebug.lua:114: in function 'onTop'
modules/externals/lovedebug.lua:806: in function <modules/externals/lovedebug.lua:647>
[C}; in function 'xpcall'
EDIT: to clarify: this was when I downloaded the version from github. The version in the OP is good.
Oops. This is what happens when you use "upload files" instead of a real goddamn git client. Either way, the github version is exactly the same one that is in the main post, so use that one and you'll be good.
Still, thanks, for pointing that out.

Also, did you face any stuttering at all ingame? I'm starting to grow paranoid here. :shock:
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Davidobot »

Sulunia wrote: Also, did you face any stuttering at all ingame? I'm starting to grow paranoid here. :shock:
I think I might be getting some weird "stutter" I guess.. It could be just my eyes playing tricks on me, but sometimes, quite rarely, the notes seem to jitter a bit when falling down. Maybe I'm crazy tho :crazy:
Also, don't you think you should scale the number of small fruit between big fruit to increase as the distance increases, instead of having a set number between them?
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Sulunia
Party member
Posts: 203
Joined: Tue Mar 22, 2016 1:10 pm
Location: SRS, Brazil

Re: [WIP]BeatFever Mania ~ osu! Engine reimplementation

Post by Sulunia »

Davidobot wrote:
Sulunia wrote: Also, did you face any stuttering at all ingame? I'm starting to grow paranoid here. :shock:
I think I might be getting some weird "stutter" I guess.. It could be just my eyes playing tricks on me, but sometimes, quite rarely, the notes seem to jitter a bit when falling down. Maybe I'm crazy tho :crazy:
Also, don't you think you should scale the number of small fruit between big fruit to increase as the distance increases, instead of having a set number between them?
If you "think" there is stuttering then worry not, there isn't. :monocle:
What i'm talking about is general gameplay stutter, something very quite perceptible which for some reason does not trigger FPS fluctuations or frame processing delta times.
The ocasional note jittery is because the interpolated song timer algorithm is not perfect, but it smoothens note movement quite a lot in comparison to using raw times.

As for the amount of mini fruits... I should. It, once again, involves a bit of BPM calculations, and a bit of scaling, since i can only calculate points of a bezier curve with a T ranging from 0 to 1. Which means i have to:

Code: Select all

-- Divide current milliseconds per beat by, say, 6
-- Check how many times does that calculated value fit into a given slider duration
-- Make the for from 0 to 1 have that amount of steps 
-- If slider repeats, then make that for go from 1 to 0 in order to generate points in a backward manner
-- Ex:

	sliderTickLength = sliderMPB/6
	sliderAmountOfTicks  = sliderDuration / sliderTickLength
	for i=0, 1, <stepsize smaller than 1> do
	....
The stepsize there is the problem actually. Based on the amount of ticks, i have to figure out a value which will fill that and make the "for" loop go a proper number of steps calculated prior. It's probably some stupid math, but i've been lazy about looking into this. :P

TODO list is getting quite big huh? Selection screen overhaul (haven't forgotten about that ghost yet), proper sliderTick implementation, game over screen, spinners.. :P

Although i like to believe i'm actually getting somewhere with this so far.
Don't check my github! It contains thousands of lines of spaghetti code in many different languages cool software! :neko:
https://github.com/Sulunia
Post Reply

Who is online

Users browsing this forum: No registered users and 51 guests