• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
rip-off

The great GD.net collaborative coding horror experiment? (...and the results are in!)

65 posts in this topic

Can we completely exclude external assets?

That is certainly an option. I believe the GIMP has a built-in way to export an image as C source.

The downside is for large assets the code becomes very verbose, this will probably affect the thread load time and the performance of the syntax highlighter.

I had been thinking that an asset is posted just once - in the post that created it, not maintained as a ZIP in each post. That way, if you want to contribute you just need to download any assets that have been created since you last contributed.

Edit: since this will be a single file, could we simply use a google doc, so multiple people can edit at the same time. Not sure how well this would work with code, and also not sure how well google identifies who has made what changes.

Interesting idea, but I like the thought of seeing the history of the progress directly here. I also am intentionally trying to minimise the barriers to entry, otherwise I'd be using Github or something rather than specifying that a GD.net thread as a version control system.
0

Share this post


Link to post
Share on other sites

Do you really think you need art for such an experiment? You could just generate some bitmaps in memory procedurally, which could add some interesting code.

0

Share this post


Link to post
Share on other sites

Do you really think you need art for such an experiment? You could just generate some bitmaps in memory procedurally, which could add some interesting code.

+1

Procedural generation FTW.
0

Share this post


Link to post
Share on other sites

Do you really think you need art for such an experiment? You could just generate some bitmaps in memory procedurally, which could add some interesting code.

 

+1, and I second the C suggestion as well (though for making a mess C++ is unparalleled).

 

Also, I don't think google docs would work out, really. By the time you get to compile and test your stuff someone will have edited the google docs, and by the time you've merged someone else will have probably broken what you were working on, requiring you to fix your code, and so on. That said, the "don't remove or alter code" does make merging changes quite a bit easier, assuming steps are taken to make sure commits are consistent with one another (i.e. one doesn't logically conflict with the other). But maybe it's part of the experiment to battle with another member until some kind of equilibrium is reached tongue.png

0

Share this post


Link to post
Share on other sites

Love it, and topic pinned! smile.png

 

Once you sort out all the details and get this thing started -- assuming you decide to go ahead -- might I suggest pinning the official topic in the "coding horrors" forum for the duration and linking from the lounge like the "PUTT" contest is currently doing?

 

 

It'll be interesting -- and terrifying -- to see what's produced!

0

Share this post


Link to post
Share on other sites


I wonder if David Rosen himself is going to find this thread and contribute.

For a minute I thought you meant the 83 year-old former CEO of SEGA.

 

Then I realised what spawned this thread.

0

Share this post


Link to post
Share on other sites

This will be brilliant.

 

Just the vast amount of different coding styles alone will be interesting to see in one file.  I get the sense we are going to see A TON of global variables. 

 

Maybe I misread it somewhere but will their a end goal that we are to strive for?  As in will what is added to the code actually be of "use" to the project?  Or could I just say go and implement a simple/stupid game inside and force everyone to work around that?

 

My vote goes to add whatever you want.  Just to see how scary what we end up producing would be...

Edited by Chad Smith
0

Share this post


Link to post
Share on other sites

I'd vote for doning this in Javascript or some other language that can be embedded into a page (python, ruby ??).  That way the game and a built in editor could be embedded as a sticky at the top of the forum (similar to JSFiddle) so everybody could see live updates of the game.

 

Using ANSI C is cool and everything but I think as a more fun forum experiment live coding in the webpage would be a lot more fun.

0

Share this post


Link to post
Share on other sites

Well, I've never coded Javascript in my life, so if we do decide for that language, I guess I can only contribute to its messiness. happy.png

Edited by TheComet
0

Share this post


Link to post
Share on other sites

Why don't we use HTML5 and Canvas?

 

 

I'd vote for doning this in Javascript or some other language that can be embedded into a page (python, ruby ??).  That way the game and a built in editor could be embedded as a sticky at the top of the forum (similar to JSFiddle) so everybody could see live updates of the game.

 

Using ANSI C is cool and everything but I think as a more fun forum experiment live coding in the webpage would be a lot more fun.

 

Obviously, I agree with this. What better way to get horrible coding than with a language that people know enough to be dangerous in and can get instant feedback from. And who doesn't have Chrome, Firefox, or IE10?

0

Share this post


Link to post
Share on other sites

This sounds awesome. I've been wanting to be more active on here/contribute to little projects and contests. This would be a great way without putting any stress or taking up a lot of any single person's time.

 

Nevermind this...

These are kind of conflicting if it's to be truly cross-platform and native. What about X calls on linux? And on Mac unless you launch from shell and use fullscreen only it's pretty close to impossible to have a game running without some Obj-C (unless you opt for X as well I suppose). I haven't done anything Windows in a very long time but I'm pretty sure you'd need some specific calls, HWND's and all that junk to get something running as well haha.

I think that should be the only area allowed to have those dependencies, just so it can get up and running.

Of course this wouldn't matter if it's browser based. Or Java.

 

 

Do you really think you need art for such an experiment? You could just generate some bitmaps in memory procedurally, which could add some interesting code.

+1

Procedural generation FTW.

 

All for procedural! =D

 

 

I'd vote for doning this in Javascript or some other language that can be embedded into a page (python, ruby ??).  That way the game and a built in editor could be embedded as a sticky at the top of the forum (similar to JSFiddle) so everybody could see live updates of the game.

 

Using ANSI C is cool and everything but I think as a more fun forum experiment live coding in the webpage would be a lot more fun.

I prefer C/C++, but if it's all to be one file I think C would be better in this case. Somewhat cleaner, but also a little more challenging.

I don't have as much experience with browser-based langauges; never used Ruby, and only used Python when helping (doing lol) my gf in a programming class years ago.

Buuuut, I'd be down to play with any of them! All the more fun.

This would get around the dependencies and cross-platform concerns, and would be quicker to get up and running than something like Java, even if it only needs to be compiled once. The instant feedback argument is a strong one. Especially in a case like this.

Edited by FuzzyRhombus
0

Share this post


Link to post
Share on other sites

Heck to the yes!
 

I'd vote for C++03 and SFML, though C99 and SDL would be my second choice. +1 for procedural.

 

I assume there's an implicit rule that you cannot add to the code (again) until someone else has? (so you don't add a commit, then immediately add another; you have to wait for someone else to add a commit before you can add another) Also, I don't know if you plan on keeping any kind of actual repo, but if you're not I wouldn't mind making a git repo and updating it with each post to keep a "proper" history.

 

