Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: [1]   Go Down

Author Topic: [WIP] Katsu - 2D Videogame Library  (Read 936 times)

0 Members and 1 Guest are viewing this topic.

Darklink45

aka Faded Led
[WIP] Katsu - 2D Videogame Library
« on: June 12, 2024, 09:20:39 am »
  • *
  • Reputation: +8/-0
  • Offline Offline
  • Gender: Male
  • Posts: 314


Katsu is a light cross-platform C library for 2D video game programming. It includes an API for 2D rendering, a simple input system, and sound output. Tile renderers of old school computers and video game consoles are the basis for Katsu's 2D rendering capabilities.

This has many years in the making, mostly because it has been redesigned and expanded multiple times. For the first time I'm somewhat satisfied with it's design and decided to share it here first (for nostalgic purposes of course). This is only the start of the project of course, but most features are not too far off from being implemented, these include:
  • Rendering done by layers
  • 4bpp 8x8 pixel tile format (Same as GBA tile format)
  • 128 Color palettes, 16 colors each
  • 16 64x64 tilemaps
  • Matrix transformations for tilemaps and sprite
  • Horizontal line effects
  • Window effects
  • Other old-school effects (Mosaic, palette manipulation, etc.)
Note that this is NOT a game engine, this would be what you build a game engine on top of, think of it as an imaginary video game console ;) If I'm not being too optimistic, I believe someone could make cool/small simple 2D games with the current state of the library. Please check it out if you can, the final goal is to have a very easy to use but feature-rich library so any feedback and/or ideas are accepted. This also means that any issues you may have will be addressed (for failed installations or bugs).

Check out the source code and documentation here: https://github.com/fadedled/Katsu

Screenshot from current demo

Now for some Q/A that come to mind...

Q: Why would I use this?
A: While Katsu pales in comparison to other/bigger game engines, the focus of this project is to make an easy to understand, fun and small library that can produce really nice looking 2D sprite graphics, also I believe that it has good potential to become a beginner friendly tool for people who want to do lower level stuff like systems programming. If you want to make a 2D game engine, program a video game from scratch or mess around with the graphics you are free to do so.

Q: Why C tho?
A: I want the library to be quite low level feeling, C is a great way to achieve this. Anyone can create binders for other languages if that suits them better. Also, C is a simple language in terms of syntax which great if you don't want to spend too much time in the language part.

Q: When will it be finished?
A: Eventually...

Q: What about audio?
A: Audio is not a priority at the moment. I will add a simple audio interface for now.

Q: What OS does it support?
A: Currently it only supports Windows and Linux. After the core is finished, porting will be easier so plans of other ports are currently not a priority.

Q: Can <insert old 2D game here> be ported to Katsu?
A: Maybe, you can definitely recreate a ton games from scratch.

Q: How much is it?
A: $0
Logged
Personal site: Faded Led
People die when they are killed.
Re: [WIP] Katsu - 2D Videogame Library
« Reply #1 on: June 18, 2024, 09:43:43 pm »
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Posts: 89
I didn't get a good idea of what this is.
It isn't a development engine? What is it then?
Looks neat though.
Logged

Darklink45

aka Faded Led
Re: [WIP] Katsu - 2D Videogame Library
« Reply #2 on: June 19, 2024, 06:09:34 am »
  • *
  • Reputation: +8/-0
  • Offline Offline
  • Gender: Male
  • Posts: 314
I didn't get a good idea of what this is.
It isn't a development engine? What is it then?
Thanks! :) in general terms, a game engine integrates a lot of systems that facilitates game development but can be sometimes hard to customize, think of animation systems, phisics system, particle system, collision system, etc. Katsu is a game library (some would call it a game framework), this means that it only supplies a reduced set of functions and resources aimed at game development, this means that you build a game engine on top of Katsu, be it simple or complex. Other libraries in a similar category would be SDL, Allegro and SFML, but Katsu is focused on 2D pixel art based games. An analogy would be: when developing a game for a videogame console, the company that made it would send you an SDK for you to begin production, Katsu would be kind of like the SDK of a fantasy video game console :))
Logged
Personal site: Faded Led
People die when they are killed.
Re: [WIP] Katsu - 2D Videogame Library
« Reply #3 on: June 19, 2024, 11:48:01 am »
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Posts: 89
Certainly interesting! I can see where it would be useful.
Hopefully it's intuitive as well. Kinda like the difference between Super Mario Maker 1 and 2.
Logged
Pages: [1]   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.043 seconds with 43 queries.

anything