Astro Galaxy - a realistic space exploration game
  October 12, 2024, 08:28:05 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Members Login Register  
Pages: [1]
  Send this topic  |  Print  
Author Topic: Astro Galaxy Developer SDK  (Read 13310 times)
SirEmi
Administrator
First Sergeant
*

Reputation: +258/-134
Offline Offline

Posts: 2163



View Profile WWW
« on: June 29, 2015, 12:07:10 PM »

General information about the Astro Galaxy SDK

What is the AG SDK?

The Astro Galaxy Software Developer Kit is a platform that will allow you to contribute your code to the game.
The SDK installs the game engine core on your local computer and adds an example database schema. The AG SDK will install and run on your localhost under http://sdk.astro-galaxy.com
Installation instructions will be provided with the SDK.

What is the AG game engine?

The core game engine is a collection of encrypted files under the ET Virtual Worlds copyright. Under the Game Developer Apprenticeship, you receive the right and a license to install a developer version of Astro Galaxy on your local computer. The game uses PHP & MySQL, and guides will be provided on how to install the required dependencies.

How can I use the SDK to contribute to the game?

The game engine features a master file and configuration files. These will all be covered in the SDK Documentation / tutorial. Basically, you will be able to add your own files / modules to the game, then submit this information to the other AG Developers via our shared AG_SDK repository. So all the other developers will be able to see what you are adding and automatically update their own project files with your additions, making it so the team can work on several game improvements at once. If you make a mistake or want to undo your work, don't worry, you can just delete the action you defined in the master file and you're good, so don't be afraid to experiment.

But how would I make a new module and what resources can I use?

The game engine provides you with a list of functions that are already in the game, so you don't need to reinvent the wheel 1 These functions are ready to be used for adding new modules / functionality.
For example, if you are developing a new mission that requires the user to dock into a mothership, be it an alien ship, mission ship, etc. you would use the game engine function called "dockHangar()" that is provided to you via the game engine AG SDK Docs. These functions will help you develop things much faster. There are similar functions for dialogs, jumping, etc.

What is the AG SDK Docs?

This is a documentation resource available to all the AG Game Developers, kind of like http://php.net/docs.php
It lists all the functions / actions available in the game engine. If you are a good developer, you will also be able to contribute to the engine by adding your own functions / actions, that will be indexed automatically and shared with all the other developers. The documentation is automatically generated with a special software called APIGen, so a developer only needs to write the function, and APIGen does the rest, that is, it generates the documentation.

Here is what the SDK Docs looks like:



But how would I share my work with the other developers?

We use an online software solution called Beanstalk for this. It's used by 70,000 companies to run their teams. Beanstalk connects our shared AG_SDK repository to your Code Editor and to the DEV server. Your editor needs to be able to checkout and push data to repositories, thus we recommend PhpStorm for code editing. What you will do is checkout the AG SDK, add improvements and then push it to our team. Your code will also be instantly deployed on our DEV server, so you can test it there as well. Once you submit / push your work, the other team members will instantly be able to review your work, make suggestions, update their own SDK, run your code and test it, and so much more. Once setup properly, you will be able to checkout / push code at the press of a button.

At the moment, we have 5 open game developer slots on the SDK repository, with possibility to increase to 20 and more as we grow our team.
Beanstalk is not free for software teams, but ET Virtual Worlds will support the cost for running it and there will be no cost for you. If you're added to the coding / developer team and you become inactive (we don't get any contribution from you for a month), then you may be removed from the repository to make room for other developers. This does not mean you will be out of the Apprenticeship program, it just means we'll make room for active developers. If you decide you want to be active again, we can always add you back on the team.

If you wish to join and contribute with ideas / suggestions, story writing, dialog writing etc. we have unlimited openings available on our Trello task manager boards.

If you wish to apply please read this topic:
http://forum.astro-galaxy.com/index.php/topic,9173.0.html

All the best!
« Last Edit: June 29, 2015, 12:27:24 PM by SirEmi » Report to moderator   Logged

Madden
Sergeant
*

Reputation: +19/-29
Offline Offline

Posts: 231


Pro.


View Profile
« Reply #1 on: June 29, 2015, 04:22:03 PM »