And if this works well, can we please do this annually?

Edited by Cornstalks
0

Share this post


Link to post
Share on other sites

This sounds awesome. I've been wanting to be more active on here/contribute to little projects and contests. This would be a great way without putting any stress or taking up a lot of any single person's time.
 
 

  • Dependencies are limited to the standard library and the multimedia library only. No OS-specific calls
  • The code must compile on your platform of choice, and should strive to be cross platform
These are kind of conflicting if it's to be truly cross-platform and native. What about X calls on linux? And on Mac unless you launch from shell and use fullscreen only it's pretty close to impossible to have a game running without some Obj-C (unless you opt for X as well I suppose). I haven't done anything Windows in a very long time but I'm pretty sure you'd need some specific calls, HWND's and all that junk to get something running as well haha.
I think that should be the only area allowed to have those dependencies, just so it can get up and running.
Of course this wouldn't matter if it's browser based. Or Java.
With SFML like was originally proposed I am almost positive you can get a window up and running with the exact same code. For the most part if people use standard C++ calls and didn't get absolutely crazy with SFML(I think their are a few calls that act different on the different OS's) then it should compile just fine for everyone. I just migrated my SF code over to Linux from Windows and it compiled and ran without one problem. That's the beauty of SFML. How easy it is to get going with it and how easy it is to work with other OS's
0

Share this post


Link to post
Share on other sites

Heck to the yes!
 
I'd vote for C++03 and SFML, though C99 and SDL would be my second choice. +1 for procedural.
 
I assume there's an implicit rule that you cannot add to the code (again) until someone else has? (so you don't add a commit, then immediately add another; you have to wait for someone else to add a commit before you can add another) Also, I don't know if you plan on keeping any kind of actual repo, but if you're not I wouldn't mind making a git repo and updating it with each post to keep a "proper" history.


+1 fot c++. although i am not opposed to using html5/javascript, it'll finally give me reason to learn canvas.
Also like the idea of not allowing double edits, have to live with what you create. Edited by slicer4ever
0

Share this post


Link to post
Share on other sites

 

This sounds awesome. I've been wanting to be more active on here/contribute to little projects and contests. This would be a great way without putting any stress or taking up a lot of any single person's time.
 
 

 

  • Dependencies are limited to the standard library and the multimedia library only. No OS-specific calls
  • The code must compile on your platform of choice, and should strive to be cross platform
These are kind of conflicting if it's to be truly cross-platform and native. What about X calls on linux? And on Mac unless you launch from shell and use fullscreen only it's pretty close to impossible to have a game running without some Obj-C (unless you opt for X as well I suppose). I haven't done anything Windows in a very long time but I'm pretty sure you'd need some specific calls, HWND's and all that junk to get something running as well haha.
I think that should be the only area allowed to have those dependencies, just so it can get up and running.
Of course this wouldn't matter if it's browser based. Or Java.
With SFML like was originally proposed I am almost positive you can get a window up and running with the exact same code. For the most part if people use standard C++ calls and didn't get absolutely crazy with SFML(I think their are a few calls that act different on the different OS's) then it should compile just fine for everyone. I just migrated my SF code over to Linux from Windows and it compiled and ran without one problem. That's the beauty of SFML. How easy it is to get going with it and how easy it is to work with other OS's

 

Whoops, my fault, thought it said SFMT (http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/). That would make more sense lol. Just looked up SFML; I think that should do it then, looks awesome!

0

Share this post


Link to post
Share on other sites
Ok, here is my current plan.

