Advertisement

So... I'm a Molecular Biologist....

Started by July 03, 2014 09:54 PM
19 comments, last by valrus 10 years, 4 months ago

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!

While this might only be tangentially relevant, you might want to look at the game SpaceChem. You might find it interesting, and it might give you some ideas in terms of puzzle gameplay with a molecular flavour.

http://store.steampowered.com/app/92800/?snr=1_7_15__13

Hello to all my stalkers.

Advertisement

Thanks Lactose, I had not run across that game. Mention of any other educational games along these lines would be welcome. I'm having a hard time finding anything that is nearly all text based.

edit*

after re-reading your post, my comment is completely irrelevant :P

Beginner here <- please take any opinions with grain of salt

SGC, these are the questions I was able to identify in your post:

Thoughts? Suggestions of questions I should be asking myself?
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.


It's hard to give you thoughts or suggestions for questions you should be asking yourself since it's unclear what you're looking for. Are you planning to program your game yourself? If so, I assume you're asking some sort of technical question. Are you looking for suggestions about designing your game? If so, this is a technical forum (and there is another forum for Game Design questions). Are you asking how to find people to make your game for you? If so, that would be a suitable question for either the Business forum or the Production/Management forum.

-- Tom Sloper -- sloperama.com

Hi; I'm also an educator interested in SEGs (although my SEGs aren't videogames and my videogames aren't S and only tangentially E.) As some good news for you, it's easier than ever to code a game; there are lots of engines and libraries and many are free. (I don't know the gamut so I'll refrain from recommending one.)

My advice is to concentrate on producing a minimal viable product before branching out further. Save the thoughts of libraries and future work for once you've figured out whether anyone cares. (I'm not saying that to be harsh; I mean that your first job is to set up an experiment that asks questions like "Is the core gameplay loop actually fun?" and "Is there an audience for this?") I'd recommend starting out making a 2d game, with basic graphics and a simplified simulation. If it's fun when simple, it'll probably be fun when complex. If it's not fun, fix this first before worrying about (for example) accurate biochemistry, 3d, etc.

I'm not sure whether you're asking about Design as well. If you're new to game design, too, there are a lot of questions to be asking yourself. (Get a copy of The Art of Game Design by Jesse Schnell; there are hundreds of questions in there that you can/should ask about your game design.) I can discuss more about educational game design but this might not be the forum for it.

Advertisement

Question 1: I want to make a game, what do I do?

Well, someone needs to know how to program on your team. Right now, your team is...You. You have some 10 year old programming knowledge which is better than nothing, but that's a far way off from a game developer. So either start learning how to program, or find a programmer to join your team.

If you're going to learn to program yourself, you'll have to pick a language. I'll suggest C# since you can get Visual Studio Express (a compiler and integrated development environment) for free and C# seems to be a popular starting language these days. Find some C# tutorials and start working your way through them. Once you get the basics down, you're ready to move on to a framework that makes drawing things to the screen and moving them around way easier. I'll suggest Unity or MonoGame since they also have a free option and start learning how to use them.

If you're going to add a programmer to your team, you're probably going to have to pay him on a milestone basis. You might be able to convince this hypothetical programmer to do this work for a cut of the profits, but probably not. Ideas are cheap, and most programmers have other things they can be doing for money. :)

Question 2: I want to make a game about folding proteins, any suggestions?

1. It's too early to worry about this just yet, so don't. Don't try to jump into your dream 3d protein folding awesomeness as your first project. You will get overwhelmed and likely get very demotivated. Instead, make some other simple practice games. Here is a great article that tells you which games you should work on and why:

http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976

2. I watched the video and even though I just told you it's too early to worry about this, I wanted to tell you about my ideas. :) I saw 3d blobby shapes, twisting, folding, and rotating. How are your 3d modelling skills? What about your 3d math skills? Even if you have both of those skills where they need to be, what would the player be doing during all this? If they have to manipulate or build their own proteins, this would be pretty complex. You'd have to design and code some kind of intuitive UI almost like a 3d modeler for that task. And I would guess that many people wouldn't be able to "play" the game from this 3d complexity. Plus, you said the formulas for this were crazy complex on top of all that.

If this is an educational game, I think the concepts are more important than the specific details. So I would abstract these concepts out to 2d and come up with game play elements based on them. I'm picturing Tetris like blocks connected with hinges. Players could design their own proteins, or receptors, or blockers by connecting pieces together. The UI for this would be much simpler, and I think players would have a much easier time predicting what will happen to these simpler 2d shapes bending on hinge points.

But that is a long way off. :) To summarize a rough plan, with VERY rough time estimates.

1. Learn to program. (1-2 months)

2. Learn a framework (1-2 months)

3. Write some simple games (3-6 months)

4. Make your protein folding game (6-12 months)

5. Sell your game to the masses for a blue-gillion dollars!

Good luck,

- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

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.

There is a difference between making a game that is based on molecular chemistry mechanics and creating a library that can be used by multiple platforms to simulate molecular chemistry mechanics, even if you intend for that library to be something that impliments a simplified model of those mechanics. As it sounds that you don't have a significant background in programming, the recomendation that people have been making is to focus on making the game. Personally, I see nothing wrong with focusing on making a library for people to use but if that's at the heart of what you want to accomplish then you should only be focusing on it and put the thought of making a game aside.

Further, regardless of the idea for a game, it can be difficult to recruit programmers to work on your idea as they tend to have their own ideas that they want to work on. Unless of course you're looking to hire programmers to do the work in. If hiring programmers is an option, you might want to consider looking for people that have some sort of background in the field so that you can effectively communicate with each other. (Recruiting programmers here is something you would do in the Classifieds forum, but I suspect you won't find many people with a molecular chemistry background around here).

Putting those things aside, your third option for discussing your idea is to come up with an explination of the game that you have in mind that is simple enough for most people to understand. Speak about your game in terms of mechanics and elements that you see in other games. Get the high level design worked out first so that people can at least envision what you have planned. If you can't communicate that to people then you're going to have an even tougher time when it comes to discussing the technical and scientific elements of your project.

Do you actually have the details for a game worked out already? You haven't described any yet, you should share it if you do. If you don't have an idea for a game it's going to be even tougher to talk to people about producing something that fits your vision. If you have a fear about others stealing your idea (not an uncommon thing), you should try and put that aside and talk about your idea anyways. In the first place, it's difficult to steal someone's idea and produce something that is inline with the person's original vision. Meaning, if someone did "steal" your idea, they'll never actually produce what you had in mind so there's always the opportunity for you to do so. Secondly, the idea sounds as though it'd be pretty complex to technically execute so it's unlikely that you would see anything created overnight or in such a timeframe that you wouldn't have an opportunity to somplete your own project. Third, it's always possible someone else had this idea already anyways.

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.


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?

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?

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.

This topic is closed to new replies.

Advertisement