Hi fediverse, I'm finally doing my much overdue #introduction post!

I'm a #GameDev with a decade of experience, having founded Kitsune Games in March 2013. I'm currently focused on #KitsuneTails, a queer platformer in the style of beloved classics where you play a kitsune on a journey through a land inspired by Japanese mythology. In the past I've released games such as Super Bernie World, MidBoss, and more.

I'm also working on a fantasy console called the #Mega68k, which runs on the Motorola 68000 CPU. Additionally, I create a series of videos called #CodingHistory, which explores how 3D techniques from the 90s worked. I also like programming language development and make a lot of toy languages that don't go anywhere, and am trying to liven up the #PLDev hashtag on mastodon.

You can find my games at https://kitsunegames.com/games, or find more information on Kitsune Tails at https://kitsunegames.com/kitsunetails. For Coding History videos subscribe to my YouTube to see them when they come out: https://youtube.com/@EnikoFox

Games

Check out Kitsune Games' games, like the possession based roguelike MidBoss or the hat based puzzle game Ultra Hat Dimension.

Kitsune Games

@eniko

I found the tag I needed.

#PLDev

Thanks from a fedi noob. <3

I have been working on my own not-so-toy language, which I need to make games, but I don't have much experience with games... yeah, I know, I should make games first, but my brain doesn't cope well with most languages available around, so bear with me.

I would greatly appreciate any ideas (or, if you really feel generous, feedback on my project) from someone who is both a PL- and games-dev.

Thanks! =D

@xarvh I'm also doing some #pldev and gamedev, yay!

What does your language do differently from the ones that you tried before deciding to make your own?

@springogeek

I could not find any lang/engine with all of these:

1. No classes, no exceptions, no nulls/NaN/undefined

2. Type-driven: you model your game mechanics with types, the compiler enforces them & everything flows from there.

3. Targets both host and shaders, so they can share code and values.

4. No global state

5. No side effects: all functions can do is taking arguments and returning stuff.

6. Readability over expressive power: the language is small, there isn't much to learn.

@xarvh Oh that's quite interesting! You could probably learn a lot from how Elm is designed. Although I've not used it myself, what I've heard aligns with some of your goals, although it doesn't do shader stuff. Fascinating idea though :)

@springogeek

Thanks. =D

I used #Elm in production for several years, it's another world and changed completely the way I approach programming; Squarepants is heavily inspired by it.

However Elm is not geared towards games, has little support for GPUs and is not very good with heavy IO or number crunching, so I'm trying to overcome these.

@xarvh A neat! I only came across it recently (I've been listening to many podcasts about functional programming, and other things, to keep myself engaged as I work on my own language) so I've heard bits and pieces. Not tried it myself for a project yet.

I'll have to give Squarepants a closer look. A functional language makes a lot of sense for a GPU context, I'm surprised there's not more work done there.

@springogeek SP is still... Very rough. I'm still working on the WebGPU emitter, I want to complete the core features before I start the polish, but your feedback is very welcome. =D