2021-05-17 16:08:40

Haily, don't worry about indentation. I had that drilled into me when first learning, and it makes sense to me. it's one of those concepts I am grateful to have had pushed on me before I developed bad habits, and conceptually it makes sense. Indentation or spacing is meant not only to display cleaner code, but also to demonstrate which commands belong to which structures. Thankfully, the concept of nesting doesn't frighten me.

Key, I will probably email you later on, because you hit the nail on the head. Learning the concepts and the syntax isn't especially hard, but learning how to think in order to utilize those concepts is where I'm struggling.

Check out my Manamon text walkthrough at the following link:
https://www.dropbox.com/s/z8ls3rc3f4mkb … n.txt?dl=1

2021-05-17 16:45:07

Yeah, I, wasn't so lucky in that regard. I started with python, but when I picked up BGT a lot of that went right out the window, and BGT's manual teaches you some really, really bad habits I had a hard time unlearning.

2021-05-17 17:04:25

Hi.
I am in the same situation as jayde. For quite a while I tried to learn programming on my own but I just couldn't understand how to pull it together. I tried bgt and python and I could get a grasp of things but I had no idea how to think like a programmer so my code never worked. Now though, I have started a course on C# in my native language with a pretty good teacher. The eureka moment for me was when he explained that the language you work with doesn't matter so much as the way you use to think the project you are building. After this revelation I begun to read code a bit differently. I begun to look for how it does a certain thing rather than trying to find what the results are, in other words, I started looking more at the wheels and pins and how they click together than at the entire product.
I am steadily advancing now and I am starting to really like it.
I haven't seen blind people talk so much about C# and I wonder why because it's a fairly easy to learn language, it has a very good IDE that helps you a lot, I use visual studio for this and it helps me a lot and I bet there are  many ressources if you ever need help.

“Get busy living or get busy dying.”
Stephen King

2021-05-17 17:59:34

The problem with C# is that it forces you to use an IDE. Don’t like VS or VS code? Too bad, you’re shit out of luck, basically. In my experience VS is also extremely laggy with NVDA, and I despise the whole business of adding references with a GUI.

2021-05-17 18:19:02

If it matters, my primary screenreader is Jaws, BTW. I have NVDA as a backup, however.

Check out my Manamon text walkthrough at the following link:
https://www.dropbox.com/s/z8ls3rc3f4mkb … n.txt?dl=1

2021-05-17 18:22:15 (edited by Lucas1 2021-05-17 18:22:34)

@28: Audiogame devs are concerned with security. C# isn't very secure when packaged as an executable. Neither is Python, but Cython is easy enough to implement effectively. Securing a C# project seems to start with writing a C++ loader yourself.

2021-05-17 19:02:14

The other problem is that it's only recently that C# accessibility has gotten good enough that it's not a giant pain, and the older generation remembers when Microsoft fucked us over.

My Blog
Twitter: @ajhicks1992

2021-05-17 19:15:41

@31 this might be the case however I was lucky enough to start learning it already in an accessible manner. I find visual studio very friendly towards screen readers and the lag isn't that bad on my machine with the settings recommended by my teacher, who happens to be completely blind aswell. Mainly I had to disable previewing and this fixed most of the issues I was having with the lag.
As for language specific challenges I admit I am not experienced enough to have faced them but I hope to gain enough wisdom in the future to be able to easily switch between languages. As my teacher pointed out, once you think like a programmer you can easily learn the specifics of a language in a few days and be able to work with it effectively.
My advice for the OP is to get a teacher or a mentor, this will greatly help you because you can gather a lot of information from how he perceives and explains things related to programming.

“Get busy living or get busy dying.”
Stephen King

2021-05-17 19:46:35

@33
Ok so for perspective in the 2010-2012 era the answer to learning VS was "well I already knew all the keystrokes so when most of the Ui stopped working I was okay".  In the 2000-2010 era, we could literally use the forms designer.

.net is slowly making it so that you're not coupled to VS, and I'm not saying don't use it.  But it's one thing for "well I have to use the IDE, what if it becomes inaccessible?" to be a hypothetical question, and another to have been programming when that did actually happen.  I quite like the language itself, but mostly when you're pretty experienced your projects all have 5-10 year lifetimes or longer, and while Microsoft is good at accessibility now it's really hard to earn back the trust.  I use VSCode but if VSCode stopped working tomorrow I'd be fine.  If you're on C# and VS stops working tomorrow you're...less fine.

My Blog
Twitter: @ajhicks1992

2021-05-17 19:55:41

@28, yeah, what 31 said: people seem to be utterly obsessed on security around here. And I don't really understand why, and this is especially from people who don't know what they're doing either. Security is good and all but there's no reason to obsess over it until you actually need it. And most of the time the ones who claim they need it actually don't, e.g. those who want to protect their code.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2021-05-17 23:42:08

