Joined

Last visited

Community Reputation

About SGC

Oh! and I just saw the reference to Factorio! Awesome, thanks.
Also, while I'm here, I'll throw out this question as well:
There have been studies on SEG that suggest that one weakness of the educational aspect of games is that students often do not critically reflect upon the actual educational part of the game. (Gee 2003) I'm very much interested in encouraging this type of reflection without interfering with gameplay, so I'm thinking that I will have "problem based" gameplay as the primary game, and then ENCOURAGE collaborative learning and critical reflection in a separate "section" of the game, if you will. My interest is in designing different avenues via which to encourage this transfer between gameplay and critical reflection and test which one is most effective. One common arena of self reflection is online message boards associated with the game. (One that has been well studied is Civilization's "War Academy" online message board based on discussing in game tactics.) So, on the basic level, I'm trying to figure out how I can encourage users to move back and forth between gameplay and a message board without destabilizing gameplay or making it feel like a textbook or classroom.
Any suggestions on an effective way to do this?
Also, what would a message board look like / be called if it were integrated into the game itself on a mobile device? I have seen this done in some mobile games, where you are in essentially linked into a 'chatroom' scenario with fellow game players, but the posts are often (necessarily) restricted in length. Has anyone seen this done especially effectively in any mobile game they have played?
Otherwise, I was thinking of simply linking the game to a traditional online message board like this one and encouraging cross-platform "gaming"... although in this instance, it would be... cross-platform collaborative learning? XD

First off, I just want to say that I appreciate everyone’s desire to spare me the effort of learning, however, for my own personal satisfaction and interest in the topic, I’m going to solidly ignore you. :) I can assure you that I am NOT the sort of person who would NOT take a programmer’s advice on his or her area of expertise.
Valrus, Thank you for your comments. When you say “Perl's probably not the appropriate tool for this task.” I guess that it’s because Perl is more of a language to “hold things together” is that correct?
Also, I appreciate your reference to a “game design document (GDD) that's specific about *everything* except implementation.” I will definitely keep this in mind. I’m on a slightly different point in the development of the project, basically the part where I beg for money, and the document that I am generating WILL have to demonstrate that I have some sort of competence in at least discussing these things. I.e. I will have to justify the creation of a library or engine. Its difficult to justify funds for a thing that you can’t describe in technical terms. XD
Do you recommend any books on game design in particular? I’m currently in the middle of “Augmented Learning”, “Games Learning and Society” and a folder full of Educational Game Design primary research articles.
NightCreature83, you raise an interesting point! “If you get a decent programmer”… How can I tell if I’m talking to a competent programmer? Any advice?

Kseh, thank you for your comments. I came to this board because I wanted to talk to programmers so that I could start learning to talk to them with what would come across as a modicum of understanding. For instance, Eck gave me the term 'framework' which I had not heard before and am currently investigating.
Phase I: Is a game. The game itself would essentially be like The incredible machine, but with proteins instead of gears / levers etc. Within this context, I want a sandbox level where users can build their own 'biomachines'.
Phase II: Is a more technical tool that is essentially just the sandbox level with more options. These are probably two entirely different programs, but it would be nice if some of the coding produced for the first could be reused in the second and I'm trying to investigate the possibility. I would like this code to be accessable enough that, as science progresses, more advanced users could add more protein options to model current scientific understanding of molecular processes. I.e. there are over 4,000 DUFs (Domains of Unknown Function) out there, and it would be nice if there was a way for these to be added by future users. I was thinking something like a window within the program that would allow the user to access the code directly and input directions for the function of the protein. It would be nice for this to be doable without it being a complete cluster you know what to the code itself.
Pink Horror, thank you for your questions, I obviously didn't explain myself well enough:
"Why is it "C++ and mobile devices"? Does that mean you do not expect the mobile devices to use C++? Why do you care if the game is in C++, if you're not programming it?"
I am currently thinking it would be nice if it were in C++ because it is one of the most long standing languages. Right now a lot of scientific programs are in more obscure languages like FORTRAN, and I want to make sure this program doesn't fall into that category. I have spoken to some programmers about this, and I think it would be appropriate, because I would like the program to be cross-platform compatible eventually. It is not essential that it be in this language, it’s just one that has been recommended to me and it sounds like an intelligent suggestion. As I understand things, there are also several decent C++ converters that would allow programmers to move the program into web-based languages like Java.
"What do you think it means to be "as open source as possible"? Do you mean you want to make your source code public? Do you want to let volunteers contribute to your source code?"
I want future scientists / programmers to be able to add to it and reuse it in other programs. See the Phase II description.
"Honestly, as a programmer, one thing that somewhat bothers me is when someone who does not know what he or she is doing with software still wants to make all the high level technical decisions, and then force the actual programmers doing the work to use the programming languages, libraries and tools of their choice, based on some light Internet research, instead of letting the people who may have actually written games in several different languages and environments decide which ones to use. But that's just me."
I understand that concern and that is why I am trying to go beyond "light internet research" and have multiple discussions with programmers about what I'm interested in doing.
Endurion, thanks for the link!
Kaptein,
Thank you for the links. I believe the point in my design that I am at is something along these lines:
"Completeness
Completeness goes hand in hand with correctness. Have you found all those boundary cases? Have you considered what will happen in two years when your requirements change but this code is still in use? Have you thought about all those little details that seem to pop up later, or are you going to have to engage in a game of whack-a-bug to keep the system running? How complete is your conceptual coverage? Learn from those that have come before you, who have found the cracks and gaps, and found proper ways to avoid or fill them. By utilizing design patterns, other developers can have increased trust in your solution's completeness and correctness." - informit.com
I want to make sure I have considered all of my options and made an intelligent decision based on my needs. I want this program to be accessible and revisable by people who may not be the strongest of coders. Bioinformaticists are in relatively high demand right now, and many of my students cannot apply for these jobs because the job descriptions are for people who know both molecular biology and a relatively obscure language that is not taught within our CS B.S. programs. Hence my desire for it to be in something highly accessible to an entry-level coder that will last into the foreseeable future. I'm trying to get a few different opinions on what this might entail.
Eck,
"Re: Encoding the information - It sounds like data-driving (detailing out specifics via data files) the game mechanics is what you're asking about and it should be doable. It adds some up-front complexity to the task, but I find that doing so usually opens up so many more possibilities. It makes your game "mod-able" (able to be modified by the end user) and sometimes in ways the original programmer never even thought about."
Awesome comment, thank you. Would this necessitate a language like Perl, or could it be coordinated with C++? I've been discussing the development of course that taught Perl with my colleagues, and it sounds like Perl might be something that is more accessible to a general user than C++. Am I crazy to say that? Also, is the language itself perhaps why many bioinformatics programs are developed in FORTRAN? I understood that it was mostly for historical reasons, but I would appreciate alternative opinions on that thought.

