Jump to content


Photo

Status On Other Alien Units?


  • Please log in to reply
39 replies to this topic

#1 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 28 November 2005 - 09:03 AM

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

#2 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 28 November 2005 - 09:32 AM

well you could use the lua codes...its easier than using source code...sorry i dont have the stats...but if you can...cant you add the calcinite too?

#3 Guest_Azrael_*

Guest_Azrael_*
  • Guests

Posted 28 November 2005 - 09:56 AM

..sorry i dont have the stats...but if you can...cant you add the calcinite too?

<{POST_SNAPBACK}>

I saw that coming :P

#4 Serge

Serge

    Project Leader: UFO 2000

  • Xenocide Programming Department
  • 785 posts

Posted 28 November 2005 - 11:46 AM

2Angry Lawyer:

Check these forum threads, they contain some information about units support:
http://www.xcomufo.c...?showtopic=5444
http://www.xcomufo.c...?showtopic=8399

Also we have this record in our issue tracker:
http://ufo2k.lxnt.in...view.php?id=387

Any help would be welcome as we hardly have a spare developer for this task at the moment.
ufo2000 development team
http://ufo2000.sourceforge.net

#5 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 28 November 2005 - 03:11 PM

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

#6 Sporb

Sporb

    UFO2000 Staff

  • Moderators
  • PipPipPipPip
  • 739 posts

Posted 28 November 2005 - 03: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.

#7 nachtwolf

nachtwolf

    UFO2000 Staff: Leader

  • Moderators
  • PipPipPipPip
  • 310 posts

Posted 28 November 2005 - 04:50 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.

<{POST_SNAPBACK}>


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
Posted Image

#8 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 29 November 2005 - 03:33 AM

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.

<{POST_SNAPBACK}>


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

<{POST_SNAPBACK}>


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

#9 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 29 November 2005 - 08:46 AM

Quick status report:

Snakemen are almost finished, just need to resolve an issue with a gap appearing between the torso and tail. Ethereals and Floaters shouldn't take long, as they both don't have seperate legs sprites and therefore won't have this problem appearing for me.

-Angry lawyer

#10 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 29 November 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

#11 Sporb

Sporb

    UFO2000 Staff

  • Moderators
  • PipPipPipPip
  • 739 posts

Posted 29 November 2005 - 12:53 PM

wow, this guys dynamite!

Sounds like ur very enthusiastic :) thats excellent

#12 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 29 November 2005 - 03:27 PM

wow, this guys dynamite!

Sounds like ur very enthusiastic :) thats excellent

<{POST_SNAPBACK}>


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

#13 Kratos

Kratos

    UFO2000 Staff

  • Moderators
  • PipPipPipPipPip
  • 4,113 posts

Posted 29 November 2005 - 05:02 PM

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

<{POST_SNAPBACK}>

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! :)
Posted Image

#14 Serge

Serge

    Project Leader: UFO 2000

  • Xenocide Programming Department
  • 785 posts

Posted 30 November 2005 - 12:11 PM

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 :)
ufo2000 development team
http://ufo2000.sourceforge.net

#15 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 30 November 2005 - 01: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

#16 nachtwolf

nachtwolf

    UFO2000 Staff: Leader

  • Moderators
  • PipPipPipPip
  • 310 posts

Posted 30 November 2005 - 01:26 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

<{POST_SNAPBACK}>



Awesome ! =b
Posted Image

#17 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 30 November 2005 - 01:28 PM

can you make the tftd calcinite too pleasE?

#18 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 30 November 2005 - 01:52 PM

can you make the tftd calcinite too pleasE?

<{POST_SNAPBACK}>


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

#19 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 30 November 2005 - 02:27 PM

well...try it... i wanna use a calcinite skin

#20 Serge

Serge

    Project Leader: UFO 2000

  • Xenocide Programming Department
  • 785 posts

Posted 30 November 2005 - 02:27 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.

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 :)

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.

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 :)

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.

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.
ufo2000 development team
http://ufo2000.sourceforge.net

#21 Serge

Serge

    Project Leader: UFO 2000

  • Xenocide Programming Department
  • 785 posts

