Jump to content

Just idle curiosity - Source Code Issues?


Recommended Posts

Because of some problems I had with the game and Desura today I googled for a few solutions (and was able to solve all problems). While googling, I've stumbled upon the phrase "We don't have access to our engine's source code" multiple times in connection with Xenonauts.



What's the story behind that?

It seem really weird that the developers of a game are developing it without a source code.

What happened?

Link to comment
Share on other sites

The story is over at Reddit in the Xenonaut thread there.

Basically Chris England, the project manager, isn't a code monkey (I believe he's an accountant?). The first guy he hired (the guy that picked the engine) claimed to be a coder but proved to be utterly useless. By the time they booted him off the project they could still change the engine, but decided to stick with it as it seemed like they had already gotten so much done and would have to throw all that out the window and start over. They ended up replacing most if not all that code anyway :( .

The reason they can't access the engines sourcecode is because the studio that made it closed down or plain doesn't respond to any contact anymore or somesuch.

Link to comment
Share on other sites

It seem really weird that the developers of a game are developing it without a source code.

Some confusion between what's a game engine and a game, maybe? we do not have access to the engines's source code, but that doesn't mean that we don't have access to the game's source code!

From wikipedia: "A game engine is a system designed for the creation and development of video games. The leading game engines provide a software framework that developers use to create games for video game consoles and personal computers. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph. The process of game development is often economized, in large part, by reusing/adapting the same game engine to create different games, or to make it easier to "port" games to multiple platforms."

In few words, the game engine provides a general-purpose codebase that can be used to build different games. Some bigger companies can afford to build a custom game engine for every game they make, but that's a different topic.

As Gorlom says, our first coder chose a really out-dated game engine, and when he left we were bound to continue on this road, because starting over was too expensive speaking of time. This gives us many limitations on implementing certain features which involve low-level graphic work, from where you read that "We don't have access to our engine's source code" so many times.

Link to comment
Share on other sites

If you wanted to create a game on a budget you would use another company's game engine to do all the basic work and build your own game around it.

Just think about how many games that say they use the Unreal engine, Source engine, or Cryengine.

Sometimes those companies allow you to use the unaltered engine for free but charge for access to the source code if you want to make any alterations to those basic functions.

Other times (like in this situation I believe) the team behind the original engine is long gone but the person who still holds the rights to it cannot be contacted or doesn't bother to respond.

You could make your own alterations anyway but you face the risk of the rights holder taking you to court and taking all your hard work away from you.

It is better to soldier on and miss out on features that would have been nice to have rather than have the project closed down.

Link to comment
Share on other sites

A game engine is just a pre-written hunk of software that saves the programmer a lot of time by doing stuff the programmer would have to code from scratch otherwise. Like drawing objects at specified locations, drawing maps from a data file, detecting sprite collisions, etc, etc... sort of same way Excel gives you a system to calculate and design financial reports. For a small company it saves a TON of development time. The problems start when the engine can't do something you need to do or has a "bug". If you don't have the source code then you can't change the engine and that's where things get messy. You have to start doing code work arounds or actually writing graphics routines in addition to what engine does. Obviously, picking an engine that does as much as you think your design will require is critical at the start of the project. Once you got months of code written to use a specific engine and find it doesn't do something vital you're in deep s*&^ .

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...