Jump to content
XCOMUFO & Xenocide

Status On Other Alien Units?


Angry Lawyer

Recommended Posts

Hello there. I'm Angry Lawyer, and on a rainy day a few days ago, I stumbled upon UFO2000 - and was blown back by the sheer AWESOME of it. Noticing that some of my favourite units hadn't been implemented (floaters, mainly), I decided to download the Source code and give a shot at sticking them in-game.

So, before I start doing anything drastic, what's the status on the other alien units? Would it be a waste of time for me to give a shot at implementing them, due to someone else on the team almost finishing them? Or, would my random attempts at fixing the weirdness that is units with odd animation numbers be appreciated?

A little about myself - I've been programming my whole live in various languages, and learnt C++ two years ago. I love challenging myself with various bits of code, and pitch in a little to help just about any project that strikes me as interesting. I'm not seeking a position on the team, but I just want to see certain parts implemented a little sooner than others, and what better way than doing it myself?

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Gurluas2000' date='Nov 28 2005, 01:32 PM']..sorry i dont have the stats...but if you can...cant you add the calcinite too?
[right][post="140353"]<{POST_SNAPBACK}>[/post][/right][/quote]
I saw that coming :P
Link to comment
Share on other sites

2Angry Lawyer:

Check these forum threads, they contain some information about units support:
[url="http://www.xcomufo.com/forums/index.php?showtopic=5444"]http://www.xcomufo.com/forums/index.php?showtopic=5444[/url]
[url="http://www.xcomufo.com/forums/index.php?showtopic=8399"]http://www.xcomufo.com/forums/index.php?showtopic=8399[/url]

Also we have this record in our issue tracker:
[url="http://ufo2k.lxnt.info/mantis/view.php?id=387"]http://ufo2k.lxnt.info/mantis/view.php?id=387[/url]

Any help would be welcome as we hardly have a spare developer for this task at the moment.
Link to comment
Share on other sites

Okays, so you'd prefer them to be stored externally in LUA files, as opposed to the way that the Sectoid and Muton are hardcoded? I was thinking along the lines of finishing support for Snakemen, Floaters, and Ethereals more than anything - I assume if you want them external, then you'd want the Sectoids and Mutons also made external. Or do you want the extra default races hard-coded with the two existing ones?

As for the source code, Gurluas, I'm about a hundred times more proficient with C++ than I am with LUA, so I'd prefer to code them internally.

Also, bare in mind that I can't make any promises, and I can't make any huge time investments.

-Angry Lawyer
Link to comment
Share on other sites

Another programmer? coolness. Hard coded Xcom aliens would be a good idea i think since the muton and sectoid ar already in there. this would mean that ppl wont be able to tamper with the original aliens.
Link to comment
Share on other sites

[quote name='Sporb' date='Nov 28 2005, 04:28 PM']Another programmer? coolness. Hard coded Xcom aliens would be a good idea i think since the muton and sectoid ar already in there. this would mean that ppl wont be able to tamper with the original aliens.
[right][post="140410"]<{POST_SNAPBACK}>[/post][/right][/quote]

Problem is that if we hard code those, we are going to have trouble with a hardcoded / lua mix. New units dev should be open after compliation and in LUA. But I agree the X-com original units are hard coded in the game...So ???? (Serge, help here!).
The issue Serge referred is not about adding units it's about improving the way the game uses the LUA for units. But of course new units could be a side-effect of that :P. I can only say : ask Serge cause he will have the big word on this but if you prefer C there's a lot of stuff on mantis to pick from. :D

But that's good news to know we got a new programmer who considers helping! =b
Link to comment
Share on other sites

[quote name='nachtwolf' date='Nov 28 2005, 10:50 PM'][quote name='Sporb' date='Nov 28 2005, 04:28 PM']Another programmer? coolness. Hard coded Xcom aliens would be a good idea i think since the muton and sectoid ar already in there. this would mean that ppl wont be able to tamper with the original aliens.
[right][post="140410"]<{POST_SNAPBACK}>[/post][/right][/quote]

