2017-10-29 10:08:21

Hype train all abooooaard
smile

twitter: @hadirezae3
discord: Hadi

2017-10-29 10:31:25

Hello r3dux,

It's really fantastic you're working on something like that!

I am a gamer from many, many years so I hope I'll try to add as many games to it in the future as possible (of course playable games) smile
I am playing a lot of 2d scrolling slashers and beat em ups like Shank, streets of rage and others. What do you think about making those more accessible for us? like adding audio cues to the objects like pits / hazards?
No idea if it is something you can do in this software but it could be great. Also, what about playing the audio cues when QTE pops up on the screen?
Cheers,

Twitter
Add me on Steam
Discord: lirintheblindguy
BattleTAG: Lirin#21759

2017-10-29 11:43:41

Hi Lirin,

Thanks! I'm looking forward to releasing on Tuesday with equal amounts of excitement and terror!

I think SoniFight could definitely be used to enhance the playability of 2D scrolling games, but to do it properly it would need proper 2D (if not 3D positional audio) - so what we're really talking about is that the "camera/ear" location moves with the player, and there are audio beacons attached to either pits/hazards or enemies (or both!) that provide audio feedback.

Then as you approach a pit or an enemy, the distance could be calculated between the "camera/ear" and the beacon to provide relevent audio. If a 'flat' 2D brawler, think Rastan Saga or Robocop or something, then 2D is all you need. In an isometric brawler like streets of rage where you can move up and down on the playfield, 3D might be a better option where the vertical location (y-coordinate) of the audio beacon could be used to adjust the audio properties so that it sounds above or below you (at least to some extent) relative to your own vertical location.

These are the kinds of things I believe the software will be able to do, but at present this is the very first 'just-get-it-out-the-door' release that's only really geared towards fighting games. The next project I'll be diving into immediately after SoniFight's release (well, I might take a couple of days off, haha) will involve beacons and positional audio in both 2D and 3D, as well as possible signal generation and dynamic audio effects (we'll see!). That'll probably take me up to the end of the year, and then I should be able to either release that separately, or incorporate the code I've developed for this upcoming project into SoniFight, or both.

In theory finding QTE pop-ups is do-able, it would all depend on how the game allocates memory for them. I think with my current knowledge I'd struggle to find relevant pointer chains because they might only exist fleetingly while the QTE is active. What I'm hoping is that people with a better knowledge of memory / structure analysis come along and lend their expertise, but whether they do or not I guess we'll just have to wait and see!

Cheers!

2017-10-29 18:17:32

@r3dux
Thank you for your response!

I was thinking about making Shank fully playable as there are only few parts where the player could have a problem. I've beaten the game on my own so I know a lot about it and I am talking specifically about pits and platforming sections. The game is 2d so no up / down movement which makes it really accessible. There are couple more games in the same style where these kind of improvements could help.

I'll wait for more and I'll experiment with that for sure even if programming or other skills like that are pretty bad. big_smile

Twitter
Add me on Steam
Discord: lirintheblindguy
BattleTAG: Lirin#21759

2017-10-29 18:58:22 (edited by r3dux 2017-10-29 19:52:14)

Hi all,

After a 20 hour dev-bender getting SoniFight in shape I couldn't think of much more I really wanted done to get the initial release out - so I've decided to release it early! Hurrah! big_smile

AudioGames New Releases post: here.

SoniFight GitHub Repository: https://github.com/feduni/sonifight

Binary releases: https://github.com/feduni/sonifight/releases

Just keep in mind this is the absolute first release, so there are likely to be a few rough edges - but it'll improve with time. If you come up against something stupid and/or annoying you can let me know via the GitHub issues page (hopefully with some reproducable steps so I can see it fail too), and I'll address it.

Alternatively, if there was a problem and you fixed it, you could issue a pull request for me to incorporate your fix. That's the joy of open-source, many hands make light work.

Cheers!

2017-10-30 02:09:20

The first interesting thing that I saw when I entered to your github, Is know that this great software is writhed on c#.
Really, I don't think that you can make that great memory annalist tool in a managed language like c#. If you use all of the unmanaged tools like int Pointers and something similar, mixin it with managed code, you are really awesome. With code like that, simply, you made to me love more c#, that is my preferred program language. thanks for it.

