Jump to content
  • Advertisement
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
Advertisement

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

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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!