MarcusAseth

Friendly competitions to train beginners

Recommended Posts

I think shouldn't be far from true to say that often beginners feel lost and don't know the best way to improve their skills, especially if they are self-thaught in wathever they are learning, being it 2D, 3D, Programming or wathever. There could be many obstacles and pitfall to learning, it could be that since one is begginner he/she doesn't realize that the scope of his project is just too big, or maybe one can't come up with a good story/gameplay for his life so lack the motivation to even attempt doing anyting on his own, and maybe one is stuck in a situation where would like to have the story/gameplay aspect figured out by someone better at it (by joining a team) but lack the technical skill to join said team and has an hard time gaining said skill because is not in a team to begin with.

So I thought, something that can help beginners grow faster is something I saw in other communities around the web, which is friendly competitions.

The ones I know of are mostly 2D-3D related, for instance polycount.com "Bi-Monthly CHARACTER ART Challenge" and "Monthly Environment Art Challenge", or conceptart.org "Character of the Week", "Creature of the Week", "Environment of the Week".

Of course there are many more of this challenges I would like to see come into existence related to programming and game engines, for instance challenges in making certain games (see usual tetris/pong but also something more unique and specific, given some guidelines) and challenges like "Create a Water shader in Unreal Engine", or "Create a water ripple particle effect" and so on.

The cool thing about this is that begginner could compare each other works (professional hopefully join in the challenge as well) and see how the best resoult where obtained, with everyone focusing/researching on the same task and learning from the best examples. This stuff is not far from something like school exercise from my point of view, therefore something invaluable for self-taught beginners who are at higher risk of getting lost by lack of direction.

And here's gamedev.net twist on the subject, by joining and completing the current challenges one would get "achievments" or "medals" that are visible in his profile and under his avatar, as a cool way to improve his rep and keep the community active :P

This is the kind of place I would like to see, where one join, check the current challenges list and decide to join in and learn something new  or improve on the subject during that day/week. Also often I open the forum and there are no new topic that need to be replied, therefore this would keep us all busy in the free time :D

Of course, maybe this sounds fun on digital paper but could end up not working, I have no idea if this stuff can work smoothly on sites that have less than a certain treshold of traffic, and it also require the time from someone actively creating this challenges content.

Well anyway, I think it is worth thinking about it, let me know what do you think :)

Edited by MarcusAseth

Share this post


Link to post
Share on other sites

This is already doable (and in progress, see for example the Week of Awesome contest that just wrapped up). 

Why don't you organize something like you're proposing yourself? It's perfectly within your ability and the staff and moderation team would be able to help out as-needed.

Share this post


Link to post
Share on other sites

I must decline that responsability, for me to have the confidence to try and organize something like it would imply that I know I can complete the challenge myself, as for now I really have no proof of that, never done unreal shaders, never done unreal particles... I would join for sure, but not want to be on the organization side, sorry :D

By the way, I was not aware of the Week of Awesome, so I also propose a separate forum section for the competitions, or something I can subscribe to, to get the new competitions alerts directly to my email :P 

 

Edited by MarcusAseth

Share this post


Link to post
Share on other sites
On 22.8.2017 at 6:27 PM, MarcusAseth said:

So I thought, something that can help beginners grow faster is something I saw in other communities around the web, which is friendly competitions.

+1 from my side. I'm currently trying to organize something similar in the Community section:

It's not really meant as a competition though.

The goal is for everyone (aimed at beginners) to program the same small game over one month, ideally using the same programming language, though not necessarily.

Over the duration I'd like the participants to share and discuss their progression, to find out what kind of architecture is used and why, how the code is written and how to optimize it. And of course to help those who are stuck.

Currently, 26.08. ,  we are only 3 people, one of which is a software developer who wants to try game-programming.

So I'd be happy for anyone who wants to participate, either to learn or to provide guidance.

We aim to start in early september (in 1 or 2 weeks)

