LemOS

Started by The64Watcher, August 10, 2024, 07:03:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

The64Watcher

so recently ive been working on this turbowarp project, one day i was watching inkbox make an os for the nes, then i said "i wonder if i can do that too!" so i acutally accidently followed namida's advice and i got some progress for it! currently im working small, but i am planning to make
1. a word processor
2. a graphic creation software
3. a app creation software
if you have more ideas, let me know, but i will try to flesh this out the most i can, stay tuned.

PS. here is how its going (attachment)
i am the best rec roomie in the forums yall

The64Watcher

i am the best rec roomie in the forums yall

The64Watcher

NEVER MIND, I FEEL SO GOOD NOW
i am the best rec roomie in the forums yall

namida

Those apps you're suggesting, while important to have in an OS, are pretty complex ones. You should start with some simpler apps for it (perhaps you could get a better feel for what's needed, if you first create similar standalone apps for an existing platform - sure, there might not be an audience, but the skills you will learn in the process are very valuable for bigger projects in the future) - perhaps a Notepad clone, and a simple game based on something like Tetris or Minesweeper? (And if you're good at the art side of things, you can always use fancy graphics in them - it's the gameplay / functionality that I'm suggesting you keep simple at first.)

Almost every good programmer you encounter, will have started off with projects like that. Not because the world needs another Notepad/Minesweeper/Tetris clone, but because making such an app/game is a great way to learn skills you'll need in more-complex code later. (Even if you're using a game maker type app, rather than coding, the same idea still applies - and in a lot of cases, these sort of apps do ultimately result in you coding, just in an abstracted form, and as such some of the skills will transfer over to actual coding later.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

The64Watcher

namida... i came from scratch, i learned many things, my history is bigger when you look at my scratch.
i am the best rec roomie in the forums yall

namida

#5
Making a few Scratch projects is nowhere *near* what you'd need to create an OS - and Scratch itself is not remotely suitable for making an actual OS. You could make an app that looks like an OS, but it would still just be a normal game/app running inside a normal OS.

OSes are an extremely big task - pretty much the only other kind of software you'd be familiar with that's comparable in effort is the fanciest of AAA games. They take years of work by multi-person teams, if they're any good. If you see one that's been developed rather quickly - I can guarantee it's not a full OS made from scratch, but rather a fork of an existing OS (most likely some flavor of Linux), and even that requires a very high level of skill to do anything useful with (now if your idea was just "take an OS, and make an exact copy except replace some of the words / graphics with Lemmings references", that would be a bit easier - though still a learning curve for you - but at that point all you've really created is a theme). If I'm being realistic and blunt, rather than being nice and trying to gently push you towards projects that will actually teach you useful things and help you towards making bigger projects in the future - my statement would be "You are not going to make an OS at all, let alone one people will actually use. This is way beyond even my skill level, let alone yours." (And just for the record - I had the exact same delusion of "yeah I'm gonna create an awesome OS that everyone will use instead of Windows!" when I was around what I'm guessing your age is, too. Needless to say, it did not go anywhere, and I quickly realised that small games were about the limit of my skills at that time.)

I'm not saying this to try and discourage you from app/game creation altogether, but rather, I'm trying to encourage you to aim for realistic goals, preferably ones that you'll learn useful skills in the process of. Again, remember that I was in your position once too! - I know you probably hear that a lot, and yes, if I'm being honest, sometimes adults are talking shit when they say that, but this is not one of those times. So in that spirit - if you're already at the point where you could make all of those smaller things I suggested in Scratch, then there are two ideas for what would be good to try next:

1. Make a more complex game using anything you like (Scratch or otherwise). When I say "more complex", I don't mean making something comparable to AAA games, I just mean "a bit more than Tetris or Minesweeper". Maybe a clone of a more complex puzzle game like Blockman, or a point-and-click adventure, etc.

2. Make those same simple projects again, but this time, using a programming language rather than a tool like Scratch. Tools like Scratch are great for learning some concepts and introducing yourself to app/game creation, but most of them are not so great for serious projects as they majorly "dumb down" the process (which in turn also limits what you can do, at least conveniently, in them) - you'll want to eventually move on to either a major game engine like Unity or Godot (and these will still require some programming), or to directly programming your games/apps from scratch yourself. If you aren't yet familiar with any programming languages, Python or C# are good ones to pick these days, or else the Godot engine uses its own language GDScript (though it can also use C# instead if you prefer).

