Searching from 2022-01-01 00:00:00 to 2022-01-01 23:59:59.999999.
Query completed in 8.62 seconds
[2022-01-01 08:02:19] <Z-Man> Of course raylib does have a GUI: https://github.com/raysan5/raygui
[2022-01-01 08:04:28] <Z-Man> It's not super flexible and only seems to support pixely UI styles, but it's there. I personally don't mind if engines/systems enforce some general styles, like how you can tell most of the time a game was made with GameMaker or that other thing, RPG Studio?
[2022-01-01 08:06:09] <Z-Man> Also, it's immediate mode. Which may cause some brain pain, but I can assure you those are only the bits used to widget object based UIs dying off, you don't need those! Immediate mode GUIs are great for a code centric workflow.
[2022-01-01 08:10:46] <Z-Man> Sidescrolling is not simply sidescrolling, sorry. Nowadays, you have real flat bitmap sidescrolling and 2.5D sidescrolling. Also, since forever, you have automatic scrolling or scrolling along with the main character, and if you scroll along, you have to decide where the camera focus should be; does the camera look ahead a bit? Can it even scroll backwards?
[2022-01-01 08:12:28] <Z-Man> I don't think any engine should just do sidescrolling. It should give you the tools so you can do sidescrolling of your choice with minimal friction.
[2022-01-01 08:14:01] <Z-Man> At this particular aspect, the Fuze Basic thing on the Switch is great. It has a map (2D level) and sprites, both share a coordinate system, then:
[2022-01-01 08:14:09] <Z-Man> A function to load a map by name
[2022-01-01 08:14:33] <Z-Man> A function to load a sprite sheet image into a sprite
[2022-01-01 08:14:51] <Z-Man> Functions to play sprite sheet animations
[2022-01-01 08:15:24] <Z-Man> A function to set the camera, then one to draw the map (divided into layers, if you like), a function to draw all sprites
[2022-01-01 08:15:51] <Z-Man> Functions to move sprites, with automatically applied velocity if you like
[2022-01-01 08:16:42] <Z-Man> Functions to set the collision shape of sprites (rectangle or ellipse, both with dimensions of your choice)
[2022-01-01 08:17:55] <Z-Man> Sprite/Sprite and Sprite/Map collision functions of two types: One gives you the list of collisions and the collision resolution vectors, one just resolves the collision.
[2022-01-01 08:22:19] <Z-Man> And yeah, sorry, "The rest is your game". Every decision on how to use these functions determines how your game feels. The engine should not have a "eSideScrollerApp" class that you customize, it should just give you tools like that and let you work with them. If you do want the engine to provide a basic sidescroller, use templates or examples.
[2022-01-01 16:06:00] <Lucifer_arma> Interestingly enough, you've also just described how pygame handles sprites and has done so since before the Switch existed :)
[2022-01-01 16:06:16] <Lucifer_arma> except I don't think it provides the collision vector, which we're going to provide
[2022-01-01 16:06:52] <Lucifer_arma> I think a general purpose sidescroller can be made. Also, having a general purpose sidescroller means we have to build up from all the primitives ourselves, so if we're careful about how we do it,
[2022-01-01 16:07:08] <Lucifer_arma> we can provide each successful level of primitives to the game developer
[2022-01-01 16:07:41] <Lucifer_arma> so if the sidescroller we make isn't satisfactory, the game developer can build up from the same primitives and choose which level of sophistication suits him/her the most and go from there
[2022-01-01 16:08:15] <Lucifer_arma> If you haven't looked at it before, though, you should check out Qt::QGraphicsView
[2022-01-01 16:08:42] <Lucifer_arma> it's basically a general purpose widget that can be used to make a sidescroller, and it makes the compelling argument for a general sidescroller
[2022-01-01 16:09:14] <Lucifer_arma> the way it works, Qt can optimize a lot of crap for performance and stability without knowing in advance what it's actually going to display
[2022-01-01 16:09:57] <Lucifer_arma> what do you mean by immediate mode GUI? The two concepts in my head are object oriented and menu-based, where menu-based (like arma) is just a subset of object-oriented
[2022-01-01 16:11:49] <Lucifer_arma> also, as far as enforcing coding styles, it's really not possible to get around doing that. I'm already requiring developers to make an Application and MainWindow object.
[2022-01-01 16:12:23] <Lucifer_arma> and we'll definitely have a style where cerritos does 99% of the work (that may be hyperbolic) and takes over the main loop completely
[2022-01-01 16:13:13] <Lucifer_arma> we'll have event-based game programming, where you get a controller event, or a collision event, or whatever
[2022-01-01 16:13:53] <Lucifer_arma> we're already talking about making a sprite file format that will describe the sprite, give paths to images, define collision geometry, animation parameters, etc.
[2022-01-01 16:15:19] <Lucifer_arma> the whole point of reserving a way of letting the game developer manage the main loop is basically admitting we won't get everything right, and yeah, it's your game, so it's up to you to fix it :)
[2022-01-01 16:17:54] <Lucifer_arma> we also have new ideas to bring to the table. We'll be abstracting controllers, primarily because we want to make IP controllers that run as apps on another system, like a phone or a tablet
[2022-01-01 16:19:23] <Lucifer_arma> we're also going to support multiple displays over IP, because the WiiU controller was a great idea that failed because Nintendo's policies about developers are crap, not because the technology sucked
[2022-01-01 16:20:13] <Lucifer_arma> so you could have arma playing on the big screen in your living room, and the mini-map displaying on a tablet sitting on a stand in front of you
[2022-01-01 16:20:56] <Lucifer_arma> at the same time, we're looking at all the old games (80s, mostly) and asking "What do we need to put in cerritos so you can write <this game> in 20 lines or less?"
[2022-01-01 16:21:17] <Lucifer_arma> where "20 lines or less" is an arbitrary choice meant to show "few lines needed"
[2022-01-01 16:23:18] <Lucifer_arma> with that in mind, our sidescroller doesn't have to implement all possible sidescrolling methods, it really only has to be able to play pitfall, galaga, and super mario brothers
[2022-01-01 16:23:37] <Lucifer_arma> from there, it should be reasonably extensible to support other games
[2022-01-01 16:24:02] <Lucifer_arma> by pitfall I meant pitfall 2, pitfall wasn't a sidescroller
[2022-01-01 19:42:50] -!- Z-Man changed nick to Guest9932
[2022-01-01 19:42:52] --> Z-Man has joined the channel
[2022-01-01 19:45:19] <-- Z-Man has quit (Ping timeout: 256 seconds)
[2022-01-01 19:46:29] --> Z-Man has joined the channel
[2022-01-01 19:48:27] <-- Guest9932 has quit (Ping timeout: 480 seconds)
[2022-01-01 21:20:21] -!- Z-Man changed nick to Guest9941
[2022-01-01 21:20:22] --> Z-Man has joined the channel
[2022-01-01 21:24:30] <-- Z-Man has quit (Ping timeout: 256 seconds)
[2022-01-01 21:25:40] --> Z-Man has joined the channel
[2022-01-01 21:27:51] <-- Guest9941 has quit (Ping timeout: 480 seconds)
View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.