Cultris II clone in development

3/10/2017 9:51:05 AM
Gravatar
Total Posts 25

Cultris II clone in development

See my post here for more info:

http://harddrop.com/forums/index.php?showtopic=7795

3/10/2017 9:01:12 PM
Gravatar
Total Posts 49

Re: Cultris II clone in development

n1!
can't wait for the beta.

3/10/2017 11:06:32 PM
Gravatar
Total Posts 151

Re: Cultris II clone in development

Bring it on, can't wait to play this game it sounds great so far!

3/12/2017 1:32:12 PM
Def
Gravatar
Total Posts 33

Re: Cultris II clone in development

I can not reach out on harddrop because my account is having trouble.

However, please consider this:

- Possibility to disable audio rendering
- game rendering up to 240 FPS, input rendered with 240 FPS (will reduce the lag to 4ms)
- Possibility to update all the libraries
- Possibility to set Fixed Window, Window, Borderless Fullscreen, Fullscreen
​- Possibility to give Feedback if we encounter any error - catching the log and giving the possibility to attach an screenshot within the game
- If we encounter a player that lags much - don't let the rest of the players in the room lag because it's "balancing"
- LAN Mode (especially) if we encounter Server issues we can use Tunngle or Hamachi for example
- Peer to Peer mode - with NAT / Traversal Server - to avoid to need open Ports. Yes, like in Dolphin-Emulator
- Performance indicator like in Osu! http://i.imgur.com/YiVdNAk.jpg for people
that don't know:

Performance indicator should report programs running that make heavy problems with performance such as "f.lux" for example.

If you would like to dig deeper into Performance consider using FRAPS for a Benchmark and using FRAFS for viewing the Benchmark. Steady frametimes are important!

Many Thanks,

DEF

3/14/2017 4:56:39 PM
Gravatar
Total Posts 25

Re: Cultris II clone in development

Thanks for the input Def. I need to ask some questions back for clarification.

I have an option for "enable sound", if it's unchecked the resources will load but the game will not actually play any sounds. Is that what you're refearing to and is that good enough?

Why do you want the game to render up to 240FPS? Is so small imput lags noticable? I'm assuming that reading input states 250times/sec but still not drawing the screen more then let's say VSynz here would be sufficient?

Fixed Window meaning? Borderless fullscreen is a good idea. This works by default on ubuntu 16.04 that I'm currently developing under. As far as I can tell also when I run it on Windows 10 on my VM. This need to be confirmed on a regular windows machine though.

Feedback from within the game would be extremely usefull for correcting errors, I will look into this.

I'm far from any expert when it comes to networking and games. As it's written now I think the server would basically not notice if 1 player if lagging alot. Hence other players would not be effected either. This might have issues I'm not aware of. When it comes to peer-to-peer i was thinking about having this system between clients, but decided not to because it would increase network load for clients. To have everything go through the server will obviously increase load there, but with a host setup that can handle it that should not be a problem.

Performance indicator. What exactly are we talking about here? Other programs interfering with the performance of the game?

3/14/2017 9:52:27 PM
Gravatar
Total Posts 151

Re: Cultris II clone in development

Hey, super just wondering what's the game's state and progress so far? Do you need help with testing?

3/14/2017 10:10:15 PM
Def
Gravatar
Total Posts 33

Re: Cultris II clone in development

I have an option for "enable sound", if it's unchecked the resources will load but the game will not actually play any sounds. Is that what you're refearing to and is that good enough?

Seems quite good, as long as it is not processing that will do.
Actually we had the problem in Cultris II that sound is being processed no matter what.
If there was a spike of lines or many at once the frame times was affected in a negative way too.
It was not clever to process the incoming lines and play the audio for incoming lines i think.

I know some tier list for Windows Audio if it helps you.
This is about Latency.
Output = No Sound > XAudio2 > DirectSound > WaveOut > Portaudio

Why do you want the game to render up to 240FPS? Is so small imput lags noticable? I'm assuming that reading input states 250times/sec but still not drawing the screen more then let's say VSynz here would be sufficient?

This is more simple. Do you know about frametimes?
If you are able to have more FPS, you get less latency for processing.
In Shooters for example, it will be a huge advantage from 60 to 120, from 120 to 240.
It is much more responsible - it doesn't matter if your Screen only supports 60Hz.
You can actually measure it and feel it.

Please DON'T use Vsync! It makes things worse.
There is a good reason why we don't want it.

It increases latency and make things wobbly comparing to more FPS.
But if we have like > 120 FPS we don't even need to bother with v-sync.

While more FPS can mean that you need more to process - it can also help a lot.
Make it so that we can change at what FPS we wan't to render Input and Game.
What i really miss in Cultris II is the option to highly customize my Game and Gameplay.
I wish there were a neat console like in shooters :D

