Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Colobot Project 2
#1
I am thinking of starting my own, solo, COLOBOT project. Not that COLOBOT: Gold Edition isn't good enough (it will probably always be better than my version anyway), but I would like to try to design a version myself that will be a different experience than Gold Edition. My version would be more oriented around procedural generation, new robot/building/alien/item types, etc. than things like visual improvements, modifications of original scenarios/graphics and new scenario types.

I do have experience with game designing; I made another almost from scratch quite a while ago, and have been updating it for over a year, but it is coded in Lua, and structured very differently from COLOBOT. I only have mediocre experience with C++ (used it only a few times when I was designing mods for a game that used Unreal Engine 1), but I can probably learn it as I go, as I did with Lua.

A few questions about this:

1. Is it legal, at least if I make it part of ICC? (Don't bother answering the next questions if not)

2. What tools do I need to edit the game?

3. Is the game even written in what I think it is (C++)?

4. What else do I need to know?
Reply
#2
1. Good question. The source code is open, so anyone can use or modify it as long as one's modified code is public. Read about GPLv3 license for more. But, the ability to use the name "Colobot" was given to TerranovaTeam and only TerranovaTeam as a whole. That means that it would be illegal even for individual members of the Team to use the name "Colobot" for their own projects, so you should be ok as long as you call it differently. If it will be a good project I don't see a reason why wouldn't we advertise it on ICC.
2. Whatever suits your needs. If you want your own engine, then C++ is basically the only choice. Otherwise, just choose an engine that you think will let you get the job done (wonder what you want in your game and then choose an engine with features you need). Edit: I think I didn't fully understand you, you want to edit the Colobot game, not create a whole new project? If so then well, you just need to read some READMEs in the repository in order to configure your development environment and you are good to go, at least when it comes to coding.
3. Yes, Colobot: Gold Edition is written in C++ (although it is still written in painful C-like code in many places). It uses its own engine, with a lot of useful 3rd party open libraries like Boost or SDL2.
4. I don't know what you don't know, but there are some things one need to keep in mind during creating a video game:
- it WILL take a long time, especially if you are working alone and are unexperienced. A full completed game like that would take months if not years to make.
- games are the most complicated type of art that ever existed. Programming is only one part, every game developer needs also at least one graphics designer or ability to do it by himself. If you can't make music, you are left with Creative Commons tracks or buying a license from someone. Some writing skills would be good to have too and many other "little" things.
- creating a decent game engine is probably not worth it, unless you are not in hurry or you really need some odd feature, which is not available in one of the existing engines. Remember that there is a huge difference between creating a game engine and an actual game. The former needs a lot of skill, time, and technical knowledge, the latter is rather about scripting levels, game mechanics, AI etc. You must know what you want to do and how much time you have to spare, or you might some years later wake up with half an engine finished and already forgot 90℅ of what you wanted to make.
- will there be a programming language in your game? Creating one is another story, needs some non-trivial knowledge. I'd suggest to just use LUA or Python or whatever scripting, easy to embed in your engine language. Maybe CBOT, but I don't know if it's possible right now to make CBOT a standalone library for use without the Colobot engine, maybe in the future
- that's all I can think of right now, but there is more.

Sorry for any mistakes, I'm writing from my phone.
[Image: XvN5CTW.png] [Image: UYXyyMS.png]
Reply
#3
Like @Simbax mentioned, you definetly can't use the name Colobot. If you want to use the original code, you are free to do so, just keep in mind the requirements of GPLv3 license - you always need to provide the source code along with instructions how to compile it and credit the original authors. (These are just the most important things I remember, you should read more about the GPLv3 license if you are seriously thinking about it)
If you make something cool, we might merge parts of it back into Gold thanks to the magic of open source Smile

(12-22-2015, 08:50 AM)Simbax Wrote: Maybe CBOT, but I don't know if it's possible right now to make CBOT a standalone library for use without the Colobot engine, maybe in the future
Of course it is - CBot is the most independent part of the whole engine, it does get compiled as standalone library. I don't think anybody ever tried that though, because the whole code is an undocumented mess with tons of bugs. I'm currently working on documenting public CBot API, so I hope that to change soon.
Reply
#4
As @krzys_h and @Simbax mentioned above, source code is under a GPLv3 license, you must remember that you have to publish source code and you must check a license for every lib you use, because not every one is GPLv3 compatible. But there are some workarounds for these limitations.
Spoiler :
[Image: unknown.png]
Reply
#5
I would be taking the original COLOBOT game, adding some modifications, and after that I would gradually add updates to it.

Some of the planned modifications:
-A scenario type that has a randomized terrain, decorations, aliens, items, objectives, etc. My last game has randomly generated planets and randomized advanced alien civilizations, so figuring out how to do it in COLOBOT should be my only problem. The C++ coding I did once in another game also involved randomization.
-Lots of new planets/scenarios; I have experimented with map-making in COLOBOT several years ago, so I already know how to do it somewhat, I'll just be a bit rusty.
-Possibly new bots/items/aliens, though probably farther in the future.
-Possibly scenario/storyline that is the player VS an antagonistic robot colony.


What I probably WON'T be doing:

-New graphics/textures for objects or terrain.
-Modifications of original missions or objects, except for compatibility with new ones, if added.

If I can do it, then the first version will probably be ready from 3 weeks to 3 months from when I started. The first version will probably only have new maps (and possibly the random scenario type), I will add more to it later.

Because the game will be for the most part, original COLOBOT, I'm not sure if I can legally do it even if I don't name it COLOBOT.

I'm not at my house right now and so what I can do on this computer is limited; I can't view the license, view the source code, or do much else but use this website until I return home (December 26th, 9:30 PM EST).
Reply
#6
Some of the things can be already done as a mod. If you happen to change the source code and the result will be good, I'd suggest just to send pull requests to the main repository. This way you'll have a mod you can name however you like and you will be contributing to the Colobot: Gold Edition project instead of lonely modifying your own version of the same game.
[Image: XvN5CTW.png] [Image: UYXyyMS.png]
Reply
#7
1) @krzys_h worked on random relief generator some time ago, it isn't finished, but if I recall correctly, there is a generator somewhere in the repository. It may save a bit of your time, but I don't remember how it worked.
2 & 4) Might be done as well as a mod, or even custom levels
3) Currently this will require some changes in the code, in future this will be available as a mod.
Spoiler :
[Image: unknown.png]
Reply
#8
(12-22-2015, 08:21 PM)Simbax Wrote: I'd suggest just to send pull requests to the main repository.

Sorry that I'm unfamiliar with how TerranovaTeam works, but....what's that mean?
Reply
#9
https://help.github.com/articles/using-pull-requests/

You should learn some git (https://git-scm.com) if you don't know it already. I should've mentioned it in my first reply to this thread.
[Image: XvN5CTW.png] [Image: UYXyyMS.png]
Reply
#10
Yes, I know nothing about GitHub, so I will look at that when I return on the 26th (this computer won't let me).

Also, what do you mean by "mod"? Is there going to be some sort of mod menu in COLOBOT: Gold?
Reply
#11
Yes, in future Colobot will support mods. In 1.8 we have planned to move all object properties to separate files, which will allow everyone to add any building/bot/alien/anything without messing with code. Meshes, animations, health points, physics etc won't be hardcoded anymore.
Spoiler :
[Image: unknown.png]
Reply
#12
(12-22-2015, 08:21 PM)Simbax Wrote: Some of the things can be already done as a mod. If you happen to change the source code and the result will be good, I'd suggest just to send pull requests to the main repository. This way you'll have a mod you can name however you like and you will be contributing to the Colobot: Gold Edition project instead of lonely modifying your own version of the same game.
Maybe I'll do this instead then. I got a better idea than modifying the game myself anyway.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)