Skip to main content
GameDev.net gamedev.net
🔒 Locked

Life on the gameDev prarie : Look Ma, no hands!

Started by NubDevice Apr 10, 2019 at 9:37 PM 15 replies 7k views
Original Post
NubDevice
NubDevice

Thread topic : Group approval rating / brain storming a game code grab bag section of the site.

So, I had to take a moment to acquaint myself with this particular board. A little of a rocky ride through the site transitions in the beginning but we're looking good. So good now that we've stabilized, we might be ready for some more bling here on the site. Put a pin in that for a moment.

The beginners section is interesting to watch. You get all the flavors. One in particular being focused on are the group that seem to try really hard but just spin wait because of this or that. I can't guess how many roll though here amongst the shadows not being able to actually make that first few steps after the compiler install bit. I understand the general rule of thumb, don't just give the fish but teach to fish instead. No argument. No contest. But there is a group further out begging for some game coding action but struggling. (or appear to be) Along that line, the Game Challenges here, also I wonder if there is missed participation for similar road blocks. "What do I start typing", beginnings of sort.

A recent topic thread in the beginners board demonstrated this frustration, but not from lack of suitable code example but more of a lack of grasping base logic for a problem. The thread started going sideways and some off topic ideas were thrown around. Then the boss comes in a gives the nod. The ponder is, why not give code. What I'm proposing is a place where someone can take their 'problem' being some small piece of the larger puzzle, thumb through an index and pull out a little black box. Problem solved (in theory) Happy customer, life goes on...the user inserts this piece of code in an appropriate file, move on to the next problem.

On the experienced user side, the game is to create these black boxes that don't break other accepted black boxes. The goal would be for a sufficient library of concepts that when put together, a first game could actually be assembled. well :), I could try to be a little more vague, but that's the basic premise. Perhaps so abstract that it's stupid, but a little kicking of the can never hurt.

This got posted in haste slightly, and in my head it's mostly a pipe dream or a reach for Eutopias. I'd like to reach out to the community for a couple of stars to steer by. This could be the dumbest idea ever, or... :D let's talk about it a little.

First impressions welcome also...what are you talking about type stuff...all good.


Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
NubDevice
NubDevice

@khawk I think, the start a group suggestion is the sanest as a beginning...I too would like a little discussion to see if this thing is chase worthy.

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
khawk

Some initial quick thoughts while I have a chance.

I'm hoping some of the moderators pop into the thread since we discussed offline, and I hope more in the community chime in.

But I think there is a bit of a direction toward being able to save "snippets" or code blocks into a repository of sorts. Similar to the concept of bookmarks for source code, categorized and labelled appropriately.

Over time as a library of sorts gets built I think these components get built. And maybe that fits in with what you have above?

Admin for GameDev.net.
NubDevice
NubDevice

makes me think...IT's hard. how to please all of the people all of the time type stuff. As for an existing model, i'm afraid I wouldn't recognize it even if everyone was pointing at it :) I suppose a person would have to ask themselves, why do we need another library, there are so many to choose from. The only argument I can come up with is a larger localized group using the same tech and having better conversations because of it. Thought I'd toss that in the hole...that's all I have at the moment.

what I'm feeling is missing maybe a little, is where's my modern NeHe? Right? Who is the leader? RIght? It's tough clawing with the big dogs. I'll try again later, try to find some more why's. and why not's.

hmmm, I think I went sideways. :) good times.

edit: oh but try this one on...If the entire site was using a common base, we'd be banging a boat load of code. Maybe even two boats. lol...sorry. I thought that was funny.

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
Sir_Pep
Sir_Pep
40 minutes ago, GoliathForge said:

Who is the leader? RIght? It's tough clawing with the big dogs. I'll try again later, try to find some more why's. and why not's.

Open Source Projects don't necessarily need a leader. Just a good group of guys to keep everything in check, similar to moderators her on GD.net.

Also, I will add my 2 cents to this and say that it does seem like a really good idea. The first problem being of course that it would have to compete with something like Stack Overflow which is no small task, but I'm sure most of us have spent a fair bit of time googling very specific coding questions like "How to make an NPC go a certain direction", Only to find tons of rabbit holes and videos, but no real block of code.

Our dev group has just in the last month hacked together 3 very good pieces of game code that we wanted to somehow give back to the community, but had no really good way of doing so. A place like you mentioned above sounds very applicable in the every day life of the people here on GD.net :)

JTippetts
JTippetts

