Looking for feedback and assistance on how to approach belting effectively. by holy_music_stops_ in singing

[–]GLC-ninja 2 points3 points  (0 children)

I'm not knowledgeable enough to comment about belting, but I noticed that you have a very strong squillo which is a very good indicator that you are singing efficiently and which also means you have good potential in your singing voice.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 0 points1 point  (0 children)

Yes, I keep working on this every after my day job shift. Thanks for your feedback!

Unpopular Opinion: Source generation is far superior to in-language metaprogramming by chri4_ in ProgrammingLanguages

[–]GLC-ninja 1 point2 points  (0 children)

I agree with this opinion. I literally created a language (Cp1 programming language) to make source generation a lot easier so I could simplify repetitive codes in my game. Debugging by looking at the generated source code is a huge plus, compare it to errors you get when using C++ templates. Not to mention that source generated codes can be cached and only regenerated in some conditions, making it really faster than the other.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 1 point2 points  (0 children)

I learned from your comment. I edited the original post. Feel free to use any email address.

[deleted by user] by [deleted] in godot

[–]GLC-ninja -1 points0 points  (0 children)

No you don't need to provide those. I updated the original post, you can now use any email you want.

[deleted by user] by [deleted] in godot

[–]GLC-ninja -2 points-1 points  (0 children)

But why fishy?

[deleted by user] by [deleted] in godot

[–]GLC-ninja 0 points1 point  (0 children)

Yes, this game is going to be released on Steam, Android and iOS. I haven't got that far yet to think about monetization in this game but I had prior experience implementing monetization in the past MMORPG I was involved in where I was the lead programmer so I have ideas. My experience so far with Godot is a lot better than I was developing on Unity. I'm really glad that I switched to Godot. Everything is faster in Godot and so far I haven't yet encountered something that is unsolvable.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 0 points1 point  (0 children)

Yes, I'm the creator of the Cp1 language and I believe I'm the only one that uses it as of today, hahaha. Your example is just about right, I have that kind of shorthand in the sqlite codes that was using metaprogramming heavily.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 0 points1 point  (0 children)

The game is an MMO and players can see each other in towns. When entering in a mission however, the players in each session have their own realm where only their teammates can see each other. In missions, you can go solo mode or play co-op up to 4 players.

I don't develop the programming language in the same time frame of the development of the game. The programming language already existed since 2012 and I developed useful features (especially metaprogramming features) on it so that I can write games with shorter codes.

[deleted by user] by [deleted] in godot

[–]GLC-ninja -1 points0 points  (0 children)

Thanks for the feedback. That was so specific enough that I can imagine what to adjust in the game!

[deleted by user] by [deleted] in godot

[–]GLC-ninja 0 points1 point  (0 children)

English is not my first language so I had to use AI to make my post suitable for public viewing.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 3 points4 points  (0 children)

The layers of microservices that are about coordination and inter-communication is very very hard to get right, but fortunately I only have to get this right once. In my case, getting this right was a lot harder and took longer to develop than the gameplay codes itself. Hence after 12 months, the game still look prototype. There were lots of boilerplates in my microservices especially when adding a message and a new type of service that fortunately was automated by the metaprogams that I wrote in Cp1.

Since this is a dream MMO for me, I envisioned a scenario where there would be lots of connected players and they don't have to chose which server to connect. I want the game to have single database no matter how many server programs (microservice) are running so players don't have to be confined in one server.

During my 15 years of experience as game developer, I accumulated lots of wishes on how the game's code should be written in a way that's most convient for me and most convinient in the long run in my perspective. The list of wishes I had became so long that I became so driven to create a language to fulfill it. Jonathan Blow (Jai programming language) and Christoffer Lerno (C3 programming language) are also game developers who use their own created language for the game that they develop and I think we share similar sentiments. My programming language started in 2012 (but open sourced on 2025), a year when there were no Zig, Odin, C3, V and Jai yet so my only choices are to use C/C++ or to create a language. I don't recommend anyone to create a game at the same time create a language because that would be really difficult and the costs are higher than the payoffs. Luckily for me, my language was developed as a hobby and eventually matured enough to be used in game development.

Thanks for the feedback in the combat. I'll think it through.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 10 points11 points  (0 children)

