Jump to content

OpenXcom


michal

Recommended Posts

A new X-COM project went public!

 

Goal of this project is to recreate the original game from scratch, 100% faithful to original game (minus bugs of course :cool: ). But code base will allow anyone to make tweaks, changes etc. Author will try to make this game as as moddable as possible.

 

It is still in early development, but there are already screens to show:

 

post-1057-1273820475_thumb.png post-1057-1273820485_thumb.png

 

More screen shots, information and svn builds (for windows and linux) can be found on OpenXcom's official site!

Link to comment
Share on other sites

I have to say it...

 

"What, another one?!" :cool:

 

Good to see an open source one, though - that's uncommon. The SVN suggests it's been in development for at least three and a half months by a guy called "supsuper".

 

Couldn't find any installation instructions, so for what it's worth, you're supposed to copy the contents of your game folder into OpenXcom's "Data" folder. It wants a copy of the CE game, doesn't work with just the DOS files.

 

Thus far it's no where near "playable", but he's got the Geoscape drawing the globe - I always fancied that would be the hardest part, for some reason I've never been able to wrap my head around coding even a pseudo-3D engine. :(

Link to comment
Share on other sites

There is almost no commenting in the code, which is going to make it really hard for people to help out. I'd actually love to help with it, but I think my Summer time would be gone before I really understood what was being done.
Link to comment
Share on other sites

I have to say it...

 

"What, another one?!" :(

 

Good to see an open source one, though - that's uncommon. The SVN suggests it's been in development for at least three and a half months by a guy called "supsuper".

 

Couldn't find any installation instructions, so for what it's worth, you're supposed to copy the contents of your game folder into OpenXcom's "Data" folder. It wants a copy of the CE game, doesn't work with just the DOS files.

 

Thus far it's no where near "playable", but he's got the Geoscape drawing the globe - I always fancied that would be the hardest part, for some reason I've never been able to wrap my head around coding even a pseudo-3D engine. :(

The instructions should be in the Downloads page if you missed them. :cool:

 

Glad you got it working though. The globe is indeed one of the trickiest parts, and is still far from complete. It requires a lot of crazy trigonometrical knowledge, which is not my strong point.

 

 

The game should run fine with any X-Com version now (the main issue is the audio which changes between versions, so for now you just won't get music with the DOS version) though, and about the only playable thing in the game now is the timer with monthly funding. Enjoy the excitement of watching your funds grow without interaction!

Link to comment
Share on other sites

Sounds good. I'll check that out. I had no problems with the quality of the code (my code quality is pretty deplorable if you've looked at it), it's just nigh impossible to help with coding something if you have no idea what is being done. Before I made XCOMHACK open sourced, I had to go back and comment everything (and I haven't really done a great job) and it was a big hassle. However, it has helped even me know what I'm doing with my code because after a project gets so big and you're working on something else for so long, going back and looking at something you worked on two weeks ago can be troublesome if it's complex.

 

I hope I didn't come off as a jerk, as I wasn't intending to be a jerk. It's just difficult to look at someone else' code and make something out of it (at least for me) without any comments telling you what stuff does, or is supposed to do. It's entirely up to you how you want to run your development, I was honest when I said I'd love to help as this to me seems like the kind of project I'd like to see, just a remake that allows the user to play the original game, but without the hassles involved in getting the old executables to run on newer operating systems. I hope you do finish this as it is something I'm looking forward to using.

Link to comment
Share on other sites

Ironic that the inclination to comment dwindles as the need for comments rises.

 

This is probably because it feels weird writing comments that are longer then the actual coding. For example, you can stick several conditional statements in a single line, but good luck explaining them all in a single line...

 

(Half the time, I feel nothing short of illustrated diagrams would do the job. Sometimes, fully animated video...)

 

So often I don't bother, and just hope my function/variable names make enough sense to convey their purposes. :cool:

Link to comment
Share on other sites

I always make sure I use names that convey the purpose well. It's a lot of help. Thankfully, VS has the ability to turn your comments into tooltips (if you write them the way it can read them) which helps when you're about to use a method but don't know or don't remember what to expect from parameters or return values.

That being said, I forgot to comment the latest bit of code I wrote. :cool:

Link to comment
Share on other sites

