Jump to content

Photo
- - - - -

Take On Java

java scripting tkoh

  • Please log in to reply
213 replies to this topic
dna
dna

    BI Developer

  • 1695 posts

#1

Posted 16 December 2011 - 08:49

Hi fellow scripters,

Initially we had hoped to release the major upgrade to our scripting technology with Patch 1.03, but we were not able to get it fully implemented in time. Therefore we're pushing the ability to use Java to the next patch :yay:


Java is available since beta patch rev. 89707 (documentation)


Why is this awesome™?
  • Using a widespread, proven and robust language with loads of documentation and tutorials.
  • Using IDEs such as NetBeans and Eclipse for development and debugging.
  • Using Object-Oriented programming architecture and design.
  • Using generally much higher performance script execution.
  • Using many standard Java libraries instead of reinventing the wheel.

Note: this will not replace SQF scripting, so the transition should be smooth.

Edited by DnA, 22 February 2012 - 15:21.
Added information about Java available in beta patch

Bohemia Interactive
Arma 3 - Project Lead
Watch us, tweet us, poke us

Take On Helicopters - Project Lead
Take On Noisecontrollers!

MadDogX
MadDogX

    Mindless F@nb0!

  • Moderator
  • 9050 posts

#2

Posted 16 December 2011 - 08:54

Holy fucknuggets! :yay:

So what exactly does this Java implementation support? Can it basically do anything Java can do, including multithreading, file operations, GUI stuff etc.? :cool:

Btw. now I feel really bad about this post. :D

EDIT: Also, how does this change the interaction with objects in the world? Can we now use an OO style to access methods and properties of units, triggers etc.? If not, how are the basic SQF scripting commands mapped to Java? (Considering the syntax differences, etc.)

Edited by MadDogX, 16 December 2011 - 08:59.


Gigabyte Z97-HD3 Motherboard | Intel Core i5 4690k @ 4.5GHz | NVidia GTX 970
16GB G-Skill Ripjaws 2133MHz RAM | Kingston HyperX SSD | be Quiet! 750W PSU

Maruk
Maruk

    BI, CEO

  • BI Developer
  • 1112 posts

#3

Posted 16 December 2011 - 09:12

Few random remarks:


  • the engine should be be able to run code written in any programming language that can compiled for Java Virtual Machine but we did not experiment with it so far ( quite few, Logo anyone ;) )
  • for now, bridge to all existing scripting commands is present
  • it is possible create new scripting commands to take full advantage of JVM (performance, nicer interface)
  • Arma 3 is going to build upon this technology, so if you can, Take On Java now and help us to shape it up

Marek Spanel - CEO www.bistudio.com

sickboy
sickboy

    Colonel

  • Members
  • 9947 posts

#4

Posted 16 December 2011 - 09:20

Ha, finally, the reveal!!

Cannot wait to get our hands on this one!

MadDogX
MadDogX

    Mindless F@nb0!

  • Moderator
  • 9050 posts

#5

Posted 16 December 2011 - 09:26

Ha, finally, the reveal!!

Cannot wait to get our hands on this one!

Indeed. I have so many questions about this, I could probably keep writing until my fingers bleed. :D

Time to get into Java!

Gigabyte Z97-HD3 Motherboard | Intel Core i5 4690k @ 4.5GHz | NVidia GTX 970
16GB G-Skill Ripjaws 2133MHz RAM | Kingston HyperX SSD | be Quiet! 750W PSU

Banshee
Banshee

    Sergeant

  • Members
  • 147 posts

#6

Posted 16 December 2011 - 09:43

That's a real christmas present!

Thank you so much!
Posted Image
Tactics | Teamwork | Training

Linux Arma Server Skype Chat

[EVO] Dan
[EVO] Dan

    Master Gunnery Sergeant

  • Members
  • 1269 posts

#7

Posted 16 December 2011 - 10:02

