The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

The Great D&D Programming Project

NerissaNerissa Registered User regular
edited March 2008 in Debate and/or Discourse
The subject came up in [chat] of pooling the available talent and developing our own little game server for board-type games.

This thread is for those who would like to participate in designing and/or implementing such a thing. For now, the main thing is to see if there are sufficient available resources (human and otherwise) to even try. Once we determine the project is feasible, we can worry about what specific game(s) we would like to start with.

Due to legal issues, we may be unable to actually implement games currently under copyright, but I'm sure with a little research we can find some under public domain, or even make up our own. After all, we're a pretty creative bunch, if the Phallas are anything to go by.

Summary of ideas as of 8am EDT Monday, March 24
Summary of status as of 3pm EDT Wednesday, March 26

ProBoard dedicated to this project so we can divide discussions out with separate threads for each sub-project and keep things a bit more organized

So... what we need: (anyone feel free to suggest additions to the list)

Server space
-- at bare minimum an FTP server if we end up with peer-to-peer games, we'll need have them in a central location, but a web / database server would be better

Artists -- We're talking board games here, not FPS or something, I think 2D is where we want to go with this, at least at first

Sound Effects -- For board games, there will probably be a minimum of sound, but it would enhance game play a bit

Programmers -- Once we see what skill sets we have available, we can judge a bit better how we want to proceed in that respect. We'll probably want both web programmers and client programmers.

Ideas -- again, this can wait a bit until we see if we have sufficient resources to actually get anywhere, but feel free to throw some out -- sometimes an idea will intrigue someone who otherwise wouldn't have volunteered.

So, if you are interested in helping, please post your relevant skills. If you have an idea for a game, either post the name (if it already exists and is in the public domain) and some sort of description for anyone who might be interested, or a summary if you've got an idea for something not already under copyright by someone else.

Summary of volunteers so far:

Uh, I guess I seem to have volunteered to be project manager by virtue of simply putting forth the effort to gather volunteers. I can be contacted via this thread, PM here, or e-mail at nerissagoldenrose (at) gmail -- this is not the same e-mail address I have associated with my account here, I'd like to keep the stuff for this project all on one account separate from my every-day e-mails, though, to help keep things organized. You can also IM me if I'm around, usually during the work day (minus long lunch and picking up the kid from school). Check my profile for my various IM handles.

Computing resources (servers & admin)
  1. iTunesIsEvil (maybe servers)
  2. Satan. (servers)
  3. amateurhour (admin)

Art and/or Sound
  1. JamesKeenan
  2. amateurhour
  3. MikeMan
  4. piL
Programming
Programming volunteers with skill self-assessments
Numeric values are on a range of 0 ("not a clue") to 10 ("I use this every day and I'm pretty good at it")
Feel free to suggest any other skills that might be relevant :)

Ideas
  1. EmperorSeth
  2. Tomanta
  3. Wonder_Hippie
  4. ege02
  5. hesthefastest
  6. Medopine
  7. Tofystedeth
  8. Loren Michael
  9. Spawnbroker
  10. Quid

Nerissa on
«134