There does appear to be quite a bit of interest in HTML 5, so I'm considering running two concurrent ones, one in C++ and one in HTML 5. There will be a theme for each. I am thinking I'll start the experiment at midnight (GMT) 31st of October, and leave it run for the weekend.

While restricting consecutive commits by the same person is appealing, I don't want to disenfranchise people in odd timezones, so I don't think I want to enforce this.

My own experience with HTML 5 is limited, I wrote a basic pong many moons ago. Is vanilla HTML 5 sufficient, or is there a clear library (not a framework) that is popular for HTML 5, like what SFML/SDL are to C++/C? I'll probably include jQuery.

Do you really think you need art for such an experiment? You could just generate some bitmaps in memory procedurally, which could add some interesting code.

Good idea! I'd certainly encourage procedural generation, both for art and for levels or whatever. I think allowing manually generated programmer art could add to the hilarity.

Once you sort out all the details and get this thing started -- assuming you decide to go ahead -- might I suggest pinning the official topic in the "coding horrors" forum for the duration and linking from the lounge like the "PUTT" contest is currently doing?

Sure, will do.

Maybe I misread it somewhere but will their a end goal that we are to strive for? As in will what is added to the code actually be of "use" to the project? Or could I just say go and implement a simple/stupid game inside and force everyone to work around that?

The end goal is to have some kind of playable game, related to the theme. The details are left to your imagination.

That way the game and a built in editor could be embedded as a sticky at the top of the forum (similar to JSFiddle) so everybody could see live updates of the game.

I don't think that will be feasible in the time available, but it is a nice idea.

Also, I don't know if you plan on keeping any kind of actual repo, but if you're not I wouldn't mind making a git repo and updating it with each post to keep a "proper" history.

I didn't want to try to organise an official repository for the experiment itself, but I would appreciate someone who wishes to maintain one from what happens in the thread(s).

And if this works well, can we please do this annually?

Let us see how this one goes, but I'd certainly be interested in doing something similar next year. I reckon we'll learn a lot from running this one, as to what works or not.
0

Share this post


Link to post
Share on other sites


If it's HTML 5 then I'll have to pass, as I have absolutely no clue how that works.

Learning is half the fun! tongue.png 

 

Plus, with HTML 5 we have the opportunity to actually run it in a versioned, live-coding environment like JSFiddle...

0

Share this post


Link to post
Share on other sites

Really interesting idea! I'm willing to participate.

 

I'd prefer C and SDL (without OpenGL), since its easier to access the framebuffer, and do direct pixel manipulation on surfaces, even if we can't directly rotate/scale sprites.

I think that direct pixel manipulation is also posible in HTML5/Canvas, but I think it was slower IIRC.

0

Share this post


Link to post
Share on other sites

Really interesting idea! I'm willing to participate.
 
I'd prefer C and SDL (without OpenGL), since its easier to access the framebuffer, and do direct pixel manipulation on surfaces, even if we can't directly rotate/scale sprites.
I think that direct pixel manipulation is also posible in HTML5/Canvas, but I think it was slower IIRC.


Just....no.
0

Share this post


Link to post
Share on other sites


I am thinking I'll start the experiment at midnight (GMT) 31st of October, and leave it run for the weekend.

Is it only going to be for 2 days then?

0

Share this post


Link to post
Share on other sites


If it's HTML 5 then I'll have to pass, as I have absolutely no clue how that works.

 

 

Programming is programming.  Type stuff in, cross your fingers and hope that it does something.

0

Share this post


Link to post
Share on other sites

Is it only going to be for 2 days then?

Would it not be three days: Friday, Saturday and Sunday? I was hoping that a relatively short duration would lend some focus and impetus. However, when stated like that - it does sound perhaps overly short. Maybe I'll leave it run until the following weekend.

I wasn't going to lock the thread or anything, so the program could continue to evolve as long as people are sufficiently interested.
0

Share this post


Link to post
Share on other sites

 

Programming is programming.  Type stuff in, and watch the magic happen!

 

Fixed. tongue.png

 

 

 

Is it only going to be for 2 days then?

Would it not be three days: Friday, Saturday and Sunday? I was hoping that a relatively short duration would lend some focus and impetus. However, when stated like that - it does sound perhaps overly short. Maybe I'll leave it run until the following weekend.

I wasn't going to lock the thread or anything, so the program could continue to evolve as long as people are sufficiently interested.

 

You're right, 3 days. Thought the 31st was Friday. My reading skills are not going well for me lol.

 

I was under the impression the whole idea was to be more a relaxed, hope for the best kinda thing. Either way would be cool. Perhaps two version could run alongside for a time? The short version, requiring more effort and organization; the long version, becoming a contrived mess but a more creative end result.

 

Is there really any reason it has to come to an end though? It's not being judged or anything like that, right? Why not leave it for a few months and see what happens. The only thing I see becoming difficult over longer durations is making sure everyone's following the rules. Although that's what makes it so fun, so I don't see why anyone wouldn't!

0

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
Sign in to follow this  
Followers 0