[WIP] Spartan Dev Project

Spartan Dev Project


Objectives:

  1. Replace the old mod systems of GDT which are either out of date or unusable (UltimateLib, ect.)
  2. Expand upon the old systems to further simplify modifying GDT while giving absolute control to the dev over much of the game
  3. Give the developer an interface for both Object Oriented and Function Oriented use
  4. Provide documentation for under-explained systems in GDT and SDP

What the SDP is not:

  1. A mod which noticeably modifies behavior of the game directly by itself.
  2. A mod which adds any objects to the game by itself.

Description:
The Spartan Dev Project is a Game Dev Tycoon Mod API to be designed with both Object Oriented and Functional Oriented scripting in mind. The source is implemented in Coffeescript and it will allow the use of the classes implemented through Coffeescript. This API plans to become a fully documented work which both documents self-use and GDT modding, without needing to look at the source.

This project also plans to make conversion over from UltimateLib simpler. The UltimateLib functions will simply be wrapped in a way that any UltimateLib object with first be converted to an appropriate SDP object then the proper function will be called to handle everything else. However, because this project is not the UltimateLib, modifications of the game provided by it do not exist, so mods which take advantage of that may still break.

An issue commonly seen among many open-source GDT projects these days is obfuscation, while understandably this makes the file smaller and may speed up the game under duress, this project will not provide as of yet, and may never be obfuscated as to keep readability a top priority.

Github

WIP, use at your own risk

Plans

For all current plans please go to the github issues

Offical Discord Server

Tell me what you think? And if you have any suggestions, it be nice to hear them.

License

The SDP license follows the GDT Modding Agreement and the Apache License.

Credits:

4 Likes

This has all got me a little confused is this an API or a mod?

2 Likes

It plans to be an API, sorry let me fix the OP (and I suppose I’ll make a mod alongside it with those mod features, but I’m not sure)

Thanks for making sure I clarify

Looks promising :slight_smile:

I may take advantage of it in my mod if all goes well.

Well looks pretty sweet man. You should add more advanced features in your API like GUI and more features that are more advanced.

this is the best sentence I’ve heard in a long time

so this is going to be an API like UltimateLib was?

Yes this is going to be an API like the UltimateLib was.

The plan is to add many advanced features, a good few notably found originally in the UltimateLib. An example of such features is the ability for publishing contracts to be weighted based on every request from them, like one company much prefers Music topics or Young audiences or so. Or the fact that staff training can be added to the training list.

Another thing I’d like to make sure of is that just by looking at the source, you can understand what everything is doing and how to create certain things, and with the object oriented options, it even gives a guideline to how to build objects to maximize the feature use, and Coffeescript is just a plus overall.

As for the question of GUI Snowy asked, I may try to implement it after I implement everything else, but I’m not as good with UI handling as I am of other things so I might need help with that when I get to it, but it shouldn’t be too horrible for me. (If/When I get to that, its also going to come with object oriented options.

2 Likes

I have maked a news logos for you :wink:

1 Like

That is really awesome, so you wouldn’t mind me using that as the logo then? Cause I just love how that looks. (I really want to make sure, as I feel its polite)

Yes, can use them

1 Like

Awesome, thanks, I really appreciate that.

You’re welcome :slight_smile:

This looks promising to say the least, hope you don’t disappear into the abyss, like most of them.

Also, the things mentioned in original post is already implemented?

Yes :wink:

I had to rework some of them, and I’m finishing a short break from this. I shall however have all those features done for version 0.1.0 and they will work properly, you should see them with in a week or so. After that, I plan to replace the features that UltimateLib had, but with even more, for example Publishers and Reviewers will be entirely controllable. I eventually plan to start documenting some of the internal GDT code itself, to make modding especially with this API easier, I’ll probably even add more hooks for the GDT.on function.

All this and more is to be in the coming weeks

1 Like

I’m really looking forward to the release of the first version!

Seems I dropped off the planet for a bit, I’m getting back into the developing mood though, so I’ll be getting an alpha version of this up soon (hopefully), I fixed up the things that were delaying me from returning and I should be more available for this now.

I support this, the current modding programs are very limited and most mods released now are all the same. This would be a great addition! Keep it up!

Thanks.

I have basically proven that all my plans are able to mod the game without a problem, now I just need to refine the crude methods, document everything, and make it nice, Coffeescript helps a lot, first up on my list however, since I just finished pretty much all the utilities is to start working on the functions, then to work on the classes, and then to add more advanced hooking to the system.

Unofficially, this API now contains the basis for everything in the GDT mod API with more advanced options, and contains some contents found in the UltimateLib, however, these current designs are rudimentary and may change, but the basic implemented items usable currently include (the OOP standard is however incomplete for the second):

  • Topics
  • Research
  • Platforms
  • Research Projects (the HW and RnD Lab research)
  • Staff Training
  • Contracts

Those item interfaces are unlikely to change, but may expand further. That has been new on the current version. (I have not tested the current interface, but experience with my previous designs have shown the current interfaces should work)