Yes, this means it's going to be a long time before you have a complete project that's actually of interest to people - that's just the reality of programming, and indeed, almost any creative field. Think about it this way - do you want to spend a few years releasing little if anything, but learning useful skills and getting to the point where in a few years you can make something really good? Or would you rather just spend a few years starting and abandoning projects because you realise they're beyond your ability and/or poorly planned? Either of these choices is going to result in you not really producing anything that gets much attention for a while, but one of them involves learning useful skills along the way that will help you eventually make something people do want to play/use. (And the other thing is - you may very well find that long before you reach the point you can make stuff that's useful to others, you find that you're able to make little apps that are very useful to yourself for speeding up things you do regularly etc.)

And if you really do want to be an OS developer? You can get there someday; almost anyone can if they make the effort to learn (and to have the patience / planning needed). It's just going to take a LOT more experience than a few years playing around in Scratch.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

The64Watcher

yeah im using turbowarp, but i have made i think at least 10 pages of scratch, search up "Gig-Ribbon Beta" in the top bar, and then click on my project, with the cat, and then click on my icon, then scroll down to the bottom, you will see.
i am the best rec roomie in the forums yall

namida

I stand by the comments in my previous post even more strongly after taking a look at "Gig-Ribbon Beta".
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

The64Watcher

yeah its pretty lack luster, but i made lots of games on my profile, check them out.
i am the best rec roomie in the forums yall

Simon

#9
Quote from: The64Watchermake an os for the nes, then i said "i wonder if i can do that too!"
i got some progress for it!

How will this run on the NES?

You're announcing an OS for the NES, therefore it would be nice to see something running directly on the NES or in an emulator, or to see some code from you that we can run ourselves on a NES.

Wouldn't it be better if you posted your ideas to the Scratch forums, or to a NES forum? You'll get much better feedback there. Sure, some long-term Lemmings Forums members eventually post about their non-Lemmings hobbies, and we then care because we already know those members well. But you're not a long-established member of Lemmings Forums, you came out of nowhere only recently.

-- Simon

namida

#10
Quote from: The64Watcher on August 16, 2024, 03:43:17 PM
yeah its pretty lack luster, but i made lots of games on my profile, check them out.
I stand by my comments even more after checking out a few other games from your profile.

I want to make something really clear here, because I know I took these kind of comments the wrong way at your age: We aren't saying this to try and make you think "oh, I'm never going to be good at making games/apps, I should give up". We're saying this to try and get you to realise "I'm not very good yet, I need to practice and put in some effort to get better instead of aiming for projects that are far, far too big and complex for me at this stage", because practice with those small projects is how you get to the point of being able to do big ones. Ask WillLem if he pops into this topic - when he joined this forum a few years ago, he didn't have much knowledge about how programming works but had an interest in it; he took the advice from those of us who do know how it works (as well as making his own efforts to learn by himself via Google, trial-and-error, etc) and is now a fairly competent coder.

And I have seen (and, been myself) people who act like you are, before. I know that many people like this are not incapable of making good projects - they're just going the wrong way about learning and working on their projects. One thing in particular that you will need to realise and accept - making games/apps is not always fun. Some parts of the learning and development process are tedious and boring as hell. Some parts of the creation can be fun, yes, but the biggest "fun" comes at the end when you have a working product you can play, and if it's good enough, even share.

I myself was very resistant to putting in the proper effort - I, too, just wanted to have fun and get results right away. I was very stubborn about this. But eventually - what I've realised is that I didn't find some other shortcut to get good. It's just that, the little bits of effort I did put into projects added up, and I had learnt from the ridiculous number of those that I had started, made a small effort on, and abandoned. But, had I made proper efforts to learn instead of just happening to eventually build up knowledge from all the failed bad projects, I would have reached this point so much more quickly. I'd probably have had a bit less fun learning, but I'd have reached the point where I could make (almost) anything I wanted so much sooner - and be making all those fun ideas that, the way I went about it, I had no chance of making at the time.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Dullstar

I'll note that you can still have some fun with the learning process (though there will probably inevitably be a few parts that you don't like working on but you gotta do it anyway) -- just don't go for the "dream project" right away because that's how you set yourself up for failure by encountering an insurmountable obstacle. Starting small does not need to mean starting boring.