Problem is that if we hard code those, we are going to have trouble with a hardcoded / lua mix. New units dev should be open after compliation and in LUA. But I agree the X-com original units are hard coded in the game...So ???? (Serge, help here!).
The issue Serge referred is not about adding units it's about improving the way the game uses the LUA for units. But of course new units could be a side-effect of that :P. I can only say : ask Serge cause he will have the big word on this but if you prefer C there's a lot of stuff on mantis to pick from. :D

But that's good news to know we got a new programmer who considers helping! =b
[right][post="140427"]<{POST_SNAPBACK}>[/post][/right]
[/quote]

Okay, here's what I have in mind:

I hardcode the default aliens.

I then start working on the LUA system and port all of the creatures across.

The first option shouldn't take too long, but as the second is a complete overhaul of the current system, it might take ages. Still, once you have the hard-code down for a creature, I think it's pretty easy to turn it into a LUA script. Although, LUA scripts, unless you do some sort of parity check, would have the problem of people fiddling with the points costs and armour ratings.

I'll keep you guys updated on my progress. I'll also try my best to add comments to the code, once I work out what each part does. And I'll take a look at TFTD stuff after I've finished with the UFO stuff ;)

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Sporb' date='Nov 29 2005, 06:53 PM']wow, this guys dynamite!

Sounds like ur very enthusiastic :) thats excellent
[right][post="140523"]<{POST_SNAPBACK}>[/post][/right][/quote]

I have too much free time on my hands. Well, actually, I don't, but the projects that I'm devoted to - a couple of Half Life 2 mods - are reaching the mind-melting stage of coding.

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Angry Lawyer' date='Nov 29 2005, 11:10 AM']Another update:

All three units now appear in-game.  There are a few bugs still for me to iron out, but it's looking like they'll be completely finished by Thursday, possibly even before.

Sorry for so many posts in a row :P

-Angry Lawyer
[right][post="140517"]<{POST_SNAPBACK}>[/post][/right][/quote]
It looks as if it were a changelog, so it is quite welcome to do so. I can't wait to see the results Angry Lawyer! :)
Link to comment
Share on other sites

I'm reading all the forum threads but currently have no free time to add any comments. Explanations of why lua is preferred to c++ will follow later. Anyway adding more skins in c++ code is fine as long as they do not break anything else. Now waiting for patches ready for inclusion into the next beta :)
Link to comment
Share on other sites

LUA external scripts are inherantly better because of a number of reasons - it's just going to take me a month or so before I understand LUA and read the source code thoroughly enough to figure out some of the solutions to problems that external scripts have - such as people cheating the points costs down/armour values up, and a system to check what unit scripts the opponent has so there aren't any problems.

As for the skins, I've finished all but the snakeman, which, due to the odd way it handles the two sections of its body, tends to get a gap between its shoulders and tail. Should be finished by tomorrow, unless something comes up.

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Angry Lawyer' date='Nov 30 2005, 02:15 PM']LUA external scripts are inherantly better because of a number of reasons - it's just going to take me a month or so before I understand LUA and read the source code thoroughly enough to figure out some of the solutions to problems that external scripts have - such as people cheating the points costs down/armour values up, and a system to check what unit scripts the opponent has so there aren't any problems.

As for the skins, I've finished all but the snakeman, which, due to the odd way it handles the two sections of its body, tends to get a gap between its shoulders and tail.  Should be finished by tomorrow, unless something comes up.

-Angry Lawyer
[right][post="140655"]<{POST_SNAPBACK}>[/post][/right][/quote]


Awesome ! =b
Link to comment
Share on other sites

[quote name='Gurluas2000' date='Nov 30 2005, 07:28 PM']can you make the tftd calcinite too pleasE?
[right][post="140660"]<{POST_SNAPBACK}>[/post][/right][/quote]

Calcinites are only a couple of animation frames short of being a Muton. They'd be easy to implement.