So, about the program itself, well, Is time to test it.

thanks.

2017-10-30 05:51:18

@sanslash332 - Yeah, C# actually turned out to be a decent language to work in. I initially started writing the software in Java with the hope it could run cross-platform (i.e. Linux/Mac also), but it turned out to be a bit of a headache to interrogate other processes, while in C# it wasn't so bad.

I think there's just a single call to a native method via the kernel32.dll, which is the one to read process memory, but apart from that everything (including the the pointer arithmetic, which isn't that bad to be honest) is done in C#. What's also great about C# (for a strongly typed language) is that is has a dynamic data type which allows you to basically say: this is a value, I don't know what type it is until I read it, when I do read it use relection to go figure out what type it is so I can work with it.

Cheers!

2017-10-30 08:56:20

Hi.
Wow. Congrats on releasing the first version of the game. I look forward to get the time to check this out...

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2017-10-30 22:19:50

Hi.
wow, this is awesome to hear.
One question remains for me though, how much programming experience do you need to use this tool? To me it sounds like you have to really know a lot about how a game is coded and such.
Greetings moritz.

Hail the unholy church of Satan, go share it's greatness.

2017-10-30 22:26:49 (edited by CAE_Jones 2017-10-30 22:30:05)

You don't need any programming knowledge to use existing configs, just to create or edit them. Maybe think of it like addons for a browser or NVDA, or Jaws scripts.
And you can possibly get by without much programming knowledge on the editing side, most of the time.

看過來!
"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."
MaxAngor wrote:
    George... Don't do that.

2017-10-31 03:45:25

Hello,

This is simply amazing! As a hardcore fighting game player myself, this would assist in using training mode to the fullest. I wouln't have to memorize the menu layout or look them up online. It's literally a game changer. Congrats on the release.

I want to try this program, but don't know how to go about it. Any pointers would be great.

Follow my Youtube channel for high level MK 11 gameplay. https://www.youtube.com/user/Chvasquez86

Follow me on twitch for live streaming. https://www.twitch.tv/obsrattlehead

2017-10-31 04:14:59

Seriously dude, if you can read documentation, you can use the program. R3dux has written up extensive documentation on how to do it. In short, run the x86.bat file, launch the game, and go.  If you want to make your own, read the documentation on how to do it.

2017-10-31 06:48:38

awesome!
@r3dux do you have plans for the future, to try if the  program works in mac / linux trhou mono?

2017-11-01 01:44:39

@sanslash332 - Lots of plans for the future! Although I'm a big fan of Linux and it's my OS of choice (Arch Linux in particular), I haven't tried SoniFight via Mono. It may be possible in the future, but it's not a massive priority right now because most people are using Windows so I have to put development effort into the platforms that will assist the greatest number of users.

2017-11-02 09:37:08

Hi.
A Mac OS version would be awesome as well, but I have no idea about how difficult it would be to make this for Mac...

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2017-11-07 12:05:56

@sanslash332 - Just out of curiosity I tried running the Pointer Chain Tester under Linux via Mono. While I can connect to a process to find its base address, as soon as you enter anything for a pointer chain it crashes because it can't find kernel32.dll to access the ReadProcessMemory function. It may be possible to link it properly in the future, but not at present.

Also, Wine is no use here because it sandboxes the running process away from other processes on the system, so we can't see the game process to connect to.

Finally, Cheat Engine doesn't ship with linux builds and might be a pain to make work with Linux. However, there's a program called scanmem (which can use a front-end GUI called Game Conqueror) which apparently does the same thing. Oh, and Linux pointer chains will likely be different to Windows chains, but at least the process to find them will be the same.

So in summary, not yet, but perhaps in the future!

2017-11-24 08:05:15

@r3dux ok, interesting. so, the first basis of the program is working.
The solution that can you use, is use precompiler conditions, on an abstract base class.
So, when you compile the program in  windows, loads the kernel32 dll for the read memory function, and in the linux case, you have to find witch library is that you have to use for achieve the same result. So, if the libreary brary is a dynamic c++, you can load it through interhop without problem tongue

2017-11-25 17:21:53

@sanslash332 - That's a nice way of going about it. I approve big_smile