Community learning project. Discussion

Hello, as the titles says, I’d like to discuss a possibility of setting up a community project for new users. There is an older thread started a while ago [url]Game Develop Linux : Version bêta], that seems to be frozen atm. But what I’m suggesting is somewhat different.

Let me give an example of how it might work. One way of doing things, could be starting with something really simple, something like a platformer or a shooter and start learning the most basic functions and mechanics, like movement, shooting, jumping, collisions, etc.

Basically things that are most common in developing simple games and focus on separate elements, rather than trying to pitch a complete game right away, if things get off the ground and some kind of cooperation could be established, it might lead to forming a team and working on a specific title in future. But I think at the begining it should be just to clue new users in, for the most part. Also I think it’s very important to have learning as the main initial goal of the project.

The question is then - Do you think this might work? Do you have any ideas how to make it work? Would you be interested in giving it a try?

I’m not directly interested, because i think i can be considered as exprienced with Gdevelop, the but initiave is good. I spent free time everytime i can to help new users on the forum, because newbies always need a hand and because i’d like to the Gdevelop community become bigger. I really Love Gdevelop and i would never have come back to development (and game development) without discovering this software.

So, yes, to me it sounds like a really good idea. Link this to an investment in time on the wiki to document lot of things and tips. Enlarge the community and make new user “better welcomed”. Sounds all good to me.

Also, just an observation, i see more and more people asking question as new user in the french part of the forum, but it’s better to focus on international, the bases of users could become stronger usign english.

You have my support and i’m glad if i could help in the future on the forum, not being directly invested in the project with a specific role, i have too many thing to manage with my actual project. I’ll always give a hand to the community :slight_smile:

Thank you, very glad to hear that, of course we’re gonna need as much support as possible.

I would also wanna ask for your help with setting it up techinically, I mean the success of the project imho depends a lot on how well the communication and cooperation will be handled, I think we need to figure out how to do that in a most conviniet and efficient way, There are a few simple ideas that could be implemented right away.

First I think some sort of tutoring/cooperative webinars or skype sessions or whatever could work here, to first get people to learn/develop something together, or any other ways to promote that, I think I don’t need to point out all the potential benefits for everyone participating and for the project as a whole.

So that’s like the very first and simple thing we could do imho, what you all think?

I don’t really what is the best on this point. I worked on severals project in the past through the internet over past 10 years. Lot of them never was finished, but the last 3 was. The successfull projects were made with people with wich i worked on previous projects, so it’s hard to imagine for me from scartch with unknown on undefined project. It depends on the ambitions of the project and people in it. I’m not form the game industry so i don’t know what is the best ways to segment tasks : gamedesign, level design, art design, sound design, etc. But its a start, these have to be observed before all : defining the needed role for the project, and recruit or let people propose themselves.

For sure i could give tips on organisation :

  • Using a support tools like trello for task to do and done, assign them to people
  • Making a repo and learn people to use it : subversion or github…
  • Using a dedicated place to talk/chat : we used a mumble server, and everytime we working on, we were all connected.

At last, for leading it, you really need to be the one with lot of time to spent, being available for anyone, being able to listen/manage/help everyone. It’s an hard thing and probably the most under evaluated.

About the learning of Gdevelop itself (because making art, and other contents are not directly Gdevelop related), you can imagine modules :

  • managing layers
  • managing camera
  • managing object and level design
  • managing inputs (keyboard/mouse/fingers/joysticks)
  • managing sounds : spacialized sounds, music
  • managing exeternal events
  • organizing events sheets and best practice
  • monitoring performance (lot of logic, do once, do everytime)
  • working txt fles : parsing, read/write, load values, pass it to global/scene/object variables
  • define sort of “class” : better to create an event for all weapon system than duplicated X events for each weapon for example…

There a lot of thing to do, but first, clearly, try to think “little”, “efficient” and “upgradable”. You could use some sort of mind mapper softwares like Xmind to make clear view of tasks, interaction between objects, variables, etc.