I presume you haven't opened the website yet? My browser can't find the server.
Report to moderator   Logged

IGN: Lord Admiral Kurdock
SirEmi
Administrator
First Sergeant
*

Reputation: +258/-134
Offline Offline

Posts: 2163



View Profile WWW
« Reply #2 on: June 29, 2015, 05:42:49 PM »

I presume you haven't opened the website yet? My browser can't find the server.

You are correct. The Dev server will be deployed in due time and will be available at http://dev.astro-galaxy.com/

Report to moderator   Logged

SirEmi
Administrator
First Sergeant
*

Reputation: +258/-134
Offline Offline

Posts: 2163



View Profile WWW
« Reply #3 on: July 09, 2015, 04:05:05 PM »

DEV server is online, we have the documentation ready as well over here http://dev.astro-galaxy.com/doc

Everything is setup and ready to go. Now to start the happy coding  1

Will add more tutorials and stuff as we increase our team members. Remember, this is a free program and all applications are welcome, but mostly coders are needed.
If you're a rookie, you'll learn a lot with the SDK, it will teach you best practices etc.

« Last Edit: July 09, 2015, 04:08:24 PM by SirEmi » Report to moderator   Logged

Madden
Sergeant
*

Reputation: +19/-29
Offline Offline

Posts: 231


Pro.


View Profile
« Reply #4 on: July 09, 2015, 04:41:05 PM »

Thanks!!  1
Report to moderator   Logged

IGN: Lord Admiral Kurdock
raphael
Master Sergeant
*

Reputation: +79/-179
Offline Offline

Posts: 898


Victory is certain.


View Profile
« Reply #5 on: July 10, 2015, 06:59:32 PM »

Work on the chat. You can even just embed it. Should be easy.  1
Report to moderator   Logged
Odlid
Lance Corporal
*

Reputation: +19/-0
Offline Offline

Posts: 57



View Profile
« Reply #6 on: May 08, 2018, 05:26:24 PM »

I know a lot of languages but PHP isn't one of them.  However I'd learn PHP if you let me update the following:

Manufacturing

1. Allow the user to select a module to build, the build level, and the build quantity.  Manufacturing will begin for that many modules of the requested module level providing all of the following are true:
  • You have researched the requested module build level.  If not raise the current error: "You do not have this mark! Increase your tech level first!"
  • You have at least as many open manufacturing slots on the ship as module build quantity requested.  If not raise this error: "Build quantity nn requested exceeds open manufacturing slots.  Maximum build quantity is xx"
  • You have enough solars to purchase all the additional materials, taking into account any materials in the cargo, needed to build the requested quantity of the requested mark level.  If not raise this error: "Not enough solars.  Total build cost is $xxx,xxx,xxx,xxx,xxx,xxx; you only have $xxx,xxx,xxx,xxx,xxx,xxx solars available".  The error message takes into account any materials used in manufacture in cargo
  • The ship is docked at Earth or all the necessary materials for the manufacture reside in cargo.  If not raise this error: "Without all the necessary materials in your cargo, manufacturing of multiple modules at a time can only occur in Earth orbit"
  • You have enough open cargo space to load all the build materials required for at least one (1) of the requested module mark level.  If not raise this error: "Not enough free cargo space to build one {module name} ({module abbreviation}) mark {module mark} module.  You have nnn,nnn,nnn free space, you need at least nnn,nnn,nnn free space to execute this build request"

Upon successful validation a challenge pop-up screen will state "You have requested to build quantity nn of {module name} ({module abbreviation}) mark {module mark level} for a total cost of $nnn,nnn,nnn,nnn.  This will use nn of nn total open manufacturing slots on this ship.  Proceed with build?  {yes, no}"  When the user accepts the challenge the manufacturing for all modules will begin, and the total build cost will be deducted from the users account taking into account any materials on hand in cargo, and any materials used in the construction in cargo will be decremented appropriately from the ships cargo.