Guess its time I began to learn a new programming language then. At least I can use this with minecraft :)))
My custom missions:
TOH - COOP5 Operation Pegasus http://forums.bistud...eration-Pegasus
TOH - COOP Convoy attack (both Hinds and stock versions) http://forums.bistud...O-Convoy-Attack
A2CO Multi-mission Template http://forums.bistud...048#post2182048
Basic Vehicle respawn script (A3 Alpha) http://forums.bistud...272#post2389272

[EVO] Multigaming Clan is recuiting at ts3.evoclan.net

MadDogX
MadDogX

    Mindless F@nb0!

  • Moderator
  • 9050 posts

#8

Posted 16 December 2011 - 10:08

Dan;2073120']Guess its time I began to learn a new programming language then. At least I can use this with minecraft :)))

Perhaps we could write our own Minecraft clone as a minigame within the game. :D

Man, I'm really burning to know what capabilities this Java implementation will have. :)

Why did they have to announce it so early? It's coming in Patch 3 but Patch 2 isn't even out yet. Hopefully there be some kind of beta release so we can try it out ASAP. :D

Gigabyte Z97-HD3 Motherboard | Intel Core i5 4690k @ 4.5GHz | NVidia GTX 970
16GB G-Skill Ripjaws 2133MHz RAM | Kingston HyperX SSD | be Quiet! 750W PSU

jerryhopper
jerryhopper

    First Sergeant

  • Members
  • 941 posts

#9

Posted 16 December 2011 - 10:59

Dan;2073120']Guess its time I began to learn a new programming language then. At least I can use this with minecraft :)))


indeed, there is no better motivation for learning to code. :yay:
** DISCUSS THE LIMNOS INCIDENT AT OUR FORUMS! WWWHELPIVANMARTIN.ORG/FORUMS ***
Show your support to Ivan Martin! - embed this javascript snippet on your site!
Spoiler

download.armedassault.eu - The Unofficial BIS Download mirror.
Interview with Marek Spanel (nov2012) - http://www.helpivanm...h-marek-spanel/
SahraniRadio - Ammo for your mind!

metalcraze
metalcraze

    First Lieutenant

  • Members
  • 5157 posts

#10

Posted 16 December 2011 - 11:13

Wonder how many bugs this will bring.
ArmA2: "Doc, I'm wounded, I can barely aim and I'm bleeding badly, come on pull my body out of the harm's way and treat me before I die!"
ArmA3: "You are wounded! Click to instantly regenerate health whenever you feel like it!"

Guess two years post-release aren't enough to make ArmA3 at least half as dumbed down.

sickboy
sickboy

    Colonel

  • Members
  • 9947 posts

#11

Posted 16 December 2011 - 11:18

Wonder how many bugs this will bring.

Troll?

rye1
rye1

    Sergeant Major

  • Members
  • 1690 posts

#12

Posted 16 December 2011 - 11:21

Troll?


He's the official troll of the BIS forums. Check his other posts... :rolleyes:

dna
dna

    BI Developer

  • 1695 posts

#13

Posted 16 December 2011 - 11:22

Wonder how many bugs this will bring.


As many as you care to write in your Java code :yay: But now you'll be able to debug them properly in an IDE (breakpoints, much :P)
Bohemia Interactive
Arma 3 - Project Lead
Watch us, tweet us, poke us

Take On Helicopters - Project Lead
Take On Noisecontrollers!

Jedra
Jedra

    Warrant Officer

  • Members
  • 2048 posts

#14

Posted 16 December 2011 - 11:25

Oh my, Oh my! Hurrah I can write missions in Coldfusion!!

Everyone also learn how to comment please! In my real life job I have to try and work out what a one line Java statement does when some wise guy has squeezed a 10,000 line program into one unmaintainable line of Java shortcode! Or worse a whole program which is just one big regular expression!

How is this working with sqf/sqs?

How very exciting!
Jedra's Addons
Arma 2 : Enhanced Skills Slider
Take On Helicopters : Take On Taxi | Jedra's Time Trials | Weapon Indicators | No Radar