EDIT : also and main generally on Gdevelop learning, i started on my own by taking a deep look at every examples and tutorial.

Making this “learning” sessions sounds unrealistic to me.
GDevelop is not that popular it doesn’t worth doing it with 1 or 2 people and I doubt you could find at least 5 people at any moment to work with. Also, what if a group becoming more experienced a little and suddenly a complete beginner join the session have no clue what is going on, what a sprite is. Would you be holding two sessions or three or even four?

I believe such “learning project” would be better to be an actual project shared in modules here on the forum on the wiki so new users can take a look at each module, learn from it, may ask questions on the forum and essentially may build a complete game from this modules.
For example a platformer game. One module would be about moving a sprite left and right. An other module would be about jumping, an other about double jumping an other about wall jumping and other about playing animations when moving an other about playing sounds…etc and by putting this modules together, you get a basic platformer character that we can control and by moving on slowly you could build a complete platformer game with points, score , life, enemies…etc.
Of course each module must be compatible with each other and made with the others in mind so they can work together without much modification.

This way it would be easier for new people to learn how things can be done and fun to make a complete game from such modules, but again, it mean learning alone and by the end of the day it would be not much different from a tutorial.
Also, I don’t know how well GDevelop could support this modular thing. I believe you can import, export external events and scenes but I have never tried, so maybe it would be a pain to bring two modules, the images, objects, events, scenes, sounds in to one project and it would just become a mess by the end.

It could be different like told ddabrahim, it could be a long term tutorial, in modules, on maybe 20/30/50/+ hours like are working MOOCS on the internet. A learning program like does openclassroom for example.

Actually, most of the new game makers will try a solo project. They may suddenly have a idea and search for a game engine/tool they think they can handle. Some of they may have a spriter or artist to work with, or they themselves are artists that just need a tool without learning coding from the start.

I think that we could just separately discuss a learning process and making an actual game, and focus on learning to begin with, Maybe what we need is a community in a broader sense, like a virtual hangout, a place for people to meet, talk, cooperate, an enviroment that will serve it’s purpose by just being there, focused on learning/communicating foremost and functioning as essentially a breeding ground for teams to form or smthng like that, sorry if I’m not making much sence, english isn’t my native language as you can tell. :unamused:

Well one thing I got is time, not much else tho, but I think under competent guidance I could be useful, time will tell I guess. And great tips there, more about that later…

You are probably right, ain’t much chance of it working. But I disagree about the “newcomer problem” I’m sure there are a lot of serious problems here, but it aint one of them imho, partially I think it’s due to Gdevelop low entry barrier, as well as having a first goal - to create an effective learning expirience, would neglify the problem even further imho and there are also other ways to deal with that. But yeah the session in a standard way won’t probably work, it just might be an option if nothing else, we might need other ways of communicating/learning me thinks.

I can’t really comment on technical side of things, but if it’s indeed possible to do the modular approach, I’m all for it, since that’s more or less what I had in mind starting the thread.

Open classroom sounds good, we should discuss it in detail.

I generally agree with you, but along the way things may change, especially if there is a community to work with, people might just as well decide to get a team going/expanding or join one, since unless you’re a prodigy or just lucky, there is just that much you can do alone. And there are ofc. a lot of people I think that wouldn’t mind joining a team of like minded enthusiasts, provided they have “a place” and means for that, me thinks.

I have a few suggestions about the forum improvements that tie into all of this, I’ll post it separately a bit later.

I was give it a try last night, I believe the only way it could be done if we would have a “base project”.
This project would include all the objects like player objects, walls, floors, enemies, text to display, score, health ammo, weapon…etc.
New users could use this project to build their own scenes from the objects already included with this project.

