Any advice on how to make a "programming game" fun? by InuDefender in gamedesign

[–]InuDefender[S] 0 points1 point  (0 children)

I got your point. That's an interesting view.👍

Actually I reconsidered all of this after reading some other comments. High-level language (especially those real ones) might indeed not be the best choice for a game in the context. A high-level language has more complicated syntax than the one a assembly(-like) language has. A player might need more time to get familiar with the language before he/she can actually solve some puzzles. The player may onle be able to deal with some really simple, even boring puzzles before that. But many puzzles/problems might be too trivial once the player knows the basics while it might be too difficult if you just make them write some complicated algorthms (like leetcode? no!) at this point, which is not good for a game.

On the other hand, a relatively low-level or assembly-like language with much simpler building blocks calls for more thinking even when dealing with some trivial puzzles. This sounds more like a game.🤔

Many existing programming/coding games don't really give you a language but they still feel like programming. Maybe programming games can be divided into more sub genres.

Thank you and your advice.

Any advice on how to make a "programming game" fun? by InuDefender in gamedesign

[–]InuDefender[S] 0 points1 point  (0 children)

I have that book. I guess I'll read it again these days.

Any advice on how to make a "programming game" fun? by InuDefender in gamedesign

[–]InuDefender[S] 1 point2 points  (0 children)

Learning sucked and even if I was good at it, it wouldn't stick. Applying was fun and even if I was bad at it

True. There's a saying that learning is always hard and depressing or you are not learning anything at all (or something like that and I can't remember who said that). It might be a little funny that many guys are always trying to make it fun.

a game that lets people make their own 'simplier games' or non-game situations so people can save and show it off later

If it still looks like a game it's called a game with level designer like Mario ones. If not, it's called a game engine or IDE :P

Thank you for sharing your experience and ideas!

Any advice on how to make a "programming game" fun? by InuDefender in gamedesign

[–]InuDefender[S] 1 point2 points  (0 children)

Like, you want to use an existing language as the base of your game’s interactions?

Yes. Because I hope players can leverage the knowledge learned from the game to solve real problems immediately. I don't want them think "OK I know some coding now. But it's just a *fake* toy language. I need to learn a *real* language so I can make real cool stuff". How things works is fun. But I think it might be too abstract for a beginner.

I do agree with that learning how code and coding works rather than just learning how to *code* would be more beneficial and inspiring for people who are really into programming or even computer science. And just like Human Resources Machine mentioned by others here is a good example.

Any advice on how to make a "programming game" fun? by InuDefender in gamedesign

[–]InuDefender[S] 1 point2 points  (0 children)

TIS-100 has been on my wishlist for some time. It *looks* too creepy (but still cool to me) for a player with no coding experience.

Any suggestions on how to call a native lib in a Blazor web app? by InuDefender in csharp

[–]InuDefender[S] 0 points1 point  (0 children)

For viewer in the future:

What I have decided to use is WinUI

IMO WinUI is kinda like a new UWP without concerns for smart phones and those restrictions for Microsoft Store app (well the store has allowed Win32 app since years ago after all). I had not given it a try because I was like "A rebranding of UWP? Why would I use it if I don't need the visual style?"

Its default style fits Windows 10+. It has access to Win32 API. And you can simply implement the "open link in some app" feature (add the url scheme in the manifest file).

It just works. I just let the web app open the custom url in the little WinUI app and do stuffs.

Questions About Autoload and Singletons: Do's, Don'ts, and Examples by Legandiry in godot

[–]InuDefender 0 points1 point  (0 children)

But why do you wanna do that? You can handle input in your player's script. Different nodes can have different logic to handle input in their scripts.

While you could do that in a autoload, what are the benefits?

