Where to learn to mod GDT?

I want to learn to mod GDT from JavaScript code. Probably using UltimateLib. I have a JavaScript book but I haven’t finished it yet. I will soon though. But once I understand regular JavaScript, where should I go to learn the UltimateLib JavaScript? I don’t want to use UME. Thanks for reading and any help will be appreciated!

If you want to make it with UltimateLib, this is the place to go:

http://gdt-ultimatesuite.abesco.de/docs/ :smile:

Thank you @DzjengisKhan. I have seen the expansion pack you made and you are good! Great job and keep it up. But I will check this out. Again, thank you!

1 Like

Or you can use codecademy.com

He asked where he could learn the UltimateLib code :expressionless:

3 Likes

Ahhh. Scratch that thing… I said… Ehem.

1 Like

But he said probably.

I am deciding to mod with the GDT API instead of UltimateLib. It seems just as easy but I think the gdt API comes preinstalled with the Steam edition of Game Dev Tycoon so to use it, I wouldn’t need UltimateLib.

1 Like

You did the right choice. API mods are the best, and can be pushed beyond the limits. PM me if you need some help, but @DzjengisKhan knows more. wayy more. Just he’s really busy.

1 Like

Okay. But I already asked @DzjengisKhan for a little help but that was when I was using UltimateLib. Now I am switching over. But if I need help, I will let you know. Thanks bro.

Best way to learn is look other moders code !ATTENTION! DO NOT COPY, read and learn how they made it. Now I started in codeacademy :stuck_out_tongue: to learn bit more about jquery and css, but firstly that is the way I started modding.

Also, studying the game code of game dev tycoon is really usefull :smiley:

1 Like

@Mabb
I have been doing this recently and it is helping me out. Thank you!

@DzjengisKhan
I have a studied a little bit of the Game Dev Tycoon game code and it is helping a bit also, but I still have a long ways to go.

Thanks both of you for helping out. I am starting to create my first simple mod. All it is going to do is add some topics, some new engine research, and some platforms as long as I like the art for the platforms enough. But it it is a start! :smiley:

Another good idea is to try using the UltimateModEditor and…not go crazy with it right away. :smile:

Try creating one new topic and platform. Then go through the tabs in the main interface and see how it injected the code into each file. You’ll begin to get an understanding of how things link together and how to build programming nouns (known as variables), and verbs (known as functions or methods) come together to create syntax for the language.

I’ve taught a few people various languages and one of the most important lessons I teach (in modern languages at least; don’t get me started on some of the older crap) is that as you learn to program, you should be able to open up (well written) code and read it aloud as a proper sentence in English. Being able to explain the code aloud in this way helps to you to better understand its structure and reviewing in this way will make you a better programmer!

When you are reviewing something like UME’s autocode, it’s a great way for you to figure out what you do and do not know. As a for instance:

"I am going to create a new platform in Game Dev Tycoon (GDT.addPlatform(). It will have an id of “66169ea2-dc11-4c44-8c4a-f4b40c5127f9” (which is just the game’s way of dealing with this object), a name of “ChikkaChiChiPC”, by a company called “ChikkaChiChi”.

It will have a startAmount (hey what’s that do? Looks like on https://github.com/greenheartgames/gdt-modAPI/wiki/GDT.addPlatform that means how many consoles are available to sell at the start date) of 0, it has sold 0, and a LicensePrize of 0 (which really means how much does it cost to buy a programming license, so ignore the name because it’s sort of wrong!).

It has a publish date of 1/1/1, retires on 1/1/1, and the base cost to begin developing a game on this platform is 0 extra credits…

Hopefully this helps you understand a bit more that learning to understand the basics can be easy and fun if you approach it the right way!

I have been doing this and it has helped me a lot. I used UME before, I just never made the mods a public release. I am creating topics and research using the gdt-API now. Thanks for trying to help though. I do wonder one thing though, do you know how I can use real HTML to edit the game. I would like to make something where on the “Game History” page, it displayed which custom game engine was used for a game. If this is possible, do you have any ideas on how I could make/implement it into the game through a mod?

I believe a mod already does this

@KizzaGaming
Do you know which mod does this?

Camelot. Boom. @KizzaGaming just got ninja’d

1 Like

Okay @FireChaos. Thank you. And I was wondering, do you know any reason on why I can’t load more than one JavaScript file using this:

GDT.loadJs(['mods/ExampleMod/exampleScript.js', 'mods/ExampleMod/exampleScript2.js'], ready, error);
Now, the files I am using do not have the same names as those but, here is the problem. If I take away the second file(‘exampleScript2.js’) and keep the first line (‘mods/ExampleMod/exampleScript.js’, ready, error);, then it loads perfectly fine and everything that is in ‘exampleScript.js’ loads into the game. But when I add the second file, then there is a black screen of the game and I have to exit the game. The same things happens if I click “New Game.” My mod can be inside of one big file but it would organize it better if I could load it through multiple files. I saw that some “Advanced Modders” use this method and it cleans things up. I tried it and got a black screen. Any ideas on what would cause this? If I need to clarify anything, please let me know.

Cheer! :smiley::

1 Like

Haha, here’s mine

var exGDT_FireChaos = {};
(function () {    
    exGDT_FireChaos.modPath = GDT.getRelativePath();

    var ready = function () {
    };

    var error = function () {
    };

GDT.loadJs(['modLoader/researches.js',
            'modLoader/topics.js',
            'modLoader/platforms.js',
            'modLoader/functions/pixelwareAdvertise.js',
            'modLoader/functions/marketingOptions.js',
            'modLoader/pixelware/pixelwareEndroid.js',
            'modLoader/pixelware/pixelwarePlaysystemOne.js',
            'modLoader/pixelware/pixelwarePlaysystemTwo.js',
            'modLoader/pixelware/pixelwarePlaysystemFive.js',
            'modLoader/pixelware/pixelwareGPP.js',
            'modLoader/pixelware/pixelwareFounded.js',
            'modLoader/pixelware/pixelwareGameGear.js',
            'modLoader/pixelware/pixelwareGSiOutOfMarket.js',
            'modLoader/pixelware/pixelwareAnnounceFunction.js',
            'modLoader/pixelware/pixelwareHype.js',
            'modLoader/pixelware/pixelwareGenericComputer.js',
            'modLoader/pixelware/pixelwareGS.js',
            'modLoader/pixelware/pixelwareMboxNext.js',
            'modLoader/pixelware/pixelwareNoMoreConsoles.js',
            'modLoader/pixelware/pixelwareMbox.js',
            'modLoader/pixelware/pixelwareDreamVast.js',
            'modLoader/pixelware/pixelwareUpdate.js',
            'modLoader/pixelware/pixelwareGRphoneUpdate.js',
            'modLoader/pixelware/pixelwarePopularGames.js',
            'modLoader/pixelware/pixelwareWeTube.js',
            'modLoader/wetube/wetubeFounded.js',
            'modLoader/wetube/wetubeGargle.js',
            'modLoader/wetube/wetubeHype.js',
            'modLoader/generic/genericKeyboard.js',
            'modLoader/generic/genericFate.js',
            'modLoader/generic/genericScreen.js'
            ], ready, error);

})();