Mattias_G

@Mattias_G@mastodon.gamedev.place
417 Followers
433 Following
396 Posts
Hobby game dev, making retro style games: mattiasgustavsson.itch.io and public domain C libs: github.com/mattiasgustavsson
I write about things at mattiasgustavsson.com
Feel free to DM me about anything
itch.iohttps://mattiasgustavsson.itch.io
githubhttps://github.com/mattiasgustavsson
websitehttps://mattiasgustavsson.com

Updated my app.h C library to support standard gamepads, for both windows, osx/linux and wasm.

There's a web build here for trying it: https://mattiasgustavsson.com/wasm/gamepad.html

Library can be found here: https://github.com/mattiasgustavsson/libs/blob/main/app.h

I also updated the app.h template project: https://github.com/mattiasgustavsson/template_project

My app.h library is sorely missing gamepad support. But not for long 🙂

Know what’s great? Good old .ini files. Very easy to understand and edit, even for non-programmers.

Here’s my single-header C library for reading and writing .ini files.

One of the first single header c libs I wrote, and I still use it all the time 🙂

https://github.com/mattiasgustavsson/libs/blob/main/ini.h

For those of us who still do software rendering, these alpha-blending tricks are still useful 🙂

https://gist.github.com/mattiasgustavsson/c11e824e3d603d0c86e5e0dde4ecf839

rgb_blend.c

GitHub Gist: instantly share code, notes, and snippets.

Gist

Here’s a small single-header C library for generating pseudo-random numbers.

It includes four different rng’s, including PCG and WELL, with a consistent API.

They all expose internal state for easy saving and restoring of state.

https://github.com/mattiasgustavsson/libs/blob/main/rnd.h

libs/rnd.h at main · mattiasgustavsson/libs

Single-file public domain libraries for C/C++. Contribute to mattiasgustavsson/libs development by creating an account on GitHub.

GitHub

If you haven’t tried it, give my game Neon Lies a go. It’s free and plays in the browser. I’m quite proud of it, I think it’s among the better things I’ve made. If you play it, I’d love to hear what you think of it 🙂

https://mattiasgustavsson.itch.io/neon-lies

Neon Lies by Mattias Gustavsson

A Cyberpunk Adventure

itch.io

For those of us who still do software rendering, these alpha-blending tricks are still useful 🙂

https://gist.github.com/mattiasgustavsson/c11e824e3d603d0c86e5e0dde4ecf839

rgb_blend.c

GitHub Gist: instantly share code, notes, and snippets.

Gist
I’ll be releasing this as a public domain single header c library some time soon, in case anyone finds it useful

If you try it out, I'd love to hear your thoughts. The idea would be to have 6 to 8 of these, along with maybe 4 pcm sample channels (but it would all have to be shared with game sound effects as well).

On a low level, it would be controlled using memory mapped registers, on a higher level by a midi-like note-on/note-off API, and at the highest level by a music composition tool.

I’ll be releasing this as a public domain single header c library some time soon, in case anyone finds it useful
×

If you haven’t tried it, give my game Neon Lies a go. It’s free and plays in the browser. I’m quite proud of it, I think it’s among the better things I’ve made. If you play it, I’d love to hear what you think of it 🙂

https://mattiasgustavsson.itch.io/neon-lies

@Mattias_G I still haven't played it, but it looks lovely. I need to try it sometime.
@SonnyBonds I think you'll enjoy it :) It's a small game though, can probably be finished in half an hour or so
@Mattias_G That's great. I'll try to get around to play it :)
@Mattias_G @SonnyBonds That's great. We need more games that can be played in short sittings. This looks like fun.
@Mattias_G bookmarked! I'll play it when I'll feel a bit better (I've got the flu 🙄)
@Mattias_G @grumpygamer Just played through it and loved it. Really well done!
@occamydg thank you :) that’s so nice to hear!
@Mattias_G sweet, it gives DreamWeb vibes - https://en.m.wikipedia.org/wiki/DreamWeb
DreamWeb - Wikipedia

@Antacon that’s so awesome to hear :) very much one of the main source of inspiration. And the reason the lead character is named Ryan

@Mattias_G I just finished the game a minute ago 😉 And I loved it.
The tone and ambiance is great. And the attention to details really makes a difference. My special love goes to the loading anim with the floppy disk + floppy sound

It reminded me of the hours I spent on my amiga as a teenager.

Only regret for me : the story is quite linear, there no moment where you can choose between multiple places to go (I mean places where you can do things to advance in the story).

@pmartin thank you :) hearing peoples thoughts on the game, and hearing you enjoyed it, is such a great feeling!

I think it’s a very fair point about linearity. I feel there’s also a lot mire that could be done with deeper dialogs and some side tracks. I’ve actually considered picking it up again an embellish it some. I originally made it in 10 days for a game jam, so something had to give, and it was non-linearity for sure 😝

@Mattias_G a ten day gamejame game 😱 OMG I'm even more impressed !

The intro with appartment and the girl is an incredible idea as a soft tutorial for such kind of game (for me it feels very nintendo way of doing things… and it's a big compliment). Bravo

@pmartin well, an *intense* ten days 😅

Nice to hear you point that out - since it is my custom engine, there were a handful of different concepts i wanted to teach the player early on, but I don’t like in-game tutorials, so that intro bit was my way of trying to teach the player about dialog, inventory, and concepts like a place changing if you leave it and then go back

@Mattias_G Same feeling about the in-game tutorials. I prefer the "integrated in the scenario/normal game play" version that you used.

In my last game (looooong time ago) it's what I tried to do (this was a little bit difficult because the scenario was proceduraly generated… so I had to integrate the whole tutorialy scenar in the procedural story generator).

@pmartin That sounds like a challenge! What was the game?

@Mattias_G A never published game called "Adventure in a shell" because everything in it was texte based just like in a CLI shell or the or more precisely like the combat text box in the Dragon Quest serie.

The whole game was based on a "scenario engine" that could generate interesting main stories and side quest stories when ever needed while keeping everything coherent.

1/2

@Mattias_G You were playing "a person" that had a "initial event launching its story… and if you died you could continue as a ghost haunting your killer or helping your fellow companions. Or could continue by playing one of your companion (giving you were friend enough). There was even an easteregg to continue has your pet cat.

But alas the whole game disappeared by lack of backup when I left for a whole year to live as a teacher in Mexico.

@pmartin ah, losing stuff you created is the worst, sorry to hear!

@Mattias_G Meh sometimes it's a good thing. It gives you the push you need to get out of your confort zone (that's what happened to me).

But yeah, general case, it sucks.

@pmartin that sounds really cool :)
@Mattias_G I really loved to develop it. It was a link between two of my passions : gamedev and storytelling. It was based on a very interesting way to build stories by using "master plots" that all have a well defined set of constraint quite easy to use in gamedev. And another storytelling trick : building characters around "character archetypes" that really fit well with the different roles in the plots (and are good way to build "origin story" side quest for almost any character)
@Mattias_G Oh one more thing : I played on my phone not on my laptop and the texte is sometimes a bit small to be easily selectable. Maybe a "touch -> highlight the element (still possible to move and select another one) -> release to validate" mecanic could make things easier for small device.
#myTwoCents #fellowGamedev
@pmartin that’s a good point… maybe i can add support for distinguishing between mouse clicks and touch input to my engine - seems like a worthwhile thing to do
@Mattias_G loved the aesthetic and worldbuilding! And thanks for making a web version
@Mattias_G Very nice game. I liked the style of graphics and sound. Good work. Thanks!