Sounds good. I'll check that out. I had no problems with the quality of the code (my code quality is pretty deplorable if you've looked at it), it's just nigh impossible to help with coding something if you have no idea what is being done. Before I made XCOMHACK open sourced, I had to go back and comment everything (and I haven't really done a great job) and it was a big hassle. However, it has helped even me know what I'm doing with my code because after a project gets so big and you're working on something else for so long, going back and looking at something you worked on two weeks ago can be troublesome if it's complex.

 

I hope I didn't come off as a jerk, as I wasn't intending to be a jerk. It's just difficult to look at someone else' code and make something out of it (at least for me) without any comments telling you what stuff does, or is supposed to do. It's entirely up to you how you want to run your development, I was honest when I said I'd love to help as this to me seems like the kind of project I'd like to see, just a remake that allows the user to play the original game, but without the hassles involved in getting the old executables to run on newer operating systems. I hope you do finish this as it is something I'm looking forward to using.

No offense taken, it's just funny seeing such first reactions to another X-Com remake: "Looks great but damn that code is nasty, I'm not playing a game with such horrible variable names, I might get AIDS!". :( I guess deep inside we're all big programming nerds.

 

Plus documentation is a funny thing. You might have a few huge pieces of code with lots of algorithms that practically need a comment per line and maybe an attached video, but mostly it's stuff like this:

  /**
  * Returns the soldier's amount of stamina.
  * @return Stamina.
  */
 int Soldier::getStamina()
 {
  return _stamina;
 }

I hope that's clear enough. :cool:

Link to comment
Share on other sites

  • 4 months later...
Guest bramcor

The first properly versioned, properly planned, properly built milestone for OpenXcom has been reached with v0.1! It contains tons more bugfixes and features than before! Come have a look at https://openxcom.ninex.info

 

These are the features you'll find in this version:

 

Geoscape:

Fully-controllable globe

Globe details like country borders and names

Day/night effect

Initial base placement

Basic UFO spawning and detection

Craft interception with fuel consumption and basic dogfights

Craft repairing/refuelling/rearming

Funding overview

Monthly funding

Scroll-wheel support

 

Basescape:

Full base view with facilities

Building new bases with access lift placement

Base information

Base stores

Soldier stats (with randomly generated soldiers)

Craft info and equipping

Facility building/removal

Scroll-wheel support

Link to comment
Share on other sites

  • 1 month later...
Not too shabby, though note that discovered doors shouldn't be shaded any darker then light level 3 on-screen, regardless of how dark it's supposed to be; not entirely sure why, though it's possibly to make it look a little less weird when troopers pathfind through doors you yourself couldn't see.
Link to comment
Share on other sites

Not too shabby, though note that discovered doors shouldn't be shaded any darker then light level 3 on-screen, regardless of how dark it's supposed to be; not entirely sure why, though it's possibly to make it look a little less weird when troopers pathfind through doors you yourself couldn't see.

It's on my list. You will notice that if you enter a building (without windows) the complete east and south wall stays black (because your soldier can not really see the outside of it). But it would be very hard to find the door in a east or south wall, if it was all black :P

So an -in theory- not seen door, will show up in that case also, but only if one of the tiles on either side of it is discovered.

Link to comment
Share on other sites

Hmm... I'm not sure whether you're right on that one or not. Lighting in the original ignores walls (and, erm, ceilings/floors), so if your soldier is standing anywhere near a door it should be lit up enough to see it anyway.

 

It's true that the walls in your example would be black, because normally you have to see past walls to the east/south before you can see the walls themselves onscreen (terrain hidden by fog is always black), but that doesn't apply to doors (soldiers still have to see them, but they don't need to see PAST them before they'll be rendered). Without the exception, the door would be completely black regardless of lighting effects.

 

Still, there are plenty of artifacts in the coding from the pre-release versions of the game, so it's quite possible there's some relation there.

Link to comment
Share on other sites

Hmm... I'm not sure whether you're right on that one or not. Lighting in the original ignores walls (and, erm, ceilings/floors), so if your soldier is standing anywhere near a door it should be lit up enough to see it anyway.

Yeah. I implemented lighting as I thought it seemed logical using the Light Block-MCD[33] attribute of objects. But if the original totally ignores this value, I probably should make it a feature to switch on/off.

Link to comment
Share on other sites

Y'know, I'd clean forgotten about that value. It brings back the old question, how did anyone ever work out what it was supposed to do, when the game itself had no light-blocking functionality? There are a few other values in the documentation that look a bit iffy (take MCD[31]), but your implementation of light using that particular one as written looks pretty good to me.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...