Contest

June 2nd, 2009 by Tim Jones Leave a reply »

Here it is! The first (possibly annual) SDL Game Contest. Woo hoo!

The Goal: Make a side-scrolling shooter.
The Inspirition: R-Type
The Rules: This contest is open to all game developers, with the following requirements and/or conditions:

  1. No more than 2 people per project
  2. You may submit as many projects as you like
  3. I prefer SDL / C/C++ (optionally can use OpenGL with SDL); SDL must be used. Other languages allowed: Delphi, VC++.NET, Java
  4. Project must compile/work on at least one major operating system (Windows, Mac OSX, *nix); extra bonus points for cross-platformy*
  5. You give SDLtutorials.com permission to use any and all submitted resources, code, and/or files for non-commercial use. Submitter retains the rights to his/her project. (SDLtutorials.com will most likely use the winning project as the basis for a tutorial)
  6. All code, resources, and/or files submitted must be the submitters original work, with the exception of use of 3rd party open-source libraries, and/or royalty free resources. No commercial libraries and/or resources are allowed, and will result in immediate disqualification.
  7. No plagiarism is allowed, with the exception of the “minor”** use of code from tutorials. Code used from tutorials cannot make up more than 20%** of a submitted project’s code. You may use the framework provided on this website without limitation.
  8. SDLtutorials.com has full discretion to accept/reject any projects submitted, and can cancel this contest at any time.

* No actual points are involved in the judging of entries.
** This, obviously, is hard to determine. Be fair, do your own work; if you use code from online, make it your own.

The Details:

  • You must make one complete level that has at minimum 3 minutes of game-play
  • You must provide a scalable structure that allows players to easily add additional levels
  • You must provide a basic menu (Start, Exit at minimum)
  • You must provide lives, and score at minimum
  • You must provide at least 3 different weapons
  • You may make the side-scroller shooter any theme you would like (i.e., a banana flying through the air with a machine gun)
  • It is not required to provide any sound effects/music, but this would be a major plus
  • You must provide at least 3 basic enemies, and 1 boss
  • The game may be 2D or 3D (using OpenGL), and may use scripting

The Prize:

  • $200 (PayPal) (Thanks Sergey Tikhonov for the donation!)
  • Permission to help moderate SDLtutorials.com (if the winner wishes)
  • SDLtutorials.com email address (if the winner wishes)
  • Has first grabs at joining (as a developer) Tim’s upcoming Indie Game Development Website.
  • Free Copy of Half Life 2 (via Steam)

The Deadline:
September 1, 2009

Once all entries are received, I will post 5 of the top projects received. The community will then be able to voice their opinion (which should help weed out any plagiarism). A week after the deadline, I will post who is the winner. If I cannot contact the winner within 30 days, the 2nd place project will become the winner (and so on).

Be creative as possible. If you want 30 enemies, that’s fine. If you want 30 bosses, that’s fine. “The Details” section is sort of a general guideline, but aim to go above and beyond it.

Please send all completed Projects to: kizare [at] gmail.com

You may send your project multiple times up to the deadline. The last project I receive before midnight is the one that I will use.

Good luck everyone!

Terms are subject to change at any time; I will give notice to such changes.

Update (6.5.2009):
The following are some guidelines for when you submit projects. A real quick note first: by submitting your project multiple times up to the deadline, I can give you feedback and/or help. Please note, I will not give you any code, or any links to code. All I will simply do is point you in the right direction. This should even the playing field a bit for newbies.

  1. Please provide a project file and/or makefile for me to compile your code depending on the target platform.
  2. Please include any and all libraries involved with your project; already compiled. I don’t want to have to sit here for hours compiling libraries that are used in your project. Exceptions: if the library is easy to grab myself, simply let me know in a ReadMe.txt or something (i.e., being able to apt-get what I need, or simply download).
  3. Please compress your project into a single file, and email it to me with the subject: CONTEST – [My Project Name] ; remember, email to: kizare [at] gmail.com
  4. Though you can submit projects ahead of time for help, please do not submit your project more than once a week to me. I will provide help, but very limited; remember, this is a contest. I would only ask for help if you really need it; it’s very likely I’ll give more kudos to a project that asked for very little to no help, v. the person that asked every week.
  5. Please…. please! Comment your code. Please.