Posts

  • NerissaNerissa Registered User regular
    edited March 2008
    OK, me first...

    I'm primarily a VB6 programmer, I can muddle through C, I have done some Perl (guild web site / interactive roster system plus installing and customizing UBB forum modifications), but it was quite a while ago. I'm just now learning Java / J# and .NET. I'm passable working with XML and SQL, as well as HTML.

    Also, I love a challenge and anything that lets me learn new programming tricks. :)

    Nerissa on
  • cyphrcyphr Registered User regular
    edited March 2008
    Pretty strong experience in C++, C#, and Java. Experience developing both local and web applications (have only done webapps in Java, though). .NET, Spring framework, yadda yadda. A lot of the programming skillset decisions will be based on what graphics library we decide to use.

    Also I'm totally up for trying something new and using Python w/ Pygame. It looks like a hell of a lot of fun.

    cyphr on
    steam_sig.png
  • NerissaNerissa Registered User regular
    edited March 2008
    cyphr wrote: »
    Also I'm totally up for trying something new and using Python w/ Pygame. It looks like a hell of a lot of fun.

    That could be good. I'd also toyed with the idea of an IRC-based client that can connect to a particular channel of a public IRC server, and implement all of the communication between clients as pre-defined IRC messages.

    Nerissa on
  • OboroOboro __BANNED USERS regular
    edited March 2008
    I'm a C++/Java programmer, with the entirety of my experience spent on USACO problem-solving. Accordingly, my expertise is a bit narrow when it comes to game programming! I collaborated doing the netcode for an online Earthbound fangame, but it was in VB and, accordingly, that doesn't really count for anything. ;)

    I did concept and system programming work for the Harvest Moon Online fan project as well a few years back (C++), but that was relegated to the game system and functions and not the client/webserver netcode. I'm not really confident doing netcode from scratch.

    I prefer organic, top-down solutions ... the downside of this is that it's usually very inefficient, but the upside is that the approaches are very easy to grok and advances in processing power make the inefficiency a moot point in most situations.

    Oboro on
    words
  • GreeperGreeper Registered User regular
    edited March 2008
    I know a little java.

    A little, I'd like to stay in practice.

    Greeper on
  • iTunesIsEviliTunesIsEvil Cornfield? Cornfield.Registered User regular
    edited March 2008
    Oh fun!

    I'm mostly a .NET developer with C# being my language of choice. I can make my way through C++ if I must (boooo memory-management), and I've got a decent amount of Java experience as well. Most of my work is client-side development now, but I've written most of my company's server-side code as well. It's client-server database stuff. Nothing really uber-fancy.

    I'd be more than happy to dedicate what I can web-server wise, but would need to know what kind of space and bandwidth we're talking about. My site does diddily-crap, so I've probably got plenty of both though.

    iTunesIsEvil on
  • cyphrcyphr Registered User regular
    edited March 2008
    Nerissa wrote: »
    cyphr wrote: »
    Also I'm totally up for trying something new and using Python w/ Pygame. It looks like a hell of a lot of fun.

    That could be good. I'd also toyed with the idea of an IRC-based client that can connect to a particular channel of a public IRC server, and implement all of the communication between clients as pre-defined IRC messages.
    Meh, then you have to put an IRC reader and a regex parser in the client. Each client is also now keeping track of game state, and so you have to deal with the possibility that two clients can become out-of-sync, or not receive a message for some reason, in which case how do you resolve the conflict? Better (IMO) to roll our own server and ensure state at only one point.

    EDIT: Okay actually you wouldn't need a regex parser. And on second thought maybe I'm misunderstanding what you're saying, or what the nature of this application is. But it seems like an unnecessary step to me.

    cyphr on
    steam_sig.png
  • GeodGeod swim, swim, hungryRegistered User regular
    edited March 2008
    I guess I'll jump into the pool of developers...

    I'm a C++/C# programmer primarily, as it's what I focus on day to day. I've also worked with VB6/VB.Net, Java, Python, etc, etc. On the web side, I have some javascript knowledge, HTML, and PHP. I might have a web server available if necessary. Most of my programming knowledge is not in the game/graphics development side of things though, not that I haven't programmed a few before.

    Oh, and I have programmed an IRC game in Java before, but that was ~4 years ago now. It was just a simple text Blackjack game.

    I'm not too sure what my time outlook is, but I can help some if need be.

    Geod on
  • EmperorSethEmperorSeth Registered User regular
    edited March 2008
    Part of me wants to be on the ideas department, but the rest of me feels like a jerk for suggesting it, knowing how easily that'll fill up.

    I also do some programming, but I already program at work, so I don't know how much time and/or enthusiasm I have for also doing it as a hobby.

    EmperorSeth on
    You know what? Nanowrimo's cancelled on account of the world is stupid.
  • RiemannLivesRiemannLives Registered User regular
    edited March 2008
    I'm a senior developer currently working at Microsoft. Background in C++, C#, Flash (As2 and As3), Silverlight 1 and 2 beta, SQL, Winforms & WPF, some XNA and some SQL.

    From the chat thread, I think that while a browser based client is certainly the best experience there is a massive amount of money and time investment there. Also would need to add a Database server to the list of requirements under Server Space in the OP.

    For client dev it depends on the game. For most board games WPF is actually an awesome platform. It's library of controls and their flexibility are hands down the best available on any platform in any language. Course it's not really designed for "games" dev but turn based board games are a bit outside the mainstream of what games platforms like XNA or OpenGL are desinged for anyway.

    Certainly not an original thought but it is especially clear in this genre that a game is just a database with a fancy UI. WPF offers awesome tools for displaying and manipulating data. What it lacks is good 3d support (it has some really basic 3d capability but definetly not something you would use in a game engine).

    Edit: Forgot the important bit. If there arises a design that interests me, does not obviously infringe on someones IP and is acheivable with the resources available I would certainly be willing to help code.

    RiemannLives on
    Attacked by tweeeeeeees!
  • jotatejotate Registered User regular
    edited March 2008
    Meh, my computer science degree hasn't been put to good enough use in my current job to be of much help, I'd imagine. I was trained in C++, have done some work in VB and C#. I've developed a few websites in PHP. Most of my work lately has been with SQL pretty exclusively. Need any DB work in the project, I'm all over it.

    jotate on
  • Satan.Satan. __BANNED USERS regular
    edited March 2008
    Jesus, usually the developers are the hard part.

    You bring the code etc. and I'll bring the servers.

    Satan. on
  • RichyRichy Registered User regular
    edited March 2008
    I've been trained in C++, I've also worked with Java, Python, Matlab, VB, C#...

    The bad news is I've only been working with databases for a few weeks and haven't worked with internet protocols.
    Certainly not an original thought but it is especially clear in this genre that a game is just a database with a fancy UI. WPF offers awesome tools for displaying and manipulating data. What it lacks is good 3d support (it has some really basic 3d capability but definetly not something you would use in a game engine).

    3D isn't exactly a requirement for board games. Sure, the games would look better with 3D buildings and animations and all, but really for board games 2D is enough. So given the choice between a quick and easy tool that limits us to 2D or a hard and complicated tool that gives us 3D capabilities, I know I'd vote for the 2D one.


    EDIT: Also, thanks Nerissa for picking up the idea.

    Richy on
    sig.gif
  • RichyRichy Registered User regular
    edited March 2008
    Idea up for debate:

    I think the system should work like Facebook's Scrabulous games. Players log in when they have time and play their turns in the games they have going on. Since we're a very diverse group, living in different time zones all over the world and with different family and professional obligations, I think this would be most convenient for everyone.

    The alternative of course is a real-time system, which requires that all players be logged in and play the game at the same time. The advantage of that system is that the games are played right away, when you feel like playing, and are not dragged on for weeks or months. But that advantage can be replicated in the Scrabulous model, if all players are logged in at the same time.

    Richy on
    sig.gif
  • JamesKeenanJamesKeenan Registered User regular
    edited March 2008
    The only issue with Scrabulous's system is that is lacks any real-time streaming of info to alert all present parties a turn has been taken. Address that issue and it'll be like any online version of Chess, cards, etc. and still be viable for longterm games like first suggested.

    [edit]: I'd also be up for working on Sound Effects since it'd be the only way I could contribute really, since I have no servers or coding skills.

    I imagine ideas will come from everyone, though of course I have my own.

    JamesKeenan on
  • .:Orion.:Orion Registered User regular
    edited March 2008
    It looks like there's already a lot of developers, but if there's enough work I'd be glad to participate.

    I'm good with C#, Java, VB.Net, Flash/ActionScript, Ruby and Python as far as programming languages go.

    .:Orion on
  • cyphrcyphr Registered User regular
    edited March 2008
    JamesKeenan, as long as the server maintains a list of "subscribed" clients, it's trivial to push a message to the clients (with email fallback or something if they're not online).

    RiemannLives - I don't really think there will be a money investment, unless Nerissa is secretly the founder of your employer and wants to pay us all to do this ;)

    Also, you're right that WPF is the new hotness (and we could use LINQ! glee!), but it's worth considering that that limits participants to the Windows platform. I'm not sure how many Mac/Linux folks we have here but it seems to me that for a hobbyist project like this, keeping the end product as open and portable as possible would be nice.

    cyphr on
    steam_sig.png
  • kdrudykdrudy Registered User regular
    edited March 2008
    Neat idea, but it seems like there are lots of developers, hehe. That's mostly where I'd fit in, I do a lot of Java application programming, mostly backend no GUI type of things that interface with MySQL a lot at my current job, but I did do most of the work on the GUI, front end and back end of a few educational Java applications used all over the country and overseas. I've also done some work in Assembly and C, though those aren't really applicable here in any way.

    It sounds like a fun project, I hope something neat comes of it whether you have any need of me or not.

    kdrudy on
    tvsfrank.jpg
  • TomantaTomanta Registered User regular
    edited March 2008
    A little slow on this and may have a hard time keeping up with this thread for the next few days...

    But still toss myself out as a developer / idea person / maybe writer. Have a Comp Sci degree and have done some programming off and on the last few years, primarily C#. Done a little bit with databases and XML. Actually working on a personal project for Decipher's Star Wars CCG right now (collection/deck manager maybe extending into online table, THEN maybe extending into computer AI. I'll never get that far).

    Not against learning / brushing up on a different language.

    Tomanta on
  • Wonder_HippieWonder_Hippie __BANNED USERS regular
    edited March 2008
    Getting the blue dot. This is the best idea ever.
    Settlers of Catan. Do it.

    Wonder_Hippie on
  • JawaJawa Registered User regular
    edited March 2008
    I'm actually working on getting my Comp Sci degree right now and wouldn't mind working on something like this. I don't have much experience but I would be glad to do anything I can to help.

    I know Java and HTML, I can flub my way through C#, and I wouldn't mind leaning a new language if need be.

    If there are already to many programmers I would be down with helping with sounds

    Jawa on
  • ege02ege02 __BANNED USERS regular
    edited March 2008
    Can I sign up to be a Consultant? :P

    ege02 on
  • PaleCommanderPaleCommander Registered User regular
    edited March 2008
    I too, shall throw my hat in the ring as a Comp Sci college student who knows some Java and basic Web design (and is learning more) but doesn't have much experience. I'd definitely be willing to pick up anything useful in the process, though.

    Victory shall be ours by sheer manpower!

    PaleCommander on
    steam_sig.png
  • hesthefastesthesthefastest Registered User regular
    edited March 2008
    I will utilize my incredible idea generating device.

    hesthefastest on
  • TechnicalityTechnicality Registered User regular
    edited March 2008
    I program in Flash and C, and though I don't usually post in D&D I'd be interested in contributing.

    For the curious, see my sig.

    Technicality on
    handt.jpg tor.jpg

  • NerissaNerissa Registered User regular
    edited March 2008
    .:Orion wrote: »
    It looks like there's already a lot of developers, but if there's enough work I'd be glad to participate.

    Well, if we get too many programmers, there's nothing saying we can't divide into teams and work on more than one game in parallel. :D

    Nerissa on
  • amateurhouramateurhour One day I'll be professionalhour The woods somewhere in TennesseeRegistered User regular
    edited March 2008
    Alright, there's enough programmers, so I won't even break my measly two years of college programming to the mix, but I'm your artist and/or sound guy.

    amateurhour on
    are YOU on the beer list?
  • NerissaNerissa Registered User regular
    edited March 2008
    Getting the blue dot. This is the best idea ever.
    Settlers of Catan. Do it.

    I suspect there will be legal issues with that... if you can either show it's public domain or obtain the appropriate permission, we can add it to the list.

    Nerissa on
  • NerissaNerissa Registered User regular
    edited March 2008
    cyphr wrote: »
    Nerissa wrote: »
    cyphr wrote: »
    Also I'm totally up for trying something new and using Python w/ Pygame. It looks like a hell of a lot of fun.

    That could be good. I'd also toyed with the idea of an IRC-based client that can connect to a particular channel of a public IRC server, and implement all of the communication between clients as pre-defined IRC messages.
    Meh, then you have to put an IRC reader and a regex parser in the client. Each client is also now keeping track of game state, and so you have to deal with the possibility that two clients can become out-of-sync, or not receive a message for some reason, in which case how do you resolve the conflict? Better (IMO) to roll our own server and ensure state at only one point.

    EDIT: Okay actually you wouldn't need a regex parser. And on second thought maybe I'm misunderstanding what you're saying, or what the nature of this application is. But it seems like an unnecessary step to me.

    You're right that it means each client would have to be maintaining game state, but I wasn't sure we would be able to get a server to host games, so I wanted to keep options open for peer-to-peer as well.

    Game commands wouldn't necessarily have to be regex, it could be any format we could come up with I've spent the better part of the past 10 years coming up with ways to get airline reservations to convey information that the airline's system was never designed to convey in ways that were recognizable / readable by both humans and software and that the humans are unlikely to mess up... if I don't have to worry about humans, it gets easier.

    But yeah, it was just a random thought on the "if we have to go p2p" line, if Satan. or someone else has enough server power for us, it won't be an issue.

    Nerissa on
  • amateurhouramateurhour One day I'll be professionalhour The woods somewhere in TennesseeRegistered User regular
    edited March 2008
    I think the idea of breaking into multiple teams is the best way to go. I mean so far you've got like twenty or thirty programmers in here, and there's no way that many people can write good code together.

    I say four teams of five to seven coders, and a few art and sound people.

    Is there any majority vote on what game is being made here?

    edit: my ideas:

    1) Card games, always fun. Any game with a betting system would be great.

    2) JRPG tactics battle game, or like a battlechess type of game. Classes, weapons, the taking of land, the whole shebang.

    3) PHALLA game. Everyone connects to the server, makes an avatar with the character creator, and registers for one of many games. You have boxes to vote or use your skills based on a login timer, and a little box to make comments to suspect others of being the killer. It would take a lot of confusion out of playing in forums.

    amateurhour on
    are YOU on the beer list?
  • NerissaNerissa Registered User regular
    edited March 2008
    Adding Squashua to the list, who apparently has a complete board game client / server written applet-style in Java. :)

    I'd thought about Phalla, but wasn't sure how to go about it in such a way as to allow all the comments & interaction without implementing a good section of a forum, complete with private messaging, which seemed rather daunting when we already have an infrastructure in place here. (On the plus side, with such a significantly smaller user base, we could have a larger PM box.) However, with some variations, it could be a launching point for designing something workable. Anyone want to start tackling the design?

    Nerissa on
  • NerissaNerissa Registered User regular
    edited March 2008
    added a list of volunteers to the OP -- anyone who has posted in this thread and not claimed specific skills got put in the "Ideas" list on the assumption that if you're interested enough to post, you're probably interested enough to at least help generate ideas :P

    I am pretty sure I got everyone who has posted so far... if I missed you, or if you would like to be in lists other than the ones I put you in, let me know.

    Also, if you decide you haven't got the time or interest to continue PLEASE PLEASE PLEASE let me know ASAP. If we start out on 4 projects and lose half our team, we'll have to decide whether to continue with slower progress on all 4 or to put some on the back burner to get others done faster. However, we do need to know if you can't / don't want to continue so we can make the appropriate decisions.

    Nerissa on
  • RiemannLivesRiemannLives Registered User regular
    edited March 2008
    Nerissa wrote: »
    Getting the blue dot. This is the best idea ever.
    Settlers of Catan. Do it.

    I suspect there will be legal issues with that... if you can either show it's public domain or obtain the appropriate permission, we can add it to the list.

    Well, even legal issues aside there are already good Catan clients available. Would seem odd to build something when we can already play it.

    RiemannLives on
    Attacked by tweeeeeeees!
  • RiemannLivesRiemannLives Registered User regular
    edited March 2008
    I think the idea of breaking into multiple teams is the best way to go. I mean so far you've got like twenty or thirty programmers in here, and there's no way that many people can write good code together.

    When 20 people volunteer for a project usually between 0 and 1 of them actually write any code.

    RiemannLives on
    Attacked by tweeeeeeees!
  • RiemannLivesRiemannLives Registered User regular
    edited March 2008
    cyphr wrote: »
    RiemannLives - I don't really think there will be a money investment, unless Nerissa is secretly the founder of your employer and wants to pay us all to do this ;)

    In general I didn't mean "money" by "nescessary resources". Most of the needed resources are skilled work-hours.
    That aside, any project that involved one or more dedicated servers will eat up cash. Servers need maitenence (especially databases) and bandwidth is never free.

    RiemannLives on
    Attacked by tweeeeeeees!
  • ege02ege02 __BANNED USERS regular
    edited March 2008
    Nerissa wrote: »
    Getting the blue dot. This is the best idea ever.
    Settlers of Catan. Do it.

    I suspect there will be legal issues with that... if you can either show it's public domain or obtain the appropriate permission, we can add it to the list.

    Well, even legal issues aside there are already good Catan clients available. Would seem odd to build something when we can already play it.

    Yeah. Just doing a Google search for "settlers of catan online" returns a ton.

    ege02 on
  • RichyRichy Registered User regular
    edited March 2008
    The advantage of making our own apps and servers for Settlers and other board games are:
    1) We can have all the games we want in one place, rather than signing up on and constantly checking several different websites.
    2) We can play against each other rather than stragers.
    3) We can implement the features we want.


    Another question is, if we don't implement a known board game, what do we do? Do we create our own new board game?

    Richy on
    sig.gif
  • RiemannLivesRiemannLives Registered User regular
    edited March 2008
    Richy wrote: »
    The advantage of making our own apps and servers for Settlers and other board games are:
    1) We can have all the games we want in one place, rather than signing up on and constantly checking several different websites.
    2) We can play against each other rather than stragers.
    3) We can implement the features we want.


    Another question is, if we don't implement a known board game, what do we do? Do we create our own new board game?

    If someone comes up with a good design doc that would be the best possible case IMO. DMCA takedown orders when you have spent a lot of time and effort on a project suck. Look at what happed to those guys who recently got shut down for making that awesome implementation of the Space Hulk board game.

    RiemannLives on
    Attacked by tweeeeeeees!
  • Caliban42Caliban42 Registered User regular
    edited March 2008
    I'd like to get in on this if you're still needing programmers. At my old job, I did .NET stuff, mostly C# but some VB but for the last year or so I've been doing RPG so I'm a bit rusty. I'm also familiar with Java and C++, but haven't touched them much in a couple of years. Aside from that, I'm in the middle of learning PHP.

    Caliban42 on
  • MikeManMikeMan Registered User regular
    edited March 2008
    I don't have enough relevant talent to be able to contribute to the programming side of things, but I write music as a hobby and if y'all need some ambient music I'd be all over that.

    Also, just as an aside, Nerissa and Riemmann, asking people if they will drop out or not is all well and good, but this is the internet, and the PA forums at that. I would say a good rule of thumb is to outright assume 25% or more people will drop out and/ or not have enough interest, and set up redundancies that will cover the worst case scenario.

    MikeMan on
Sign In or Register to comment.