Fixed Window meaning? Borderless fullscreen is a good idea. This works by default on ubuntu 16.04 that I'm currently developing under. As far as I can tell also when I run it on Windows 10 on my VM. This need to be confirmed on a regular windows machine though.

Fixed Window is a Window that has the TopMost property. It can be additional to Borderless Fullscreen.

I'm far from any expert when it comes to networking and games. As it's written now I think the server would basically not notice if 1 player if lagging alot. Hence other players would not be effected either. This might have issues I'm not aware of. When it comes to peer-to-peer i was thinking about having this system between clients, but decided not to because it would increase network load for clients. To have everything go through the server will obviously increase load there, but with a host setup that can handle it that should not be a problem.

Hmm, i know people who are experts at Games. But they are at discord :)

For efficiency i would assume that you would need a clever Network management anyways.
It would be a good solution to be able to limit the preview per player.

Why?

That's because it can become handy when we have much players in room.
If anything - the Goal should be that the game is highly responsive and can run on a cheap server.
The problems we are facing now in Cultris II is not that the Servers are bad but that the implementation is not proper.

Performance indicator. What exactly are we talking about here? Other programs interfering with the performance of the game?

Exactly. osu! is a fast paced rythm game but it seems to be pretty popular. 
They did focus on responsibility and already did some work you can rely on.

For example : "f.lux" is changing the color temperatur of a Monitor by refreshing the screen each 100ms/1000ms with less blue for the screen. It is meant to help that you can better sleep.
On then other hand, it does increase the frame time latency you can measure for example with FRAPS.
I don't know the actual list of programs that are interfering but basically it is each program that does hit the I/O processing.

We should take performance seriously - we have the chance to Benchmark it - so it is a really good help in further optimizing.

Please don't think that the example Shooter/osu is not applicable in other games.
It was just my idea to show you what is probably a good way to optimize things and make people able to break their own records.

If there are any other questions, or i wasn't clear enough please reach out.
I'm also in the official Cultris II Discord Channel, have Skype and an Email :)

Many Thanks,

Def
 

3/14/2017 11:14:44 PM
Gravatar
Total Posts 25

Re: Cultris II clone in development

Ok, I'll definately look into adding some more customizable options for how the rendering is done. This should be simple enough. I've played a fair bit of Q3 and other shooters to accept this without much questioning. :) I'm probably gonna keep a VSync option for those who want it though as it keeps computer load to a bare minimum.

Fixed window, ok. I'm fairly certain that this is OS specific what can be done. I will look into it.

The network part I just have to get some input from players. I simply don't have the knowledge/experience to make any bigger decision about how to structure. My gut feeling though is: tetris is a very simple game, keep the network part of it as simple as possible exactly to not let one players with problems impacting others.

I have made some "smart encoding" for the packets, so I'm able to send game data quite frequently between players without putting to much load. (rough estimate 200b/sec and client in a room + upstream of your own data 200b) This needs to be reevaluated when a proper host is up though.

Explo! Yes, I need testing help. The game can connect players and you can play standard game mode + chat. You can create a forum account and use that in-game and your stats gets tracked and displayed in your forum profile, including the first half of the ranking system that is in place. I have linux binaries (no actual release, but if you make sure you have SFML + dependencies it should run on pretty much any distro) and a working Windows build. No Mac build yet, hopefully within a few days since I have the VM set up.

What I don't have is a host for the server (ideally for both the game server and the forum/database part on same machine). I do have a couple of maybe's that might work out though so hopefully I will have a beta launch before the end of the month. I will make some noise as soon as anything happens on that front.

3/15/2017 1:35:24 PM
Gravatar
Total Posts 5

Re: Cultris II clone in development

Im interested by that!

I wish you a lot courage !

 

3/16/2017 9:49:27 AM
Gravatar
Total Posts 25

Re: Cultris II clone in development

Yesterday I added support for vSync on/off, and when it's turned off you can adjust FrameRate and FrameTime separately.

Gives good control with just a few setting. With FrameRate 100 and FrameTime 1000 microseconds I get very good responsiveness and CPU load stays below 10% when playing singleplayer. You can adjust FrameTime all the way down to 1 microsecond, but below 1000 it start making a bigger impact on CPU load. I'm getting ~30% CPU load with <500 FrameTime and around ~55% with 1 FrameTime.

Currently not allowing 0 frametime as that would eat 100% CPU at all cases, and very low number are not exact, it basically make the game render as often as it possibly can.

With vSync enabled responsiveness goes down very noticably, but CPU load stays under 5%.

Fixed Window (TopMost property) is something managed by the OS itself. This means it should be possible to change without needing to implement special support for it in the client. Either through system properties or 3rd party software depending on what OS you're on. I will not be doing OS specific settings for the different builds at this point.