Edited by Iltis
Forget the date of the project

Share this post


Link to post
Share on other sites

I just wanted to throw in here one more idea, in case something clicks :P

This would be some kind of fun begginner training activity:

Imagine if you (I'm addressing the professionals) where to take some simple game you made in the past, even pong (the only constraint would be that it is code with a good structure from which begginners should learn from),  delete some important pieces of it like an interface or some class, and have the begginner figuring out what code they should write to make everything work again (maybe by watching the inheritance structure, maybe by watching what a function somewhere else does and what input it expects to receive), and this by looking at other parts of the code and debugging and maybe some useful hints on the main topic :D

Then we could also see if we end up with the same code, reason about things and finally see how the original code was.

Hope I am not talking nonsense here (no idea if it would be doable or would fail horribly, for instance for a matter of language alone, for example I only know C++), though the idea sounds fun from a begginner perspective, especially if one get to see good code.

Well if this was a thing, I would join for sure :P

Edited by MarcusAseth

Share this post


Link to post
Share on other sites
On 16.9.2017 at 10:40 PM, MarcusAseth said:

I just wanted to throw in here one more idea, in case something clicks

This would be some kind of fun begginner training activity:

Imagine if you (I'm addressing the professionals) where to take some simple game you made in the past, even pong (the only constraint would be that it is code with a good structure from which begginners should learn from),  delete some important pieces of it like an interface or some class, and have the begginner figuring out what code they should write to make everything work again (maybe by watching the inheritance structure, maybe by watching what a function somewhere else does and what input it expects to receive), and this by looking at other parts of the code and debugging and maybe some useful hints on the main topic :D

Then we could also see if we end up with the same code, reason about things and finally see how the original code was.

Hope I am not talking nonsense here (no idea if it would be doable or would fail horribly, for instance for a matter of language alone, for example I only know C++), though the idea sounds fun from a begginner perspective, especially if one get to see good code.

Well if this was a thing, I would join for sure 

This is a good idea! +1

 

I would love to see a ton of implementations of pong, breakout, tetris, pacman, mario, zelda, tower defence, bomberman, warcraft, tyrian etc. from experienced programmers.

 

Beginners will see how everything comes together and advanced programmers can compare and find missing parts they may be missing.

 

Integrating this into the gamedev community itself, would be awesome. So you can click on a person and check out every game implementation they have made, seeing all his trophys...

 

The rules should be simple:

- One game type at a time

- One platform "Win32 / x64"

- One language "C++"

- 2D only

- No engines

- Libraries allowed: Standard Library, SDL2, SFML, STB, OpenGL

- Object and/or data oriented design

- One full playable level

- Optional: Software rendering

- Optional: Loading and saving game states (3 slots max)

- Optional: Limited memory of 32 MB ram

 

The main focus should be a small working game made with the best of its programmers abilities, runnable and compilable by everyone.

Edited by Finalspace

Share this post


Link to post
Share on other sites

^  I like the idea of using small competitions like this - but why that set of rules?  "No engines" and "you can use SDL, etc" seem to kind of negate eachother don't they?  Seems a bit arbitrary to force a particular workflow unless it ties into the theme/point of a particular competition.  Adding a bunch of workflow restrictions is also going keep beginners out, IMO, which might defeat some of the purpose.

I do think that's a lot of the challenge in something like this:  The competition is there to help beginners grow, but beginners are going to be leary of joining competitions because of lack of confidence, or lack of wanting to be judged, knowing they are beginners.

Share this post


Link to post
Share on other sites
26 minutes ago, trjh2k2 said:

The competition is there to help beginners grow, but beginners are going to be leary of joining competitions because of lack of confidence, or lack of wanting to be judged, knowing they are beginners.

You are maybe describing one particular type of begginner who "feels" himself judged rather than his work judged. And that's that particular person fault for having that distorted perspective of things.

What I mean is that here (and in many other similar forums) people will judge your work to help you improve but not "judge you for not being good enough", one of the reason being that at a certain point anyone here where not "good enough" so people can relate. Rather is praiseworthy the act of seeking help, as long as one is trying and listen to the help he gets I guess :D

 I am a begginner too and I want what I do to be judged exactly for that reason, otherwise I know I would advance much more slowly. And to all the begginners, remember you are not here to prove anything to anybody. You are probably here to learn (at least I am). So really, the "can't accept criticism" attitude is the worst possible mindset when trying to learn something.

Share this post


Link to post
Share on other sites

^ In an ideal world, everyone would be great at handling criticism, but this is not that ideal world- the majority of people, as far as I know, naturally have some level of hangups around putting themselves in a position to be criticized.  Doesn't matter whose fault that is, it still presents as a challenge to attract beginners into something being labeled a competition.

Share this post


Link to post
Share on other sites
3 hours ago, trjh2k2 said:

^  I like the idea of using small competitions like this - but why that set of rules?  "No engines" and "you can use SDL, etc" seem to kind of negate eachother don't they?

One core reason: So that everyone can compile and run it. Also limiting to a fixed set of software and hardware is much better, so everyone has the same starting point. If someone uses ready engine, a game is done in no-time - and you learn how to make that particular game in that engine only.

Share this post


Link to post
Share on other sites

I could see maybe bundling those up into a simpler rule of just "make it easy to build on a windows machine".  Outside of that, just my 2c, but I'd avoid adding rules that don't directly play into the theme or goal of the particular challenge/competition.  If the goal is, for example, to examine certain gameplay mechanics, then it shouldn't matter what tools are used to get there.  If the goal is maybe to teach how to make an ECS-like system, or to teach how rendering works, then yeah, you'd want to restrict the toolset in that case, since the rule then supports the end-goal. 

This is keeping in mind again that if we're targeting beginners, limiting the workflow might again reduce the participants by those who aren't familiar or comfortable with certain tools or workflow yet.  You could argue that it's part of the point, but it depends on what the stated goals of the particular challenge are.

Edited by trjh2k2

Share this post


Link to post
Share on other sites
12 hours ago, trjh2k2 said:

I could see maybe bundling those up into a simpler rule of just "make it easy to build on a windows machine".  Outside of that, just my 2c, but I'd avoid adding rules that don't directly play into the theme or goal of the particular challenge/competition.  If the goal is, for example, to examine certain gameplay mechanics, then it shouldn't matter what tools are used to get there.  If the goal is maybe to teach how to make an ECS-like system, or to teach how rendering works, then yeah, you'd want to restrict the toolset in that case, since the rule then supports the end-goal. 

This is keeping in mind again that if we're targeting beginners, limiting the workflow might again reduce the participants by those who aren't familiar or comfortable with certain tools or workflow yet.  You could argue that it's part of the point, but it depends on what the stated goals of the particular challenge are.

I agree. It should depend on the particular game/challenge. So how do i start such a project? Is there a sub-forum for that?

Share this post


Link to post
Share on other sites
On 9/22/2017 at 11:43 PM, Finalspace said:

So how do i start such a project? Is there a sub-forum for that?

Thinking about how best to implement this. Creating a forum for it is an option, but is anything else needed to support the effort?

Share this post


Link to post
Share on other sites
46 minutes ago, khawk said:

Thinking about how best to implement this. Creating a forum for it is an option, but is anything else needed to support the effort?

@Finalspace should answer that, though I want to point out some things:

In competitions like settings other forum often split the thing in 2 topics, one is the main thread where everyone show progress and help each other, the second is a pool where user vote the winner (at the end), but this I think makes no sense for programming because is not something as immediate you can judge as compared to a pretty picture,

Therefore shouldn't be considered a competition at all, just a friendly activity, and everyone can join.

Though I bet that getting something like "a badge of participation" for the users that present a running app by the end of the deadline (meeting the goals of the challenge), would encourage even more people to participate. The power of achievments! :D 

Edited by MarcusAseth

Share this post


Link to post
Share on other sites

Given the popularity of Unity, another approach could be having an "Assignment" be equal to "Unity project + sample video".

The provided project could have had 1 script with its contents deleted (potentially with public functions declared). The participant's task is then to reimplement the correct behavior, as shown in the sample video.

For example, Pong with the "Ball" script deleted. All it contains is a Move function, with the parameters it needs. The participant must then use that to add back in the correct behavior.

 

In such a setup, there's a huge scope when it comes to complexity and difficulty of the tasks, and participants could choose Assignments according to their own preferred skill level.

Share this post


Link to post
Share on other sites

To start i would like a sub-forum for friendly competitions in general.

Friendly competitions are not judged by experience or skill, but you get awards for reaching the actual goal - does not matter if its bad or good.

Each competition gets two threads: One sticky for introducing it and one for people posting their contributions only. In addition there may be multiple normal threads pointing to that competition, so people can discuss, help each other, ask questions etc.

Competetions are locked down to one fixed goal with some optional goals. There should be room for improvements, but not that much - otherwise it starts to overwhelm beginners i think.

The competitions has fixed date ranges when they start and end, but everyone can contribute to it later as well. This way dead competitions can be revived and people which cannot make it in time can contribute as well.

There will be a wiki or some kind of list categorized by each competetion, listing everyones contribution with a short description, optional screenshot + link to the executable and source. Source and executable links ideally to a github repository.

To motivate experienced peoples there may be optional goals like i already suggested: Limited by hardware/platform constraints, limited by software contraints: make it run on a toaster, make it really fast, make it slow like the web, expand it make that awesome thing, use SDL only, max 32 mb of ram... etc.

Edited by Finalspace

Share this post


Link to post
Share on other sites

Ok. So in the past we hosted workshops with some similar goals: https://www.gamedev.net/forums/forum/36-workshops/.

I think we can get the basics setup pretty quickly - the forum for instance. I think ultimately more page support is needed (i.e. wiki) but the forums can get things started.

Share this post


Link to post
Share on other sites
On 26.9.2017 at 10:11 PM, khawk said:

Ok. So in the past we hosted workshops with some similar goals: https://www.gamedev.net/forums/forum/36-workshops/.

I think we can get the basics setup pretty quickly - the forum for instance. I think ultimately more page support is needed (i.e. wiki) but the forums can get things started.

Great, than please create one ;-) I will create an introduction and add the first friendly competition.

Share this post


Link to post
Share on other sites

Well, I think the ability to subscribe to the entire section would be needed, so users can opt to receive an email when a new challenge is started. Otherwise many people that would be interested (me included) would end up missing the thing or not noticing it in time :P

 

Edited by MarcusAseth

Share this post


Link to post
Share on other sites
On 30.9.2017 at 8:12 AM, MarcusAseth said:

Well, I think the ability to subscribe to the entire section would be needed, so users can opt to receive an email when a new challenge is started. Otherwise many people that would be interested (me included) would end up missing the thing or not noticing it in time 

 

Well, you push the "Follow" button above the thread you can choose from a set of subscription options...

Edited by Finalspace

Share this post


Link to post
Share on other sites
2 hours ago, Finalspace said:

Well, you push the "Follow" button above the thread you can choose from a set of subscription options...

That's true, though it implies I know the thread exist in the first place! If you now where to create a challenge in the new section, how would I know?! Maybe I would find out a month later :) 

My idea is to subscribe to the whole sections, so every new challenge is notified.

Or maybe it could be achieved with the current tools, just by keeping a locked thread where only sections mod can write, everyone subscribes to that one thread and every new post in there is to alert everyone of a new challenge :)