A lot of questions get asked multiple times, and often there are questions that seem (to a newbie) like the answer should be easy, that turn out to be quite a bit more complex, things like calculating firing angle to intercept a moving target, stuff like that. For such common questions, which can be asked in isolation and independent of any particular framework or engine, I could certainly see a use for something like this. Seems like it could be a bit of a rabbit hole in a couple ways, though:

1) Security. Black box code from strangers on the internet could be a serious security issue for newbies who don't know enough to parse out the guts of the code and identify code with malicious intent. Sure, more experienced devs could flag such, but that assumes a more experienced dev will bother to take the time to review submitted code in the first place.

2) Liability. If code that is covered by existing IP laws in a certain region is submitted in violation of copyright or license, how might it open up gamedev.net to legal trouble? I am not an expert on matters of copyright and IP law, and in fact I get kinda trembly and sick just thinking about it, but it might still be something to think about. Though, I guess if Stack Overflow can operate safely, gdnet should be able to.

3) Multiple Languages. This would be more of an organizational issue, but not everyone here is a dedicated servant of the One True Language, and often some will want their code delivered in Some Lesser Inferior Language instead. A code black box is only a black box insofar as it can run on the chosen platform/language/environment and thus there would be a lot of forking and branching, and possible dead ends if a given language is not supported. Sure there could be partitions in whatever database or organizational structure is used, OTL code here, SLIL over there, but that could lead to frustration for newbies who just want Code That Works.

4) Reputation Concerns. If low-quality code is submitted without review, it might be pretty easy for someone to end up posting somewhere like "Hey, I got this code from gamedev.net and it works, kinda, but it's slower than crap. Also it sometimes reformats my harddrive when I explicitly tell it not to. Once it dug a hole in my backyard for some reason, and I broke my leg when I fell in the hole. Don't get code from gamedev.net."

There might be a few more concerns that just-coming-off-a-12-hour-day me can't think of right now. Not saying it's a bad idea, just saying there might be some issues to be worked out.

NubDevice
NubDevice
32 minutes ago, JTippetts said:

Don't get code from gamedev.net.

It's true isn't it? :) Actually I think we're getting closer and maybe in the end all we're talking about is an indexing scheme as previously mentioned. The drive is still to be helpful so there's still something here. Nice one.

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
NubDevice
NubDevice

I think today is good to link in one of @lawnjelly 's latest blog entries because of relevance. I think this illuminates the target base of people. Just for ponder...

with this I'm leaning heavily toward bare bones, handle your own memory surface type environment. (all in software) until the individual breaks away to pursue mainstream solutions armed with or rather, just packing heat.

Something of a pre filter of sort. We only churn out the best here. Right? lol...I don't know. why? :D I just like it. Thank you for the conversation. I think I'll try some subtle experiments in public and see what takes hold. I wouldn't mind being privy to a group effort though. As of right now, I think my future actions will be opaque and I thank gamedev.net for the worthy distraction.

Continued discussion appreciated.

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
Sir_Pep
Sir_Pep
17 hours ago, JTippetts said:

3) Multiple Languages.

@GoliathForge while your at it, just add a language converter to it ? Would be Super Helpful ?


Since people would be coming at it from Gamedev point of view, you would probably only need the main game engine languages. C#/C++/Lua/JavaScript... But yeah, that still has to be taken into consideration and I really wasn't thinking about that.

Also, It's not the end of the world if it's not across all the languages as a beta run... Just clearly announce which is the primary language that will be shared. Good code is really all that will matter at the end of the day. Language is an obstacle. Bad code is a kick in the behind.

NubDevice
NubDevice

My rose colored glasses are clearing up a little. thanks. I keep thinking to look forward to a lot of kicked on my part. That would be awesome to level up from the comfortable terrace I find myself on now.

I hate to do this but @khawk sorry dude, but have you seen [ this ] (online flowchart) It's too much...we can't have it...right? :D

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
lawnjelly
lawnjelly

I originally wrote this yesterday but my browser ate my post so I'll have another go:

Having each black box self contained is fine, but expecting these to work together in any way I can see as being problematic.

Even if you standardise a language, there is far more than that which needs to be consistent for things to have a hope of working together in a consistent manner - that's why projects have coding guidelines, style guidelines etc.

There are different religious beliefs / fashion as to how things should be done, and people don't always agree. e.g. We must use ECS everywhere, smart pointers, garbage collection, no STL, etc etc etc, and things would quickly become a mess if everyone had a different style. Likewise codebases of any size tend to have a hierarchy where higher level concepts are expressed in terms of lower level concepts (vector3, vector2 etc), which again dictate a certain way of working.