However, not everyone has TFTD, and I need to figure out a way to make sure that you can only pick TFTD units when your opponent has it installed.

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Angry Lawyer' date='Nov 30 2005, 09:15 PM']LUA external scripts are inherantly better because of a number of reasons - it's just going to take me a month or so before I understand LUA and read the source code thoroughly enough to figure out some of the solutions to problems that external scripts have - such as people cheating the points costs down/armour values up, and a system to check what unit scripts the opponent has so there aren't any problems.[/quote]
Excellent =b And I also like that you are not trying to make 'some perfect system' at once. Only iterative develpment seems to work well in our case (open source project with a rather limited number of developers and their free time). Implementing something that works and replacing it with a better version later seems to be better than getting stuck in the designing stage :)

[quote]As for the skins, I've finished all but the snakeman, which, due to the odd way it handles the two sections of its body, tends to get a gap between its shoulders and tail.  Should be finished by tomorrow, unless something comes up.[/quote]
Fine. Do you know how to use SVN and make patches? Need any help or advice? Don't hesitate to ask in the case of any troubles. As for new unit skins, take special care about corpses (units dying or getting stunned), also test inventory pictures and units editor and game behaviour when x-com data files are not available.

And I have noticed that you are going to make terror units as well. But it would be a good idea to finish this initial iteration first. Anyway, that probably was an unnecessery comment, you seem to be knowing what you are doing quite well :)

[quote]However, not everyone has TFTD, and I need to figure out a way to make sure that you can only pick TFTD units when your opponent has it installed.[/quote]
That's where scriptable extensions system comes in action :) First the game can determine a set of units which are installed and can be used. When starting the game, it can compare local and remote sets of available units and use only those which are available for both players. Units types not available for remote player can be highlighted red and the game should refuse to select them for the mission. Just look at the current weapon sets implementation (TFTD weapon set is supported by the game). A lot of concepts tried in it can be reused in units support code.
Link to comment
Share on other sites

[quote name='Gurluas2000' date='Nov 30 2005, 08:40 PM']DOUBLE POST!!!!

hmm maybe ur r right...but i kinda waited for this...in...6 months...
[right][post="140670"]<{POST_SNAPBACK}>[/post][/right][/quote]

Tell you what - as a learning experience for me, I'll whip you up a LUA script for it after I've done my current tasks. However, I'm not sure if the current build will allow you to play with it online unless the opponent has it.

Serge, I'm sure I can figure out the Patch system, even though the actual setting up of the development environment took two days for me (I'm used to MSVC++ 2003, and just double-clicking a project file).

-Angry Lawyer
Link to comment
Share on other sites

As an aside - some of the PCKs lack crouch animations, so unless someone draws some crouch anims, or I'm given the go-ahead to code in a plug to stop them crouching, the crouch animations have no visible difference from the standing ones.

And can anyone link me to a good SPK editor? I'd love to give the new units a quick inventory-view picture.

-Angry Lawyer
Link to comment
Share on other sites

thats a question that ive always wanted answered - where did the crouch for the sectoid and muton come from - since i doubt the game had the crouch sprites , did somone make them?
Link to comment
Share on other sites

[quote name='Sporb' date='Nov 30 2005, 11:00 PM']thats a question that ive always wanted answered - where did the crouch for the sectoid and muton come from - since i doubt the game had the crouch sprites , did somone make them?
[right][post="140683"]<{POST_SNAPBACK}>[/post][/right][/quote]

By the looks of it, they were always there. None of the other aliens had them, but the mutons and sectoids have animations exactly matching that of the humans. Sadly, the AI never told them to crouch, I guess.

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Angry Lawyer' date='Nov 30 2005, 11:09 PM']As an aside - some of the PCKs lack crouch animations, so unless someone draws some crouch anims, or I'm given the go-ahead to code in a plug to stop them crouching, the crouch animations have no visible difference from the standing ones.[/quote]
Original x-com data files do not have frames for crouching aliens. Also UFO2000 initially did not support crouching for aliens and I considered it ok (just think about crouching as a special human ability similar to unique abilities of come aliens, ex. chrysalid ability to zombify :) ). But as Nail contributed some extra leg frames for sectoid and muton, making aliens crouch became possible.