Posted 30 November 2005 - 02:37 PM

well...try it... i wanna use a calcinite skin

Being annoying does not help to get things done faster unfortunately...
ufo2000 development team
http://ufo2000.sourceforge.net

#22 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 30 November 2005 - 02:40 PM

DOUBLE POST!!!!

hmm maybe ur r right...but i kinda waited for this...in...6 months...

#23 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 30 November 2005 - 02:44 PM

DOUBLE POST!!!!

hmm maybe ur r right...but i kinda waited for this...in...6 months...

<{POST_SNAPBACK}>


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

#24 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 30 November 2005 - 02:52 PM

thanks pal:)

cant wait to get a new beta ...with this stuff implented...

Edited by Gurluas2000, 30 November 2005 - 02:53 PM.


#25 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 30 November 2005 - 03: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.

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

#26 Sporb

Sporb

    UFO2000 Staff

  • Moderators
  • PipPipPipPip
  • 739 posts

Posted 30 November 2005 - 05: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?

#27 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 30 November 2005 - 05:16 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?

<{POST_SNAPBACK}>


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

#28 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 01 December 2005 - 07:55 AM

thats not the case...in xcom1 with the alien patch if you give a muton or sectoid the order to crouch its legs diappears.

#29 Serge

Serge

    Project Leader: UFO 2000

  • Xenocide Programming Department
  • 785 posts

Posted 01 December 2005 - 11:37 AM

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.

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.

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

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 :) ).
ufo2000 development team
http://ufo2000.sourceforge.net

#30 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 01 December 2005 - 01:50 PM

Okays, then consider it done. Tonight, I'll submit the hardcoded units (which lack crouch animations) once they're finished, and I'll start loooking at a way to use LUA scripts in a similar way to weapon scripts.

-Angry Lawyer

#31 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 01 December 2005 - 01: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.

#32 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 01 December 2005 - 02:24 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.

<{POST_SNAPBACK}>

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

#33 Hobbes

Hobbes

    UFO2000 Staff

  • Moderators
  • PipPipPipPip
  • 719 posts

Posted 01 December 2005 - 02:47 PM

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 :) ).

<{POST_SNAPBACK}>


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

#34 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 01 December 2005 - 03:08 PM

Just bundling the patch file together now - I've estimated some armour values for the units. Snakemen have similar armour to blue human armour, as do Ethereals, whilst Floaters have lightly worse armour.

OMG GRUDGE MATCH! FLOATERS VERSUS SNAKEMEN! D:

-Angry Lawyer

Attached Thumbnails

  • snapshot_1.png


#35 Kratos

Kratos

    UFO2000 Staff

  • Moderators
  • PipPipPipPipPip
  • 4,113 posts

Posted 01 December 2005 - 04:57 PM

Send a patch in the Mantis Bug tracker when you get time. :)
Posted Image

#36 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 01 December 2005 - 05:48 PM

If Serge approves it, and it works as well on your machines as it does on mine, then I'll add an entry.

-Angry Lawyer

#37 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 02 December 2005 - 07:13 AM

once the calcinite is done can it be included as a default skin??
if not then probably nobody will have the skin...

#38 Angry Lawyer

Angry Lawyer

    Sergeant

  • Forum Members
  • PipPipPip
  • 53 posts

Posted 02 December 2005 - 07:22 AM

Once the whole LUA system is done, and we work out an easy way to check for parity between versions for units, yes, they will become default, alongside the rest of TFTD.

-Angry Lawyer

#39 Jezulkim

Jezulkim

    Captain

  • Forum Members
  • PipPipPipPip
  • 194 posts

Posted 02 December 2005 - 07:52 AM

I can't wait for that. Ususally I'm very patient, but now.. well.. I really can't wait!
That's my team in my avatar!

#40 Gurluas2000

Gurluas2000

    Captain

  • Forum Members
  • PipPipPipPip
  • 151 posts

Posted 02 December 2005 - 08:15 AM

AWESOME MAN!!!,...yeah i cant wait neither...
i wanna use my calcinite:D