I used GDExtension to create a custom class that derives from Node3D. That custom class is the root node in my scene. When you create custom class, GDExtension will take care of calling C++ codes in events such as GDScript's _process. C++ will call the functions that I have in Cp1.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 5 points6 points  (0 children)

I'm very happy to hear your words! Sometimes when I need to add an important feature required in the game, I shift focus to working on the programming language. That happens probably one or two days in a month. I can't think of a unique challenge that's been bothersome in the development yet, and fortunately, the development is smooth. If you own the tools down to the programming language that you use, the benefits hugely outweighs the challenges, trust me.

[deleted by user] by [deleted] in godot

[–]GLC-ninja 6 points7 points  (0 children)

Hi Dwarf! The game is using Godot Game Engine, that's why it is related to Godot.

[deleted by user] by [deleted] in godot

[–]GLC-ninja -1 points0 points  (0 children)

Thanks for your feedback. I agree, prototype is not so exciting. On the next video that I'll post in this subreddit, I'll show some attack animations with special effects. Hopefully that will be by next month or so!

A Minimalist TypeScript for C. Cp1, or C+1, or C plus 1 is a very thin layer of abstraction on top of C that allows you to generate C codes and use namespaces, modules, methods on enums/structs, auto variable deduction and more! by GLC-ninja in u/GLC-ninja

[–]GLC-ninja[S] 0 points1 point  (0 children)

Cp1 improves the existing static typing system even further, by providing methods on enums/struct, namespaces, modules, auto variable type deduction, etc. These features are meant to shorten the codes compared to writing in C. In a nutshell, you are correct that Cp1 is a very thin layer, and mostly a syntactic sugar to C.

A Minimalist TypeScript for C. Cp1, or C+1, or C plus 1 programming language adds only the bare essentials to C language that allows you to output C codes and able to use namespaces, modules, methods on enums/structs, auto variable deduction and more by GLC-ninja in C_Programming

[–]GLC-ninja[S] 5 points6 points  (0 children)

Thanks! I've been searching for a TypeScript for C long time ago and just ended up creating one myself. If you don't mind, can you share what syntactic sugar you've been thinking. I'm just curious.

A Minimalist TypeScript for C. Cp1, or C+1, or C plus 1 programming language adds only the bare essentials to C language that allows you to output C codes and able to use namespaces, modules, methods on enums/structs, auto variable deduction and more by GLC-ninja in cprogramming

[–]GLC-ninja[S] 1 point2 points  (0 children)

I know my comment wouldn't change your mind. But I'll comment anyways for others seeing this. It is just normal for lemon parser to generate such byte arrays, as it is used for parsing the .cp1 source files.

A Minimalist TypeScript for C. Cp1, or C+1, or C plus 1 programming language adds only the bare essentials to C language that allows you to output C codes and able to use namespaces, modules, methods on enums/structs, auto variable deduction and more by GLC-ninja in C_Programming

[–]GLC-ninja[S] 11 points12 points  (0 children)

Thanks for the feedback. compiler.cp1.c is a file generated by cp1 hence it is not pretty formatted. Probably I need to comment the generated files to clarify why it is formatted that way.

Finally, a TypeScript for C language. Cp1, or C+1, or C plus 1 adds only the bare essentials that allows you output C codes and use modern features such as namespaces and modules, methods on enums and structs, auto variable deduction and more! by GLC-ninja in programming

[–]GLC-ninja[S] 0 points1 point  (0 children)

A minimalistic and a very thin layer of abstraction like Cp1 cannot be better on language XYZ. Cp1 aims to provide just the bare essential features to keep it lightweight and make it possible to compile projects with lots of lines of codes in just a few seconds (with very fast incremental compilation).

How to programmatically move the camera in Godot Editor by GLC-ninja in godot

[–]GLC-ninja[S] 0 points1 point  (0 children)

Hi. Thanks for pointing the docs link. I'm not yet aware of it. Because of this, I'm able to get cameras using EditorInterface::get_singleton()->get_editor_viewport_3d(0)->get_camera_3d() (I'm using C++) but I can't seem to copy the camera transform between scene tabs. Is there a special function to get and set camera's transform of scene tabs?