[quote]And can anyone link me to a good SPK editor?  I'd love to give the new units a quick inventory-view picture.[/quote]
It is better to make inventory pictures in PNG format and forget about that old SPK stuff. I did not mean that inventory pictures for the new aliens are strictly required in the initial implementation, the game should just not crash because of their absence for example :)

Also here comes another issue: x-com graphics is proprietary and we should better avoid any use of it in the game at all cost. Currently sectoid and muton are clearly ripped pictures from the ufopaedia and they probably should be removed later. Extra legs graphics for mutons or other aliens is also a bit questionable too (but I might be overly paranoid :) ). The most safe way to live in the future is to treat all the x-com stuff as just a mod for ufo2000 and keep the core game engine clean from any proprietary content whenever possible.

About current units skins in lua files: that is currently a single unit type (code name 'chameleon'). Lua files just can describe different appearances for it, that was done to test animation description capabilities. A natural evolution of all this is to add real unit stats in lua files and make them not just appearances for a hardcoded fake 'chameleon' unit, but real units descriptions. So defining any extra appearance using lua files will not make the game incompatible with other clients and can probably make Gurluas2000 happy (but the remote client will see different skins for your units).

And one more notice about modding units: it is quite possible to implement custom inventory slots for extra units in the future (have some aliens without hands, or without backpack or using a completely different inventory grid layout). Resistances and vulnerabilities to different types of attacks is also an interesting thing that could be modded.

And one more benefit of having external descriptions of units - no need to recompile the executable to experiment with balance (stats, cost and other attributes tuning). If you track the history of ufo2000 project, we had lots of problems with weapons balance before. Everyone had his own opinion about what stats and cost each weapon should have with no way to experiment himself. So not having the c++ skills to recompile the game, most people had to convince developers to add these stats tweaks to the sources and build the next version (causing lots of complains from the other players who did not share the same opinion :) ).
Link to comment
Share on other sites

[quote name='Gurluas2000' date='Dec 1 2005, 07:57 PM']will the calcinite be included as a hardcoded??
because i think that at least 1 tftd unit should be hardcoded.

to make this easier...i can tell you that the aquanaut,the deep one,and the calcinite all uses same animation system

so it shouldt be too hard amking some hardcoded tftd skins.
[right][post="140752"]<{POST_SNAPBACK}>[/post][/right][/quote]
More people have UFO than TFTD. Hardcoding the Calcinite could have explosive results.

The Calcinite will get his glory, as soon as I figure out the best way of improving the LUA unit system.

-Angry Lawyer
Link to comment
Share on other sites

[quote name='Serge' date='Dec 1 2005, 05:37 AM']And one more benefit of having external descriptions of units - no need to recompile the executable to experiment with balance (stats, cost and other attributes tuning). If you track the history of ufo2000 project, we had lots of problems with weapons balance before. Everyone had his own opinion about what stats and cost each weapon should have with no way to experiment himself. So not having the c++ skills to recompile the game, most people had to convince developers to add these stats tweaks to the sources and build the next version (causing lots of complains from the  other players who did not share the same opinion :) ).
[right][post="140742"]<{POST_SNAPBACK}>[/post][/right][/quote]

Yup, and adding the Floaters/Ethereals/Snakemen will bring its own discussion. :bash:

I've made already some posts on mantis regarding possible implementation of different stats other than armor. But those will probably be implemented in a not visible future yet. Which leaves the question of armor for Floaters/Snakemen/Ethereals (which is the only practical difference for units on the game right now). If one uses the stats from the original game (like it was for Sectoids/Mutons) then Floaters would have 8 frontal armor, Snakemen 20 and Ethereals 35 (assuming alien rank of Soldier). The aliens would be cheap (more units) but they would drop like flies.
The alternative is to change their armor, like it was done on the beta for the Muton (upped from 20 to 75). But that will bring more discussions ahead...
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.

Guest
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.

Loading...
×
×
  • Create New...