yhlee: d20 on a 20 (d20)
[personal profile] yhlee posting in [community profile] making_games
Howdy, it's been a minute!

I've been screwing around with development on a personal project visual novel (VN) with a tactics 2D game component (the latter is still in paper prototyping). I have a list of resources at the project site, although half of it is "links to investigate later."

Note that I'm a deeply mediocre low-intermediate coder, but I'm also not starting from zero on coding.

What I've found so far:
- Defold: Free, open source. Comparatively obscure although the devs and the community are active; not as many learning resources, free or otherwise. Specialized for performant 2D output, including for web (HTML5). Uses Lua, can be extended with C++ or C#. I'm investigating a VN engine for Defold, Matchanovel. This is the one I like right now but it's not a mainstream choice.

- Godot: Free, open source, increasingly popular although not quite as many resources as an older engine like Ren'Py or Unity. Uses GDScript (Python-like) or visual scripting (I have not used this because I suck at visual anything). Extremely good interactive tutorial that does start you from zero if you're unfamiliar with coding. That said, there are a fair number of free tutorials for this. For narrative scripting, you're likely to end up with Ink integration (see below) via Inkgd or GodotInk, or a plugin like Dialogic or Dialogue Manager. Apparently has good FMOD integration (audio middleware).

- Ink (Inkle Studios): technically narrative scripting middleware. Free. If you can code basic HTML, you'll find this comfortable. If you only want hypertext web output, this will work as well; it's more usually used in conjunction with Some Other Game Engine. Used for games like 80 Days and Steve Jackson's Sorcery!. On its own, this has some support for audio for web output (not sure about video or graphics); compiles to JSON by itself. For anything fancier, you'll have to implement in your game engine of choice (e.g. Unity, Unreal).

- LÖVE 2D: I haven't played with this yet. Scripting in Lua. IIRC Balatro was made with this?

- Ren'Py: If you want a "pure" VN or close to it, this is likely your best option because there are a ton of VN-specific defaults. Will require more work the further you get out of the VN box. Free, open source, extremely mature community with a ton of resources and tutorials. You can extend this with Python, but the scripting is IMO pretty straightforward. I think it's technically possible to use a Python API for Wwise integration (audio middleware), but for a typical VN, it has built-in audio support likely sufficient to your needs unless you're doing something exotic.

- Unity: Overkill for "pure" VN, but this is a professional game engine, also with a ton of resources. Uses C#. For serious work, you probably want to read up on the whole licensing term controversy (they rolled back a deeply unpopular pricing plan but at a threshold in sales that is unlikely to ever affect me). For a VN, you can combine this with Ink or assets like Naninovel (paid, terrific capabilities but sometimes spotty documentation). Integrates with FMOD and Wwise (audio middleware).

- Unreal: lol, the other big professional game engine. Specialized for 3D (?), but wildly overkill for 2D, let alone a glorified slideshow (VN, affectionate) so I have barely touched this. Kind of like swatting a fly with a Death Star.

Notes:
I have a "lite" background in coding but am deeply mediocre at it:

- essentially the first two years of a prospective CS major at Cornell before switching to math, which is what I got my B.A. in, because I hated debugging /o\ (joke's on me?)

- I'm unintimidated by math preliminaries/prerequisites for general coding, although discrete math (which shows up a lot in CS) was not my focus as a math major.

I have passable low-level hobbyist acquaintance with
- BASIC (lol)
- Inform 6/7
- Java
- LISP/Scheme (technically, Dylan with LISP-like syntax as a dialect of Scheme)
- Pascal (lol)
- Python
- Twine

which is to say, I am not great at any of these languages and have to look up a lot, but I'm familiar with common syntax conventions, concepts like basic control structures, data structures, object oriented programming and inheritance, etc. so not starting from zero either. I'm still sitting here pining after higher-order functions!
This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Profile

making_games: 20 on a d20 (Default)
Making Games

May 2025

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 01:26 am
Powered by Dreamwidth Studios