Share and Enjoy:
  • Digg
  • del.icio.us
  • DZone
  • MisterWong
  • Reddit
  • StumbleUpon
  • Technorati
  • Slashdot
  • LinkedIn
  • MySpace
  • Yahoo! Buzz

Did you like this tutorial/blog post? Feel free to donate to keep more comin', and have more contests.

Advertisement

47 comments

  1. Tim Jones says:

    D,
    This all depends on how you make your game. I am betting some people will make their levels tile based, while others may have a scrolling background. Depending on what you do, will dictate how your levels are structured. It’s typically bad practice to incorporate things like maps directly in the code. If you ever want to make a slight modification you have to recompile the entire thing. Also, think about how enemies are tied to levels. You would basically have a set of rules, to say, at this point in the map, send in X amount of enemies, in this pattern. These rules would also be part of the level file. So, I can take this file, edit it, and then create an entirely new level. I don’t know exactly what you have in mind, but you could go so far as to allow changing behavior of enemies through a script. What I was basically thinking is 1) ability to modify how the level looks, and 2) ability to add/remove enemies (with basic rules).

  2. D says:

    Well I understand everything except the modding part. It doesn’t seem to make much sense for a scrolling shooter game…

    All that would do is create more levels with the same few amount of enemies and a reused boss…

    Should you be able to load your own sprites for the boss and enemies so that you can create your own things??

    But wouldn’t that form of creating bosses and enemies limit the different was they can attack? ex enemies cant move in any way they want. attacks can’t do very different things. and bossed cant be special like being able to swoop down and attack (vertical scroller) or have tentacles that that reach out and attack you…

    Wouldn’t it just be easier to make it hard coded???

  3. @D: Im assuming it means your levels should be in a format that allows other people to add their own. Like if somebody else picked up your game, include a small blurb about how they can add levels. Personally im most likely going to code a level editor.

    • Tim Jones says:

      D + Fernando,
      That’s right. Basically, I don’t want you hard-coding data in your program so that in order to add new levels you have to re-compile the entire thing.

  4. D says:

    Sorry for double posting but I have another question…

    “You must provide a scalable structure that allows players to easily add additional levels”

    I don’t really get that exactly… Does that mean modding???

  5. D says:

    hmm… I have a few questions…

    I am usually good about code quality but you said you might use the winner in a tutorial. Your tutorials write code completely different from how I write it. Is that ok?

    Also for cross platform compatability. How do we make sure that it is compatable?

    • Tim Jones says:

      D,
      To answer your other question; yes, that’s fine. There’s a 99% chance I’ll have to modify any project “if” I want to use it as a tutorial – or even as the basis of one. Being cross-platform is not a requirement, so if you don’t have the necessary tools and/or Operating Systems available, it’s not going to hurt you any. What will not necessarily help either is the use of DirectX, or something, which obviously the programmer is making no effort towards being cross-platform (which defeats the entire purpose of SDL in the first place).

  6. JD says:

    Oh man, I’m totally going to try at this. :D

  7. Jonatas says:

    Good thing the most part of the kudos go to the code. I’m going for it alone, and programmer art is all I’ve got.

    Anyway, I’m gonna try my best here ! =)

  8. Tim Jones says:

    cjp,
    I answered this on the forums, but to recap for people here: “A good chunk of what I am going to judge upon will be based upon code quality itself. I don’t really want to give guidelines, as this is an important part of the contest. Projects will be based upon structure, and overall quality of code, and then the gameplay itself. More than likely, I’m going to have to re-code/redo the winning project if I want to use it as a tutorial anyway.”

  9. Marcio says:

    Very nice. Im already working on my project! :)

    Cya.

  10. Tim Jones says:

    Bakkon,
    That’s fine.

Leave a Reply