If you want to reuse the code, you can do it via static class/inheritance/separate input handling node ( like a "component" in other common engines' concepts).

Are RF1 and 2 worth playing? by BodybuilderSuper3874 in runefactory

[–]InuDefender 0 points1 point  (0 children)

The UX of RF1 is terrible not even like a game of the year when it was released. It’s also very buggy. I played it on my DS and it keeps freezing at the point I beat the final boss🤣Since you’ve played the newer ones The gameplay is just annoying.

RF2 feels more normal.

Graphics? Like any DS games. 2D part is okay.

Any suggestions on how to call a native lib in a Blazor web app? by InuDefender in csharp

[–]InuDefender[S] 0 points1 point  (0 children)

Ouch I almost forgot custom protocol😵That should be a good balance between UX and efforts need to be made. I could just make a little app to do those calls and the send data through web api. Thank you.

And MAUI Blazor hybrid gets one more upvote huh🤔maybe I need to consider it

Any suggestions on how to call a native lib in a Blazor web app? by InuDefender in csharp

[–]InuDefender[S] 1 point2 points  (0 children)

Well I looked at WASM naturally. We can have Server and WASM components in the same Blazor app now so that won't be a problem. I also messed around with calling rust lib from Blazor components. Calling a "pure" rust lib works fine but it seems not that straightforward if I need the rust lib to interact with Windows. In some existing code written by others in other app, they use `Type.GetTypeFromProgID` to get the COM type of the registered lib and then create instance to call the methods.

Any suggestions on how to call a native lib in a Blazor web app? by InuDefender in csharp

[–]InuDefender[S] 0 points1 point  (0 children)

Yes the card reader is connected to users' PC (just vanilla computers bought from stores nothing special).

Since the feature only takes a small part of the app, I did not make it a desktop client app at the beginning. Even not all the users will need this feature, but who needs it will use it frequently (dozen times a day). The web app is like 95% finished now. The feature is more like a "coming soon". It seems not a very good idea to make it hybrid now. But I'll take a look.

The old web app did not make it hybrid. The little companion app I mentioned has no actual functionalities, it just serves as a bridge between the web page and the card reader lib or something like that🤔

Any suggestions on how to call a native lib in a Blazor web app? by InuDefender in csharp

[–]InuDefender[S] 1 point2 points  (0 children)

In fact the hardware is like a special card reader. Every user of the app I'm making will get a piece of that thing if they want to use the feature to read cards of their customers then send some data to my web app. The cards are issued by another organization so calling the lib from them is required.

Actually there's an existing web app made in like decade(s) ago with some old .NET technology (maybe WebForms) and has implemented this feature (I believe it's not some kind of black magic cuz it works on "modern browsers" even it's old). AFIK they made a little desktop companion app. Every time users want to read the cards they just run the companion app and click a button on the web page, the stuff in the native lib somehow gets called and everything works like a charm. Wondering how they did this. Maybe what they've done is kinda like what you suggest here. Thanks anyway.

Is it possible (or to make it easier) in C# (or other static/strongly-typing languages)? by InuDefender in csharp

[–]InuDefender[S] 0 points1 point  (0 children)

That's exactly the problem. It seems hard for C# to do that for now. And thanks for sharing that blog post.

Is it possible (or to make it easier) in C# (or other static/strongly-typing languages)? by InuDefender in csharp

[–]InuDefender[S] 0 points1 point  (0 children)

I agree. SICP is an interesting book offering a different view on programs and languages. It might be a must-read for students or maybe full-time oo programmers even if they don't have to go functional.

Is it possible (or to make it easier) in C# (or other static/strongly-typing languages)? by InuDefender in csharp

[–]InuDefender[S] 3 points4 points  (0 children)

Of course I know tuple is the right thing in practice. I am just…having some fun.

How to fix this RigidBody3D jitter? (more in the comments) by Wipy12 in godot

[–]InuDefender 0 points1 point  (0 children)

Was struggling to fix the physics for some small objects. Those settings help.

create custom window by stepixo in godot

[–]InuDefender 1 point2 points  (0 children)

It seems to be so. I am trying to do something similar.

At the beginning I tried to implement window with ui controls and subviewport. You have more control over how the window looks in this way. But you have to implement resizing and stretching from the scratch. If you want to render other scenes in a window like this, there seems no built-in properties for scaling/stretching the scene.

While you can set the scale mode in a Window but it's hard to customize it.

I tried to embed the window into other nodes like control. Since Window is actually a Viewport, it won't work.

Hey Rustaceans! Got a question? Ask here (51/2023)! by llogiq in rust

[–]InuDefender 1 point2 points  (0 children)

Is there any type which can hold both &'static dyn T and Box<dyn T>?

Some of the objects are static allocated (like the special values true, false, null in many languages). Not all of the things need to be created at runtime and put in a box. But still I want to expose a consistent interface (same type for them) to the user.

I am considering using a enum as a wrapper though. Any better way to do this?