Celery
Celery

    First Lieutenant

  • Members
  • 5084 posts

#15

Posted 16 December 2011 - 11:34

Holy fucknuggets! :yay:

This pretty much sums it up. :w:

Dwarden
Dwarden

    BI Developer

  • 9646 posts
  • LocationBrno, Czech Republic

#16

Posted 16 December 2011 - 11:52

funny is that the Cup full of Java hint in other thread wasn't taken enough seriously :)

Edited by Dwarden, 16 December 2011 - 12:05.

RealTimeChat ~ARMA2 in Your browser (w/o Java), RealTimeChat ~ARMA3 in Your browser (w/o Java),
irc.GameSurge.net/ARMA2 (external IRC clients) irc.GameSurge.net/ARMA3 (external IRC clients)
ARMA 3 Feedback Tracker: http://feedback.arma...y_view_page.php
~100k fans @STEAM ARMA 2 + ARMA 2: OA + ARMA 3: + ~2k @XFIRE A2:OA
Follow my Twitter: http://twitter.com/FoltynD or my Facebook http://facebook.com/FoltynD


Jedra
Jedra

    Warrant Officer

  • Members
  • 2048 posts

#17

Posted 16 December 2011 - 12:00

funny is that the Cup full of Java hint in other thread wasn't taken enough seriously :)


Looking back at that thread - it is so bloody obvious now! I guess that nobody dared actually hope that you would implement something like this. This is a massive step forward.

It would be good to see some example scripts when it does arrive so we can get the hang of it within the ToH environment.

Edited by Dwarden, 16 December 2011 - 12:05.
fixing my own typo

Jedra's Addons
Arma 2 : Enhanced Skills Slider
Take On Helicopters : Take On Taxi | Jedra's Time Trials | Weapon Indicators | No Radar

NoRailgunner
NoRailgunner

    Second Lieutenant

  • Members
  • 4688 posts

#18

Posted 16 December 2011 - 12:13

IIRC Java was one of the most targeted software for security exploits even more than Flash. Just curious how you make sure that exploits/hacks/cheats/... don't break the gameplay of ToH/A3? Its nice to use a open game but this opens another can of worms too. ;)

CarlosTex
CarlosTex

    Master Sergeant

  • Members
  • 763 posts

#19

Posted 16 December 2011 - 12:24

I'm not even talented in sqf. Now i have to learn Java :)

Anyway this is great news. A few days ago i actually thought this was going to be lua.
Arma 3 and xAItment.

1 Sentence. 1 Erection. 1 Jizz.

Please vote for this:

http://dev-heaven.net/issues/13606

MadDogX
MadDogX

    Mindless F@nb0!

  • Moderator
  • 9050 posts

#20

Posted 16 December 2011 - 12:28

funny is that the Cup full of Java hint in other thread wasn't taken enough seriously :)

It was too obvious to be taken seriously, and to be honest I thought (and still think) Java is a very unlikely choice for an embedded scripting language. :)

IIRC Java was one of the most targeted software for security exploits even more than Flash. Just curious how you make sure that exploits/hacks/cheats/... don't break the gameplay of ToH/A3? Its nice to use a open game but this opens another can of worms too. ;)

With great power comes great responsibility. Hopefully the ability of the JVM to interact with resources outside of the game environment (especially the file system) will be very carefully controlled.

But this is a very good point. Just like malicious Java apps are used for "drive-by attacks" on anyone who stumbles upon the attackers website, similar attacks could be perpetrated by people hosting a specially crafted mission on an MP server. It's not a pleasent thought.

Gigabyte Z97-HD3 Motherboard | Intel Core i5 4690k @ 4.5GHz | NVidia GTX 970
16GB G-Skill Ripjaws 2133MHz RAM | Kingston HyperX SSD | be Quiet! 750W PSU



Also tagged with one or more of these keywords: java, scripting, tkoh