Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Opinions for making a programming game

Discussion in 'General Discussion' started by swyrazik, May 18, 2014.

  1. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    Hello everyone,

    This summer I'll start working on my bachelor thesis and one of my ideas is to make a programming game, like Core War, RoboWar, and many others. I haven't really played any of those games, but I'm going to start checking them out to see what features they offer. My game won't necessarily be for teaching the basics of programming, instead it could target more advanced programmers and deal with more advanced topics, like networking, optimization, etc.

    The purpose of this thread is to see what you would expect from such a game and if there is anything you think is missing from the already existing games. Also, I would like to see if there is a feature that stands out and you really like in a specific game.

    Feel free to share your opinions. :)
     
    Last edited: May 18, 2014
  2. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    You can always take a look at Code Hero. Long story short, it had a strong Kickstarter campaign, but it ran out of money before release. Lots of backers got mad and stuff. It's an interesting case, because it had some pretty smart people behind it. But the project had a very ambitious scope, with loosely defined goals.

    Anyhow, you probably want to make something simpler than what they were trying to make.
     
  3. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    Indeed pretty ambitious. I liked how you could execute code on anything by shooting it with the code gun. But I guess the endless possibilities had to be controlled/limited somehow, or was it a sandbox game?
     
  4. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    From my understanding, it had two modes. The first was a linear mode, where you basically followed a linear story and learned to code, sort of like how you would in a programming course. The second mode was more like a sandbox, where you could build any game you wanted and publish it to their servers for anyone to see.

    I've heard the project might still be alive, though most people on it have left. If they do make a release, they'll probably have to scale down or get rid of the sandbox to make it work.
     
  5. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    The gameplay mode I currently plan is like an MMORPG. No, I don't mean to make an MMORPG, that would take me years. I mean I would give the player some freedom to do "whatever" he wants with the environment, but also have some kind of linear plot with quests/missions to give him some direction and goals in the game.
     
  6. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    It mostly depends on what you mean by "whatever". If it's limited enough, you should be fine.

    See: The Stanley Parable.
     
  7. Dameon_

    Dameon_

    Joined:
    Apr 11, 2014
    Posts:
    542
    The best game that will ever come out for advanced programmers is already out, in many versions, with varying difficulty levels.

    Presenting...BASIC! Struggle to level up by entring your code line by line. Play spot the jidden typo! Win by learning it's useless in the modern world.

    Too easy? How about...Java! Create an object oriented creature and nurse it as it grows from a single class to...good god, did you make a separate class for every single mthod?

    Presenting C++! Struggle to decipher the hidden code. Find and defeat the memory leaks as you descend into a sleazy world of raw pop tarts and mountain dew for dinner. Or is the sun coming up? Who cares!

    And not to forget the terrifying world of assembly. Knowledge that drives men mad. Learn the secrets of thinking in hexadecimal! Uncover the power, and explore the outer limits of your comprehension as your brain slowly melts.

    Sorry, couldn't resist.
     
  8. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I'm working on a prototype of a similar project(But targeted towards complete beginners who haven't written a line in their life).

    (Not really what you asked but may be helpful) Most programming languages built on top of c# actually compile to CLR and are no good on IOS as they can't compile their. I found this to be the case in IronPython and IronRuby, some people say that IronRuby is different but I'm not sure(I haven't actually done IOS builds as I don't have the setup) but they do work on Android, Web and PC (Not consoles AFAIK) so if you are just targeting them then you should be fine. If you want the freedom to build to IOS or probably consoles then you'd probably go with KopiLua or write a custom version of another language.

    As to gameplay I think it will be hard to limit what a player can do but also give them the freedom of programming? I mean what's to stop a player from setting their Transform.position to the end of a level? Well you not giving them access to that but then it is limiting the user.
     
  9. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    @turkeypotpie
    It will be limited by the possibilities of the game. An open world game allows you to go to every corner of the game world, but it doesn't allow you to climb mountains of steep slope. Having said that, my game will probably be limited to a provided API.

    @Dameon_
    Haha, true. I actually thought of making the player handle object references, but it would probably make the game too frustrating. :p

    @TylerPerry
    I don't think I'll have to worry about the target platforms right now. I believe my professors will care more about the gameplay and documentation. However, it's good to know in case I decide to keep working and expand my project.
    Regarding what you said about gameplay, if a programming game doesn't limit the user, then that game could end up being a game engine. That's not my current scope. As I said a few lines above, I'll probably expose an API for the player to use and maybe allow him to execute code on specific objects in the game.
     
  10. wccrawford

    wccrawford

    Joined:
    Sep 30, 2011
    Posts:
    2,039
    Apple would never approve a game that allowed people to write their own code in it, even if it was sandboxed really well. I wouldn't even consider targeting IOS because it's just going to end in tears.

    I agree that the difficulty in these games is in limiting what you can do so that the game is challenging but still fun.

    To that extent, I've been thinking about such a game for years, and I've decided that the answer is to provide them a limited API they can use, rather than the full set. They will be able to apply any logic they want to affect the universe according to its prescribed rules.

    The most common version I've seen is a robot. (Or turtle.) You can tell it what direction to go and how far. When to pick up and drop things. Etc etc. The spark of the game would be in what API you expose beyond that. Different types of sensors and tools, etc.
     
  11. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Hmm. I would steal the idea. :D
     
  12. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    Exactly. By providing a limited API, you can better control the gameplay experience. Unlimited programming belongs to the real world. However, you should not prevent it from being diverse, so that the player won't feel that he's doing the same stuff over and over again, and this could be achieved by including, as you said, different types of components for the player to interact with.
     
  13. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,071
    Colobot might be worth looking at as well. It was originally commercial but is now licensed under GPL v3. I found it interesting because the enemies in the game ran on the same scripting language they were attempting to teach the player.
     
  14. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    IOS actually changed their policy, and there are interpreters for things like Python, Lua and Lisp on the appstore. I haven't seen a game but I doubt they are just blocking games that allow it.
     
  15. swyrazik

    swyrazik

    Joined:
    Apr 21, 2013
    Posts:
    50
    It's on my list for checking it out, although I would like to do something other than the usual move, turn, shoot/action kind of stuff, like managing connections between different components.

    That's why I'm asking about any features you think are missing from the existing games of this kind.