-
Notifications
You must be signed in to change notification settings - Fork 5
/
params.json
6 lines (6 loc) · 13.6 KB
/
params.json
1
2
3
4
5
6
{
"name": "Gdxstudio",
"tagline": "An IDE for creating Games using libGDx and Java supported on all platforms Android, iOS, Desktop",
"body": "#Deprecated\r\nPlease use https://github.com/UnderwaterApps/overlap2d instead. This project could have done pretty well but I didn't get enough time for complete it. Plus since I joined the startup culture I don't get much time to work on open source projects anymore. But the **Idea** was\r\nreally good and you know you could create games in java and json just like that. I thought of crowdfunding this at kickstarter as it seemed pretty good when it was working on my system but then I found out kickstarter is for US citizens only so that was a bummer. Then the I joined Playlyfe. And from then on it was something on the lines like this,\r\n\r\n>\r\nI am a busy guy. When I first started this I was out of college searching for a job and had a lot of free time, which is way different from being in The Real World today.\r\nMy life consists of waking up -> getting stuck in a traffic -> working for 4 hours -> lunch for an hour -> working for 5 more hours -> getting stuck in traffic on the way home -> shower and sleep -> repeat 5 days a week. On weekends I have to run errands and research to stay competitive in an incredibly cut throat industry. I have very little time to spare.\r\nAn Excerpt taken from http://lazyfoo.net/contact.php\r\n\r\n## GdxStudio 0.7.1\r\nGdxStudio is used for creating awesome games using libGdx. \r\nIt has all the features of libgdx built-in so you can easily,start creating games with it. \r\nTools like Font Editor, Particle Editor, Texture Packer, SceneEditor, MapEditor, ActorEditor, ImagingTools are already built into it. \r\nIt also has a powerful Game Framework based on libGDX inbuilt which allows the game coder to concentrate on the logic of the game and not bother about setting up assets or configuration. \r\nAutomatic Asset Loading including Atlas, TextureRegions, BitmapFonts, Music, Sound. \r\nIt has the libGdx(v0.9.9) inside it so you don't need to download the libGdx at all, when exporting your game to jar for desktop it automatically loads these libraries into it. \r\n\r\n(Will update this project to latest libgdx since I might get some time to work on this again and fix those issues)\r\n\r\n>**Disclaimer** This is not an official libdgx project so don't ask them for bug fixes \r\n\r\n[See the Wiki for more details](https://github.com/pyros2097/GdxStudio/wiki) \r\n\r\nFeatures\r\n---------\r\n**1. Automatic Build System** \r\nUses an Batch Builder system based on eclipse, so on the fly building so you can instantly\r\nrun or debug your application. Using the famous Eclipse Java Compiler(ECJ). \r\n**2. Automatic File Saving** \r\nAll Files are automatically save when you switch tabs or change views. No more wasting time pressing\r\nCTRL+S or clicking the save button (inspired by Xcode). \r\n**3. Source Editor** \r\nAn eclipse like editor which supports code completion, batch compiling and compile errors as you type. \r\n**4. Scene Editor** \r\nCompletely design your game scenes with effects using the scene editor and access these components \r\nin the source editor and add your logic code. Your scenes are saved in scene.json file is automatically loaded. \r\n**5. Map Editor** \r\nAll your game maps can be designed using it. This supports 3 map layers and 3 object layers. \r\nYou can drag and drop your custom actors/objects onto the map. There is no fixed size for a map. \r\nEach tile can be anything you want it to be. \r\n**6. Actor Editor** \r\nYou can create custom actors/objects which consist of the basic widgets like images, sprites etc.\r\nAnd you can drag and drop these into your game scenes and maps. Makes it easier instead of doing it by code. \r\n**7. Export** \r\nAll the libgdx libraries and class files are directly exported to your package.\r\nYour game can be exported to jar for Desktop, apk for android and ipa for iOS \r\n**8. Platform Independent** \r\nWrite Once Deploy Everywhere. You only need to write you game logic for one platform, cross building\r\nfor different platforms and exporting is done automatically.(android and ios not done) \r\n**9. Dynamic Compilation** \r\nYou can edit your scenes and add logic to your game and at the same time see the outcome in the studio.\r\nYour source files are automatically compiled and loaded into the class loader and displayed in the studio.\r\nSo your don't need to follow the monotonous approach compile->build->run exe. This saves a lot of time. \r\n\r\nUsing\r\n------\r\n```java\r\n //This is our first Scene and it shows the libgdx logo until all the assets are loaded \r\n //then it automatically switches to the Menu scene\r\n public class Splash extends Scene {\r\n\t\t\r\n\t\tpublic Splash() {\r\n\t\t\tsplashDuration = 5f; // This will make my splash scene to wait 5 seconds after assets are all loaded\r\n\t\t\tfinal Texture bg1 = new Texture(\"splash/libgdx.png\");\r\n\t\t\tfinal Image imgbg1 = new Image(bg1);\r\n\t\t\timgbg1.setFillParent(true);\r\n\t\t\taddActor(imgbg1);\r\n\t } \r\n }\r\n \r\n //This is Scene gets called once the assets are loaded\r\n public class Menu extends Scene {\r\n \r\n\t\tpublic Menu() {\r\n\t\t\t//create some actors\r\n\t\t\t// if you used sink studio and create a scene like Menu.json then\r\n\t\t\t// it will automatically call load(\"Menu\") it will populate your scene after parsing the json file\r\n\t\t\t\r\n\t\t\t//you can access these objects like this\r\n\t\t\tTextButton btn = (TextButton) findActor(\"TextButton1\");\r\n\t\t\tImage img = (Image) findActor(\"Image5\");\r\n\t\t\t\r\n\t\t\t// these actors are loaded from the json file and are give names which allows\r\n\t\t\t// easy access to them\r\n\t\t}\r\n\t}\r\n```\t\t\t\t \t \t\t\t\t\t \t \t\t\t\t\t \t\r\nTodo\r\n-----\r\n1. MapEditor\r\n2. ActorEditor\r\n3. Automatic Updates\r\n4. Make a signals/slots method for connecting actors with events (maybe make an interpreter)\r\n\r\nCredits\r\n--------\r\nThanks to all these awesome frameworks \r\n[Libgdx](http://libgdx.badlogicgames.com) \r\n[WebLookAndFeel](http://weblookandfeel.com) \r\n[RSyntaxTextArea](http://fifesoft.com/rsyntaxtextarea) \r\n[WebLookAndFeelLite](https://github.com/pyros2097/WebLookAndFeelLite) \r\n[Scene3d](https://github.com/pyros2097/Scene3d) \r\n[Sink](https://github.com/pyros2097/Sink) \r\n[EclipseCompiler](http://download.eclipse.org/eclipse/downloads/) \r\n[ANTLR](http://www.antlr.org/) \r\n[ProGuard](http://proguard.sourceforge.net) \r\n\r\nScreenshots\r\n-----------\r\n<img src = \"https://github.com/pyros2097/GdxStudio/raw/master/shots/shot2.png\">\r\n<img src = \"https://github.com/pyros2097/GdxStudio/raw/master/shots/shot3.png\">\r\n<img src = \"https://github.com/pyros2097/GdxStudio/raw/master/shots/shot4.png\">\r\n<img src = \"https://github.com/pyros2097/GdxStudio/raw/master/shots/shot5.png\">\r\n<img src = \"https://github.com/pyros2097/GdxStudio/raw/master/shots/shot6.png\">\r\n\r\nDocumentation\r\n-------------\r\nScene\r\n-----\r\n```\r\n<p>\r\nIt consists of a single Stage2d, Stage3d, Camera2d, and Camera3d which are all initialized based on the config file.\r\nThe root of the stage can be accessed in a statically {@link Scene#getRoot()} and methods related to camera like moveTo, moveBy,\r\nare also accessed the same way.<br>\r\nIt has extra things like stateTime, gameUptime, pauseState<br>\r\n\r\nIt has automatic asset unloading and disposing and you can use {@link #exit()} to quit your game safely\r\n\r\nNote: Your TMX maps have to be unloaded manually as they can be huge resources needing to be freed early.\r\n\r\nIt has static methods which can be used for panning the camera using mouse, keyboard, drag.. etc.\r\nIt can also automatically follow a actor by using followActor(Actor actor)<br>\r\n\r\nThis class will register all your scenes based on your scene.json file and then you can switch you scenes by using {@link #setScene}\r\nmethod with the sceneClassName.<br>\r\nAll your assets are loaded in the background(asynchronously) in the first scene and then automatically \r\nthe next scene in the list is set.\r\nYou can stop the stage from switching to the next scene by setting Asset.loadAsynchronous = false in your first scene but then\r\nyou have to load all the assets by using the blocking call Asset.loadBlocking()\r\n\r\nIf you want to display your splash screen for more time after the assets have loaded then you can change\r\nStage.splashDuration to the amount of time you want you splash screen to show. By default the splash screen's\r\nlifetime is finished once the assets are loaded and then the next scene is set.\r\n</p>\r\n```\r\nCamera\r\n------\r\n```java\r\n/*\r\n * This is to set the offsets of camera position when following the actor\r\n * When the camera follows the actor its (x,y) position is set to actor's (x,y) position\r\n * based on followSpeed. The offsets are used to position the camera in such a way that the actor\r\n * doesn't need to be at the center of the camera always\r\n */\r\npublic static Rectangle followOffset;\r\npublic static boolean usePan;\r\npublic static boolean useDrag;\r\n\r\n/*\r\n * This sets the boundary of the camera till what position can it move or pan in the\r\n * directions left, right, top, down. This is to prevent is from panning overboard the game area.\r\n * Usually the bounds of the camera is like a rectangle. This must be calculated carefully\r\n * as the camera's position is based on its center.\r\n*/\r\npublic static Rectangle bounds;\r\n\r\n/*\r\n * Moves the camera to x,y over a time duration\r\n */\r\npublic void moveTo(float x, float y, float duration);\r\n\r\n/*\r\n * Moves the camera by amountX, amountY over a time duration\r\n */\r\npublic static void moveBy (float amountX, float amountY, float duration);\r\n\r\n/*\r\n * Moves the camera by amountX, amountY over a time duration and interpolation interp\r\n */\r\npublic static void moveBy (float amountX, float amountY, float dur, Interpolation interp);\r\n/*\r\n * This makes the camera follow the actor once and only once. Once the camera reaches its\r\n * target, it stops following the actor.\r\n */\r\npublic static void followActor(Actor actor);\r\n/*\r\n * This makes the camera follow the actor continuously, even after the camera reaches its\r\n * target, it keeps following the if the actor changes its position.\r\n */\r\npublic static void followActorContinuously(Actor actor);\r\n/*\r\n * Sets the speed at which the camera follows the actor. By default it moves 1px for a duration of 1f\r\n * so its speed is 1px/f. So reduce the duration to increase its speed.\r\n * ex: setPanSpeed(0.5) will change its speed to 2px/f\r\n * Here: f can/maybe also indicate seconds\r\n */\r\npublic static void setFollowSpeed(float duration);\r\n\r\n/*\r\n * Sets the speed at which the camera pans. By default it moves 1px for a duration a 1f\r\n * so its speed is 1px/f. So reduce the duration to increase its speed.\r\n * ex: setPanSpeed(0.5) will change its speed to 2px/f\r\n * Here: f can/maybe also indicate seconds \r\n */\r\npublic void setPanSpeed(float duration);\r\n\r\n/* If you want to make any elements/actors to move along with the camera \r\n * like HUD's add them using this method */\r\npublic static void addHud(Actor actor);\r\n\r\n/* If you want to any elements/actors which was a Hud the use this */\r\npublic static void removeHud(Actor actor);\r\n\r\n/*\r\n * Clears all hud's registerd with the camera\r\n */\r\npublic static void clearAllHud();\r\n\r\n/*\r\n * Returns the x postion of the camera\r\n */\r\npublic static float getX();\r\n/*\r\n * Returns the y postion of the camera\r\n */\r\npublic static float getY();\t\t\r\n```\r\nAsset\r\n-----\r\n<b>#Important </b> <br>\r\nAll asset files must be lowercase only.. otherwise it causes problems with android <br> \r\nAutomatic Asset Loading the directory Structure should be like this <br>\r\nThis class automatically loads all the assets in the prescribed folders into the appropriate \r\nclass types. All This can be accessed using an neat api.\r\n\r\nicon.png --- your game icon to be displayed on the window<br>\r\natlas/ --- all your Texture Atlas files .atlas and .png go here<br>\r\nfont/ --- all your BitmapFont files .fnt and .png go here<br>\r\nmusic/ --- all your Music files .mp3 go here<br>\r\nsound/ --- all your Music files .mp3 go here<br>\r\nparticle/ --- all your Particle files .part go here<br>\r\nmap/ --- all your TMX map files along with tilesets go here<br>\r\npack/ --- all your image files which are to be packed are to be stored here<br>\r\n \t\t\t\t\t so that they are automatically packed by the texture packer and stored in\r\n \t\t\t\t\t the atlas folder\r\n \t\t\t\t\t \r\nAll the assets are read from their particular folders and an asset.json file is created with\r\nthe filenames:\r\nex: asset.json \t\t\t\r\n\t{ \r\n\t \t\"font\": \"arial.fnt, font1\",\r\n \t\t\"atlas\": \"image.atlas\",\r\n \t\t\"sound\": \"click.mp3,gg.mp3\",\r\n \t\t\"music\": \"title.mp3,\"bg.mp3\",\r\n\t}\r\n```java\r\n//All assets are accessed this way, To load TextureRegion\r\nTextureRegion cat = Asset.tex(\"cat\");\r\n\r\n//To load Animation\r\nAnimation catAnim = Asset.anim(\"cat\");\r\nBitmapFont font1 = Asset.font(\"font1\");\r\n\r\n//The music and sound files are automatically cached and can be played by invoking:\r\nAsset.musicPlay(\"musicname\");\r\nAsset.soundPlay(\"soundname\");\r\n\r\n//The asset functions will return null for Font, TextureRegion and Animation if the asset cannot be found\r\n```\r\n\r\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/pyros2097/gdxstudio/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\r\n\r\n",
"note": "Don't delete this file! It's used internally to help with page regeneration."
}