I'd also add that we haven't touched much on the actual complexity here. Scratch is very much designed to be easy to work with and is going to abstract away tons of complexity behind the scenes. But many of those abstractions rely on being able to run it, and your proposed operating system will, at first, have no way to do so; your operating system would need to provide all of the facilities necessary for it to run (even if it's something that runs in a web browser, this is still dependent on having a platform that is capable of running a web browser). And as it turns out it's a lot easier to use e.g. a function that draws a picture on the screen than it is to write that function. Or consider responding to the user pressing a key on the keyboard: instead of simply having some sort of is_key_pressed or get_keyboard_state function or on_key_press callback, you'll have to worry about things like how the keyboard actually communicates. Alternatively, if you want to target older hardware like the NES, you still have to hand-roll a lot of stuff because the hardware is so underpowered that pretty much any level of abstraction can be expensive, so the code is going to be much more complicated than Scratch for sure.

Silken Healer

Quote from: Simon on August 16, 2024, 08:23:09 PM
Quote from: The64Watchermake an os for the nes, then i said "i wonder if i can do that too!"
i got some progress for it!

How will this run on the NES?

You're announcing an OS for the NES, therefore it would be nice to see something running directly on the NES or in an emulator, or to see some code from you that we can run ourselves on a NES.

Wouldn't it be better if you posted your ideas to the Scratch forums, or to a NES forum? You'll get much better feedback there. Sure, some long-term Lemmings Forums members eventually post about their non-Lemmings hobbies, and we then care because we already know those members well. But you're not a long-established member of Lemmings Forums, you came out of nowhere only recently.

-- Simon

I think you're misunderstanding here. By, "then I said 'i wonder if i can do that too,'" the word "that" is referring to generally developing a mock operating system, not specifically developing a NES operating system. As said in the Inkbox video mentioned, technically the NES "operating system" is not a real operating system strictly speaking because all NES cartridges already run on top of the hardware. OP never said that that this program is for the NES.

(That being said I do agree with the sentiment of your post. This topic would indeed be better suited to a different forum.)

The64Watcher

DEVLOG 2: few icons i made, i had to change them up a bit so namida doesnt namida everywhere, also, simon, i dont know how you got mod instead of prob lem.
i am the best rec roomie in the forums yall

namida

#14
Yeah, you're going to need to drop the attitude if you want to remain a member on these forums.

If you want to try and take on a project that is way beyond the capabilities of both your own skills and the tools you are using to make it, that's on you. As long as you aren't creating excessive disruptive topics, while I can't promise anyone will continue to pay attention to them (and I suspect that once people get sick of trying to gently push you in a more productive direction, they will start just ignoring your posts altogether), it's not breaking any rules.

However, attacking people who, quite bluntly, have been programming for longer than you have been alive, for trying to offer advice in the way you have been is not going to be tolerated. On the offchance you haven't been reading the warning notifications you've received over the last few days - the disruptive posting, and the attacking of people, needs to stop if you wish to remain on this site.

If your initial thought is "no, these people are just out to get me, they don't know what they're talking about", I strongly suggest you ask a trusted adult family member (or teacher, pastor, whatever, doesn't have to be family) - someone who you believe does have your best interests in mind, and who you will listen to advice from - to look over what's been posted in this topic and see if they agree with what's being said. Not a friend your own age who is as much of a dreamer as you are, but an older person you trust with a bit more maturity around these kind of matters.

And back over on the "programming advice" side of things rather than "forum etiquette / warnings" - TurboWrap isn't going to do anything Scratch can't do; it will just run a bit more efficiently. It's still the same Scratch under the hood. If you really do want to get to the point of making serious projects - at the very least, you should look into moving onto something like Game Maker Studio or Clickteam Fusion or RPG Maker. This is not a huge step up - it's still closer to Scratch than it is to actual programming languages, but far more powerful, and some of them give you the option to eventually use actual programming languages together with the drag-and-drop / visual scripting you're used to. All of these are things that have been used to make actual real world games that get sold on Steam and the like - don't get me wrong, you're not going to magically be able to make a hit game in a few days just because you used one of these, it's a learning process like anything else; but learning them will very much be a step in the right direction.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)