Do scripters specialize in certain Development

Hey developers! I have been developer for 3 years who specializes in Simulator and horror development. I have been everywhere on the development world from making a plug-in to making simulator and horror games. My question is this. Is it normal to specialize in one development, or know a little bit of everything? Like should I spent more time in horror and simulator games to perfect them, or should I spent that time in other places. Like for example, I know nothing about raycasting, even though I feel like I really should know it .

TL;DR do you specialize in certain development and perfect them or know a little of everything and why.

8 Likes

Of course. From experience, there are definitely things that will come easier to you and that will be easier to develop than other things. That being said, you should still be able to carry over knowledge from one genre to the other. I also didnā€™t know raycasting until recently, but I donā€™t think it was a bad thing since I never had a use case for it.

I know a bit of a lot of things mainly because Iā€™ve never developed much of a single genre. My main projects at the moment are both very unique, and donā€™t fit into much of a genre other than one of them being round based. Iā€™m planning to make an FPS at some point (thanks @INDBRO_San for the idea) but that will most likely be the first project I ever work on that fits into a regular genre without any asterisks attached.

3 Likes

There most likely are, but for me, I never think about it. I just script what I want to script, and if there is something I donā€™t know, then I look it up and learn it.

3 Likes

This is basically what I mean when I say I know ā€œa little bit about a lotā€

2 Likes

Of course, I do this to. From a standpoint to of working on like say a development team though, should I be spending the time to know more things, or just I focus on what I already know, and expand and condensing into effective code.

For sure. I can use a lot of what I know in other games. But should I be spending my time to making my understanding of a scripting concept, to the point of being able to make efficient code or just understand it enough to the point of using it in my case, and save that time for say other things. I sometimes donā€™t write the most efficient code in the world lol

3 Likes

Itā€™s totally up to you, but if you intend to be on a development team, it would probably be a good idea to expand your knowledge so you will be ready for any task they have for you.

3 Likes

100% just focus on what you know. If youā€™re in a team, you definitely have to make sure youā€™re making progress since one person slowing down can make it harder for the other roles. That being said, you should still try to expand your knowledge at any time possible, especially if it is needed in a team environment. Donā€™t hold your knowledge back but still employ your current knowledge.

I can say Iā€™ve just written code I barely understand before, and itā€™s an awful thing to do. It makes refactoring tough, the code harder to read, and just means your future experience will be worse. Make sure you understand what you write, because other team members (or future you!) will have a harder time expanding the codebase.

1 Like

And to OP, this is still not a bad thing by any means, I just personally believe that you should do this on an ā€œas neededā€ basis to ensure you donā€™t slow others down unnecessarily.

1 Like

Often in my place I am the only scripter, out of 3 builders, a Gui designer and a animator, so often I donā€™t have to worry about people seeing my code, none the less, still a good habit to start now. I just wrote a 1000 line script for room generation and I need to condense it. But there is tons of ā€˜areasā€™ to condense so idk where to really start, so itā€™s hard to look for one. None the less this feedback is much helpful

2 Likes

This is something that I had to struggle to learn and that sounds insane, but is true in practice: future you might as well be another person. Write your code in a way where you will be able to clearly understand what does what in the future.

1 Like

I personally would say that I know most things about Lua, except for tables and advanced math, and I donā€™t have problems. I can make many different types of games easily, I would say that I know a lot of everything.

1 Like

What do you not know about tables?

Pretty much everything. What is the difference between tables and dictonaries?
Why do you need them? Cant you just use-
local BlockColor = ā€œRedā€
local BlockSize = ā€œLargeā€
?

2 Likes

In Luau, tables are an umbrella term; dictionaries are just a ā€œtypeā€ of sorts, which is where the indices of the table are strings or some other thing; itā€™s called a key (Iā€™m probably explaining this poorly).

Tables are just way cleaner. What if you want to loop through something, or pick a random thing from a list of similar things? What if you want an easy way to pass data from one script to another? All Modulescripts really are in technicality just tables that can be accessed with the require function.

1 Like

In the realm of programming, the concept of data structures emerges as a cornerstone, tightly interwoven with algorithms. Itā€™s akin to the foundation upon which programming solutions are constructed. Two primary data structures, arrays and dictionaries, play pivotal roles in holding and managing data. However, understanding their nuanced differences is crucial.

Arrays shine when weā€™re dealing with objects that can be iterated without necessitating specific indices. Fundamentally, an array organizes its content in memory by positioning values consecutively. This layout leads to expedient memory addressing in languages like C++, C#, and Java. Calculating the memory address of an element involves the starting array index, data type size, and desired index. This arithmetic yields the address: ArrMemAddr = ArrMemLocation + (Data Type Size In Bytes * Index To Find). This property permits swift linear searches because of the contiguous memory arrangement. Nonetheless, languages such as Lua, Python, and JavaScript break from this pattern; their arrays exhibit scattered memory allocation. Despite this, the notion of utilizing numerical indexes remains constant across these languages.

Dictionaries present a distinct approach, where values are not stored adjacently in memory but rather distributed across it. While this non-contiguous arrangement can pose challenges, dictionaries hold immense value when weā€™re aware of the specific keys we require. They offer organizational elegance by providing a means to efficiently access data based on known key values. This strategy deviates from utilizing numerical indices that consume less memory space (requiring only 1 byte for values within 0-254) compared to a single character in a string. However, dictionaries counterbalance this with the structured simplicity that comes from predetermined keys.

Lua, intriguingly, introduces a multifaceted character in the form of tables. In Luaā€™s world, tables embrace diverse roles, effectively becoming stacks, heaps, queues, arrays, and dictionaries all in one. The Lua manual aptly points out that ā€œtables in lua are not a data structure, they are the data structure.ā€ This intriguing notion encapsulates the essence of tables, which serve as a versatile vessel for storing values using both numerical and string-based keys.

In essence, the programming landscape thrives on the synergy between data structures and algorithms. Arrays and dictionaries, though distinct in memory organization, cater to various needs by either enabling rapid access or fostering structured data management. Luaā€™s tables emerge as a dynamic embodiment of this concept, embodying an all-encompassing data structure that defies conventional boundaries.

2 Likes

Yeah, you did a way better job of explaining this than I did.

1 Like