Thank you all for your comments!
I guess I need to clear a few things up: I'm not planning on the initial version being complex, 3D or anything like that. Neither am I trying to code it myself.
What I'm trying to be able to do is communicate what I want to a programmer using the correct terminology.
I guess what I am looking for is a general survey of technical terms and what they are capable of doing, I.e. The pros and cons. Wikipedia is a little too tech speak heavy for me when I try to read about game engines and I'm getting overwhelmed with options.
I figure I would try to get the game coded in C++ and for mobile devices, but I want it to be as cross platform compatible as possible and the code to be as open source as possible. I'm not sure what my options are in that regard.
I'm also not sure what my options are in regards to actually coding the information. I guess they can be math based or rule based (if/then type stuff)? Is there any other way to encode the information?
I understand that there is underlying game mechanics and then there is a user interface on top of that (generally), but I am unsure how to say that in technical terms and what my options are in that regard.
Etc, etc.

I'm going to have to admit this is my first post here. I am an educator interested in Serious Educational Games (SEGs) and the last time I had any involvement in coding was over 10 years ago during a Computer Programming summer camp I went to as a highschool student. (Wow, that tells you a lot about me...) I'm coming to this forum because I have no idea where to even start learning / reaching out to experts and I was hoping someone here could point me in the right direction.
I have an idea for a puzzle game that would be similiar to a physics puzzle game (Angry Birds, Crayon Physics Deluxe, The Incredible Machine, etc.) but instead of being based on physics principles, it would be based more on biochemistry principles. (e.g. Foldit http://fold.it ). Except it wouldn't be a biochemistry puzzle game like Foldit is, but rather a Molecular Biology Puzzle Game. For want of a better metaphor, Foldit is to me as a molecular biologist what Brownian motion is to a Physics game engine. Extremely important but a logistical nightmare.
In the process of creating this game, I am ALSO interested in creating a piece of programing that would allow future programers to plug the piece of programing into future programs, like a Physics Engine, only for Molecular Biology. That way, future SEG programmers could simply reuse the Molecular Biology aspect in other contexts. However, I'm beginning to think that, as I read, creating a library that could be integrated into (is compatable with?) a Physics Engine that is already out there might be more appropriate. Thoughts? Suggestions of questions I should be asking myself?
The other thing that I need a little direction on is what sort of information is needed for the programming process. Accurate protein folding / protein-protein interaction based on realistic calculations requires massive amounts of computing power ( hence things like http://folding.stanford.edu/ ). Obviously this will not work for a simple puzzle game designed for your iphone. Therefore, these calculations either need to be made much more simple, or converted into a rule based system of interaction (for instance, if X bumps into Y, Y is activated). An example of the sorts of interactions I'm talking about: ( skip to :20 ) Any suggestions on the sorts of questions that I need to be asking myself regarding this conversion of 'molecular movie' into code would also be greatly appreciated.
Thanks!