this, "learning how to think" thing really resonates with me. Sure I know data types, functions, the various loops, the hazards of dynamic typing, etc. But past a certain point, I just... don't know what to do with it all. SO I push to learn the stuff from various books in various languages, but it's not really answering some fundamental questions. Like despite them falling out of favor, I wish I knew how to write a bubble sort, but I don't.

Of the things I do use, that description of using the tools in a toolbox is pretty spot on, because I can't write my own algorithms.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2021-05-17 23:49:45

If we're talking about things like data structures and sorting and whatever, I rarely write my own algorithms.  When I do write my own algorithms, it's almost always a slightly modified variant on something someone else came up with first.  When it's not, it's usually a variant on something I did in the past.  I don't think I can do anything but a couple basic tree/hashtable things and mergesort without looking it up.  When I do do my own algorithms, it's basically the only thing I do that day.

Learning to think is important.  Learning to write sorting algorithms and things is almost irrelevant.  A JRPG needs almost nothing, not even proper physics.

My Blog
Twitter: @ajhicks1992

2021-05-18 01:45:19

The most important thing a JRPG needs is map physics. As in, think A Hero's Call, and how items show up on a map and how the player moves within that map. That's the map style I'm hoping to go with, as opposed to something like Manamon which is pure top-down and a whole lot simpler.
Everything else, I think, is just math and logic.

Check out my Manamon text walkthrough at the following link:
https://www.dropbox.com/s/z8ls3rc3f4mkb … n.txt?dl=1

2021-05-18 02:20:50 (edited by Zarvox 2021-05-18 02:28:45)

The rhythm rage level creator was me taking what I knew and just putting it together. I didn't even expect it to work. Strings, functions, integers, and file writing was about all I knew. No arrays, no classes, no dictionaries, and I didn't even know how to return data from a function back then. But somehow, I made it work, by thinking about what concepts I had and what I could do with it. I couldn't load data. I couldn't make an array of aliases or macros. But I could write a very basic program that converted your key presses to a rhythm rage level. And from there, I just kept going, and I learned more concepts even if I hated them. I hated timers back then. I hated arrays with a passion when I found out what they were. But because of that tiny project that I put what I had known so far together, it gave me reason and the ability to learn more and add that new knowledge to that project, and later more projects. It is true what they say. Once you start making your own stuff from scratch, you slowly begin to find potential and create more potential. Modifying already existing projects is ok for learning how to change functions or if statements, but it doesn't teach you how to assemble anything yourself. It just clicked for me once I put that project into motion. I actually didn't even know the difference between sound pool and a sound object. I couldn't even write a script that plays a sound then exits. But overnight, I just kept building once I put one thing in place, testing every single small piece one step at a time. And by morning I had a project that supported aliases and even macros. A very very shitty one, but I was more than grateful it worked, because less than 12 hours before that, I had nothing. That project would later go on to support several different ways to make a level and several useful and useless features throughout the 2 years I worked on it. RIP rhythm rage, because that's why there is no python version of the creator. Plus Oriol could just make one himself in less than half the time with twice as many features.

2021-05-18 02:31:37

@38
You'll find that top-down tile grid is much easier to code, and that first person viewpoints are going to require trigonometry and raycasting and things.  It's not hard objectively but based off where you are you might want to say it's a 2D JRPG or something and aim for that sort of perspective (the handhelds still do JRPGs this way, I believe).  If you're good at trig though, go for it.

What you want isn't really physics.  When I say physics I mean things like proper collision detection for bullets, proper velocity/force simulations, a bunch of stuff like that.  I can expand on this explanation, but for the sake of not derailing this too far suffice it to say that because of reasons if you have to deal with hundreds or thousands of enemies and/or running AIs or whatever things get massively more complicated than something that presumably switches to a dedicated battle screen.  There's a first level where you can just do whatever and it works, which is where what you're proposing is.  There's then a second level where you have to optimize every piece and learn about algorithmic complexity and some other things or it won't be fast enough, and that's what gets a lot of people around here stuck, especially when it comes to collision and pathfinding code.  Both levels are complicated from your perspective because you're not on level 1, but level 2 is as far from level 1 as level 1 is from you right now, if not further.

My Blog
Twitter: @ajhicks1992

2021-05-18 02:35:59

@21
I guess I'm late and I don't want to derail the train entirely but the answer to your question is that if you want a multi-language library as opposed to something that's just usable by Python or whatever then you have to use C, C++, Rust, or one of a couple other lesser-known options, and you will hate yourself because C/C++ are hard even to those who know them, Rust fries brains of new programmers, and the lesser-known options are lesser known for good reason.  Don't try for this if you're new.  Learn to code well first.