The events would be included in external events (modules) as separated downloads, so people could cherry picking what kind of features they want in their game.
For example, if someone would like to make a platformer game, all they have to do is drop the platformer player object in to the scene (maybe one of many) and copy the relevant external events in to the base project such as move object left and right when arrow key is pressed, jump when space key is pressed, wall jump, play animations, shoot bullets, collect coins…etc
Or if they want to make a top-down shooter, just drop a top-down character object in to the scene and add the rotate toward mouse or rotate with arrow keys, top-down movement event…etc

All this and a lot more would be available as separated external events (modules) that can be download and added separately and people could contribute by making more of this kind of external events and update the base project in case any event requires a specific or a new kind of object. For example if someone adds a new kind of bullet/shooting mode to an already existing weapon, the person need to update the base project by including this new bullet object and share the relevant events so in case a user would like to use this new bullet, they just need to add the event of the bullet to the base project and done.

Basically, a small game maker kind of thing, making of simple games just made even more simple this way for new users.
The benefit would be that, new users could start with an empty, clean project including only the objects, images and sounds they need and they can slowly add complete features to the project one by one, piece by piece and take a look at each of them how it made, how it works in details and slowly make a complete and complex game.

Of course it might would be not practical and optimal result because to keep each external event fully functional and independent from each other we might need to design the events less practical way but It would be fun I think, I would be interested to work on something like this… But there is a problem, a big one actually, that is just ruins the whole thing and make it not that easy as it CAN be.

When you save a project as a “folder project” it is saves the external events in to separated files and this is exactly what we need. But when I copy any of this event files in to an other “folder project” the events doesn’t get imported and loaded automatically when I open the project. Because I don’t have experience with this, I have never tried this I don’t know if it a bug or am I missing something. So if anyone could comment on this would be great.

If it a bug and it should work by simply copy the external event files, we could start to work on this project as soon as it get fixed by the devs.

Like you’re reading my mind, ever since you mentioned modules and templates, I was thinking about it the qhole time, I think that it absolutely makes sense and is imho hugely beneficial, especially for new users.

If you’ll start a project of that kind, I definitely will help with what I can, you just need to tell me what to do :smiley: .

I mean if we could have a at least a few “barebone” templates, I think that will reduce amount of redundant work by a lot, I see loads of people doing the same trivial thing over and over again, rather than focus on important stuff. Anyway sign me up if this suggestion gets off the ground.

We just need to ask Kink, what he thinks, if that is feasible technically, then why the fuck not? :smiley:

I was just give it a second thought.

Since this “modular” way would be about nothing but using external events, keeping them literally external and force people to download them separately and copy and import them after some consideration just sounds completely useless and make the project unnecessarily complicated for new users.

I was thinking further this concept and what I would do instead is game engines. I would include also the external events with the project. So it would be a GD project, including all the resources to make certain game types. All the objects, sprites, sounds and the events. The events would be external events that need to be linked in the main scene event in order to use.

So the only way it would be different from original thoughts is that, the events would be already included in the project and instead of download/copy/import, the users simply need to Link the selected ones in the main scene event.

I was also thinking about what kind of projects “game engines” we could do. For example, we cold do top-down shooter engine that would include all the resources to make a top-down shooter game. All the objects, sounds, images and events.
Also car racing game engine, platformer game engine, target-shooter game engine, RPG…etc the possibilities are endless.

So I guess, this is the way I would do this also because the importation of external events from file just doesn’t seems to work right now.
The only problem, this way going to be a bit more trouble for people to contribute as someone need to maintain the project and integrate all the contributions in to one project, but we can worry about it if/when there is going to be any contribution. Also we can switch to “folder project” anytime and store external events in files if it is going to seem more efficient.

Well, the nice thing about it, you can do whatever you want :laughing:
I guess, I’m going to start to work on a top-down shooter engine, get the basics done first and share sometime this week here on the forum.
When it out, you and anyone can contribute with anything really, Sprites, Sounds, Events, Ideas, Suggestions, Feature requests and share it in the topic and I will (try to) maintain the project.

Also, if you are going to do this “learning sessions” I guess this kind of projects could be useful to get started with GD.
Will see how it goes and if it worth the time and effort.