At this point you have to ask whether you are indoctrinating beginners with what might be a flavour of the month style guide. But I guess this is true in any codebase.

Tree indexing

Related to the idea of the snippets but perhaps valid on its own, it occurred to me that what might be useful is a more in depth way of indexing the snippets / forum posts. At the moment the forum is a very rough tree structure, and the articles. Once you go above that you start having to use text search. What might be useful is to have a far more detailed indexing tree, so it is easy to find articles / snippets on your subject of interest.

e.g.


Programming
	->AI
		->Pathfinding
			->A star
			->Navmeshes
	->Graphics
		->Visibility determination
			->Portals
			->BSP
			->PVS
			->Occlusion culling
		->Lightmaps
			->Radiosity
Art
	->3d
		->Animation
	->2d
Sound
	->Music
Design

The nodes .. forum threads, snippets, articles, blog posts might appear in more than one leaf of the tree. Personally I'd find this approach very useful and could spend hours researching through the tree with the information on this site.

lawnjelly
lawnjelly

Another point:

Usually even using the same general algorithm there is more than one way of coding a technique. One way may be very simple and easy to understand for explaining to beginners, another may be far more optimized and represent what you would use in a working system, but be incredibly hard for beginners to understand. Which would you use as a snippet? Or both?

NubDevice
NubDevice

We might be about to cross outside my league, so all I can add at the moment is color. As an artist, bashing in some manner, we would be pushing verts/pixels around to better the form working in the confines of the tool. As a coder, I have two major options, write text or wire nodes. Okay. It is what it is right..is there something else? did the visual scripting movement work? I never really got into that. Is that really a direction that is used? I'm reminded of the Tesla story. Is there a better way, or is all this wire really necessary. I think my initial thought was leaning on visual scripting (concepts) (under the hood) constraints but without the visual interface.

Your words struck a note in the "which snippet" line. "Here, I'll show you the easy to understand way but doesn't work as well" actually has always bothered me. Instill in me a crap way to do it while I'm very pliable, I think hurt me early on. I have to stop here, loosing my train of thought on that already... tapping out.

A partial is better than nothing, I hope. It's exciting to see a reach for the brass ring when talking about better indexing.

edit: black box == scripting node ? more in check : hog wild; if(hog wild) chart new territory;

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.
khawk
9 hours ago, lawnjelly said:

Related to the idea of the snippets but perhaps valid on its own, it occurred to me that what might be useful is a more in depth way of indexing the snippets / forum posts. At the moment the forum is a very rough tree structure, and the articles. Once you go above that you start having to use text search. What might be useful is to have a far more detailed indexing tree, so it is easy to find articles / snippets on your subject of interest.

You're onto something. ;)

The way I describe it is GDNet's content structure has remained the same for 20 years. It is organized vertically - each content type is organized into some set of categories, or maybe one or two layers of categories. By vertical I mean things like blogs, forums, articles, etc. But the categories are relevant across content type, as there is a relevance between things like a forum post and a blog entry discussing similar topics. This organization works if you know you want to view a specific type of content, but that doesn't align well with the modern world.

So without too much detail, the new platform shifts toward a more matrix'd way of viewing content. Still have vertical content types but also organized horizontally across subject matter. You want graphics programming stuff? Go to the graphics programming area, and see all the blogs, forum posts, articles, projects, and news related to graphics programming.

This organization is one of the primary drivers for the complete redesign.

On 4/11/2019 at 2:09 PM, GoliathForge said:

makes me think...IT's hard. how to please all of the people all of the time type stuff.

Meant to reply to this earlier, but I laughed when I saw this comment.

Welcome to the world of trying to manage something like GameDev.net. Every change pisses someone off. :)

19 hours ago, GoliathForge said:

I hate to do this but @khawk sorry dude, but have you seen [ this ] (online flowchart) It's too much...we can't have it...right?

Haven't seen this. Adding a diagram editor will need to be lower priority for a little bit, but I can keep it in mind.

Admin for GameDev.net.
khawk

Re: the source code topic

Right now I'm viewing this as more of a snippet library. Not full projects or libraries, but perhaps small snippets of code like you might use in a gist. The question on my mind, is would that be useful? A taggable, categorizable, searchable, labellable snippet library? One issue I keep thinking about is code dependencies. Even short snippets have them.

Admin for GameDev.net.
NubDevice
NubDevice

good times ya' all. I think we came real close to doing it.

going after the day...excited to see perhaps some late remarks.

Dev careful. Pixel on board.
Buckle up. Everything will be revealed.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.