Edited by MarcusAseth

Share this post


Link to post
Share on other sites
6 minutes ago, MarcusAseth said:

That's true, though it implies I know the thread exist in the first place! If you now where to create a challenge in the new section, how would I know?! Maybe I would find out a month later :) 

 

You can "follow" entire forums; just use the Follow button at the top when you're on the forum listing instead of viewing a specific thread.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Forum Statistics

    • Total Topics
      627701
    • Total Posts
      2978700
  • Similar Content

    • By Pillowdo
      Hello, My name Is pillowdo, so I have alot of question but let me first tell you what I'm aiming for.
      1) Making a game Becouse I have ALOT of free time I want to make use to
      2) programming is one of those things I really wanted to learn 
      3) I'm not excpecting anyone to even download my game even if it was good so this isn't aiming for the money
      4) so If I'm not here for the money and just to learn programming then why make a game? insted just learn the language Right? not really I want to make a game for experince too, so if I decided to make a nother game, Then I would know what I'm doing and it would be alot more easier and I would know the amont of work and money it would take, so Experience is another reason
      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Things I don't excpect 
      1) Money, I know this will probebly make nothing but I'm not here for it
      2)Time, I don't excpect this to be easy or short, most good indie games take a long time, Like the famous game stardew valley, it took the developer 4 years and each day around 10 hours =14,000+ hours, he had a part time job too               
      3)Good Game, I know its not possible to make a game as good as GTA5, WoW, God of War, Halo ...etc They take YEARS to make even with hundereds of Artiest and developers but it IS  possible to make a game Like stardew valley if you really put Some Hard work and ALOT of time into it 
      (you Might have relised I keep talking about stardew valley, I won't make a game on the same idea I will be original but The game really insperies me, as well as alot of other games but SV must be one of the most)
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      (EDIT: I forgot to mension this, I'm going for a 2D art style. it makes BIG diffrence in PL & The Engine so I thought I'd say that)
      The questions:
      1) The Programming Language, There are so many Languages and people say "Its a preferance and there isn't much difference" but I want to make sure about that point, + It also depends on what engine your going to be using which brings me to the second point 
      2) Engine so I've seen ALOT of Engines and it mostly goes down to The price but I don't think that's a issue I can download it for free Online and get The Original if my first game can over it ( considering I make something) 
      3)Art style so I'm reaaaaaly confused on this point and I know there are So mannnyyyy kinds of art style but let me tell you what I'm looking for
      a) I like art styles like , Warcraft 3, stardew valley Maybe, FATE And  GraalOnline classic it dosn't have to be the same but atleast something around that style that I enjoy looking at
      b) I Will go for a 2D style game, like Stardew valley and Graal Online classic, 
      c) I know there are websites that give you there drawings and art and everything but you have to credit them in your game, I want to make everything and all the credit by myself and Maybe one of my relatives will join me IF I understand how this works and find him a role he Might Like (Like art for example ) 
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Important Note:  I don't mind If the game takes 4-5 years of development, as long as I find passion and enjoyment then It will really pushs my limits to the max 
       
       
       
    • By Charlieb10
      Hey, Im new to game development and I was wondering what thoughts were on youtube tutorials, courses on udemy or similar?
      Thanks 
      C
    • By CodeBro1
      I'm trying to find a way to check which frameworks, tools and game engines are popular, mainly because I'm trying to decide which programming language to learn, which would stem from would stem from which tool I'm going to use. Any advice?
    • By Lens of Truth
      I know of one really good YouTube channel that's all about game design. It's simply called Mark Brown, and he does two different series: Game Makers' Toolkit and Boss Keys. It's a great place for game designers to go and just pick up ideas. He's not really about entertainment, although the videos certainly aren't boring, but more about education. As in, how do existing games do clever things to stand out from other games?
      I myself created a YouTube channel with the intent of talking about game design, although I only have one video as of posting (working on the second). Are there any other really good channels like Mark Brown? I've seen other channels with the same intent, but lacking on the execution. Here's my video below.
       
  • Popular Now