2. Allow the user to select a module mark upgrade level, the original module mark level, and the quantity of modules to upgrade.  Will allow the quantity to upgrade to exceed the quantity available in cargo - that is will allow entering '99999' or other high value quantity and will default to the current quantity of that module at that mark level in cargo storage.  Will successfully start a module mark upgrade manufacturing process for the selected quantity of modules providing all of the following are true.
  • You have researched the requested module build level.  If not raise the current error: "You do not have this mark! Increase your tech level first!"
  • You have at least as many open manufacturing slots on the ship as the lower of {quantity of the requested module/original mark level in cargo, quantity requested}.  If not raise this error: "Build quantity nn requested exceeds open manufacturing slots.  Maximum build quantity is xx"
  • You have at least one (1) module of the requested module/original mark level in cargo.  If not raise this error: "There are no {module name} ({module abbreviation}) mark {original module mark} in your cargo - cannot perform mark upgrade"
  • You have enough solars to purchase all the materials needed to build the requested quantity of the requested mark level upgrades, taking into account any materials in cargo.  If not raise this error: "Not enough solars.  Total mark upgrade cost is $xxx,xxx,xxx,xxx; you only have $xxx,xxx,xxx,xx solars available"  The error message takes into account materials in cargo.
  • The ship is docked at Earth or all of the materials needed for all mark upgrades exists in cargo.  If not raise this error: "Without all the necessary materials in your cargo, manufacturing of multiple modules at a time can only occur in Earth orbit"
  • You have enough open cargo space to load all the build materials required to perform at least one (1) of the requested module mark level upgrades.  If not raise this error: "Not enough free cargo space to upgrade one {module name} ({module abbreviation}) from mark {original module mark} to mark {target module mark}.  You have nnn,nnn,nnn free space, you need at least nnn,nnn,nnn free space to execute this mark upgrade build request"

Upon successful validation a challenge pop-up screen will state "You have requested to mark upgrade quantity nn of {module name} ({module abbreviation}) from mark {original module mark level} to mark {target mark level} for a total cost of $nnn,nnn,nnn,nnn.  This will use nn of mm total open manufacturing slots on this ship.  Proceed with build?  {yes, no}"  When the user accepts the challenge the mark upgrade for all modules will begin, and the total build cost will be deducted from the users account taking into account any materials on hand in cargo, any materials used in the construction in cargo will be decremented appropriately from the ships cargo, and nn {module name} mark {original module mark} will be deducted from that ships' cargo.

Science
1. Allow the number of RP to spend on tech level upgrades to be entered.  A number larger than the current account RP total will be allowed to be entered.  The maximum number of levels that can be raised for the lesser of {current account RP total, RP amount entered} will be computed.  If the number of levels is greater than 0 then the tech level for the selected module type will be increased by that number of levels and the RP cost of the mark level upgrade will be deducted from the account RP balance.  When the account RP amount does not allow for even one mark level upgrade the following error will be raised: "Not enough RP to upgrade current {module name} ({module abbreviation) mark {current mark level}.  You have nnn,nnn,nnn,nnn,nnn,nnn RP, next level costs mmm,mmm,mmm,mmm,mmm,mmm RP - you need nnn,nnn,nnn,nnn,nnn more".  When the amount of RP entered is insufficient to increase the mark level by one level then the following error will be raised: "Not enough RP to upgrade current {module name} ({module abbreviation) mark {current mark level}.  You entered nnn,nnn,nnn,nnn,nnn,nnn RP, next level costs mmm,mmm,mmm,mmm,mmm,mmm RP"

2. Allow the number of the target tech level to be entered.  If enough RP exists to upgrade the tech level to the requested level then the tech level will be upgraded to the requested level and the RP necessary for the level upgrade will be deducted from the RP total for the account.  If not enough RP exists to upgrade to the tech level the the following error will be raised: "Not enough RP - Cannot upgrade to {module name} ({module abbreviation}) mark nnnnn.  You only have enough RP to upgrade to {module abbreviation} mark mmmm"
« Last Edit: May 09, 2018, 04:34:55 AM by Odlid » Report to moderator   Logged
raphael
Master Sergeant
*

Reputation: +79/-179
Offline Offline

Posts: 898


Victory is certain.


View Profile
« Reply #7 on: May 09, 2018, 07:06:12 AM »

If you know a lot languages, then PHP will be a easy for you. I know several too, but I don't have the time nor interest to become an apprentice. lol

I hope SirEmi lets you become an apprentice. AG has so much potential.  1
Report to moderator   Logged
Pages: [1]
  Send this topic  |  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!