My Blog
Twitter: @ajhicks1992

2021-05-18 03:09:10

Oh, I know that higher physics is orders of magnitude beyond what I need for a JRPG. I get that.
And I understand virtually nothing of trig, by the way, so I guess the AHC-style movement is out unless I get help. Because learning to code is one thing. Learning new math on top of it is just another stone in an already shaky wall.

Check out my Manamon text walkthrough at the following link:
https://www.dropbox.com/s/z8ls3rc3f4mkb … n.txt?dl=1

2021-05-18 03:31:23

I mean, out, I don't know.  Sam Tupy hacked it somehow.  But if you're thinking that you can represent a player's facing direction as a variable called degrees and do it that way--kind of?  But not really.  If you want something like a Swamp radar out of it then you need trig and a raycaster.  So you'd have to specifically design around anything that needs trig, which you can do it, but you'd be pretty constrained.  North/south/east/west is much much easier.

My Blog
Twitter: @ajhicks1992

2021-05-18 06:37:16

@Jayde, I get you about the thinking, in a way, I have the same problem.
one thing which helps is braking the project down into parts in your mind, and figuring out how to get those parts to work.
for example,, taking a simple simen game, what you could do is split it into parts, like the keyboard practice, the scoring, the random generation of sounds, etc.
then, it becomes easier to figure out which lines of code can do what and how you can utilize the concepts you have learned.
this is another reason I said if you don't understand a concept, make a project which uses that concept, it helps tons.
and unfortunately I have no idea about that rpg movement thing, I'm not near advanced enough to even start thinking about how that works.

2021-05-18 07:56:51

Hello everybody. I also join the discussion because I know the Python language, I managed to make some small games, like guess number, I played a bit with some functions of Lucia and Earwax, however I lack a guide on how to continue to create an rpg.
Since Jaide asked for help on how to create an rpg, I think that it could be useful to many a guide, also written in a collaborative way, on how to continue, starting from the basics of Python, to develop everything you need for an rpg: that tools to use, how to build a map in an accessible way, etc.
I realize that writing such a guide could be challenging, however I think there are many people who would like help developing their game. So far the only guide of this kind is for the BGT language, which as everyone knows it is advisable not to use.

2021-05-18 10:07:46

Part of me want's to say creating the RPG is not that hard... but then another part of me screams "it's not as easy as you think!"
You need your map, then your player, then your enemies, then items, most likely you'd also need chests.
Now the main objects are done i think...

Moving on to movement... I don't know how for the life of me to do AHC style movement.
I can check if the player is moving right, left, up or down, but litraly nothing in between. This is why i am using lucia's rotation module, probably not the best out there, but it works for what i need it to.
Then we move on to EXP and level.
This is probably where most of your objects are going to have propperties.
I don't get those formulaes yet.
Please note that i am not making an RPG game at the moment, just some points to mention for if i had to do stuff from scratch.

best regards
never give up on what ever you are doing.

2021-05-18 14:21:57

That's kind of the point of this topic. How to learn programming such that you don't need a guide out there for every type of thing you want to do. If someone writes a guide, then whoever follows it will produce a game that is not really unique, and not really their own. Oh maybe they fudge around the numbers, but it's still got the same mechanics. We don't need a guide telling us how to develop RPGs.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2021-05-18 15:32:34

@47 I did not meen to give instructions on how to make an RPG, just the way i've interpreted it...

best regards
never give up on what ever you are doing.

2021-05-18 16:11:20

no the other guy

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2021-05-18 19:47:50

making an RPG is a bit more complicated than the items in post 46 seem to imply. For example, there is no specific formula for experience, people just choose their own. For example, I could have something like CurrentXPCost^Level and that'd be a valid formula. You'll also want to consider any puzzles your game might involve. A good example of this are the Manamon games. They don't just have movement, but switches, traps, Simon-like games, etc. How are you going to store your enemies? Objectives? How are you going to balance combat? What equipment will your players use? How will equipping weapons and armor work? That's just a fraction of what you'll have to decide.
Also, then there's a small problem of actually implementing what you want. For example, you'll need an observer and event system if you want anything beyond the basics in terms of questing. You'll need to figure out how to write AI for your enemies, keeping track of any special items, ensuring that whatever player does on the map gets saved (flipped switches, locked doors, etc). You know, minor details (I'm joking).
@Jayde, I certainly wish you good luck. Programming is hard to get to grips with. Making games is harder than it may seem (trust me, I know). There is a lot that goes into creating a simple empty room with a singular sound source which the player could explore, much more than you may imagine. That being said, you seem to have the right mindset about learning, so I can only wish you luck. I can't offer my assistance mostly because I don't feel like I can teach anything past the basics. I hope that you can find somebody to answer your questions.