====== [hemmerling] CORE ( COREGAMES ) 2/3 - CORE Application Development ====== Related pages: *[[coregames.html|CORE ( COREGAMES ) 1/3]]. *[[coregames03.html|CORE ( COREGAMES ) 3/3 - CORE Apps]]. *[[gamedevelopment.html|Game Development]]. *[[gameengine.html|Game Engines]]. *[[games.html|Games]]. *[[lua.html|Lua & eLua 1/3]]. *[[lua02.html|Lua & eLua 2/3]]. *[[lua03.html|Lua & eLua 3/3]]. *[[luaapplications.html|Lua Applications and Applications with Lua as Scripting Language]]. *[[luagames.html|Game Engines and Games with Lua as Scripting Language]]. *[[mud.html|Multi User Dungeon ( MUD )]]. *[[prototype02.html|Rapid Software Application and GUI Prototyping 2/3 - Building Blocks]]. *[[sandbox.html|Sandbox Design, Sandbox Applications, Applications with Sandboxes & Sandbox Games]]. *[[sdevtools.html|Software Development Tools]] => "VisualStudioCode". *[[virtualworld.html|The Virtual World]]. *[[vrml.html|Virtual Reality & Graphics]]. ===== Help & Documentation ===== ==== Overview ==== *[[http://docs.coregames.com/getting_started/core_help/|Core Documentation "Getting Help in Core"]]. ==== Help Center / Support ==== *[[http://support.coregames.com/|Core Games Help Center / Core Games "Support"]]. *[[http://support.coregames.com/hc/en-us/articles/360056416193-New-User-Guide-English|Core Games Help Center "New User Guide: English"]]. *[[http://support.coregames.com/hc/en-us/articles/360056416073-Handbuch-f%C3%BCr-neue-Benutzer-Deutsch|Core Games Help Center "Handbuch für neue Benutzer: Deutsch"]]. *[[http://support.coregames.com/hc/en-us/categories/360003294733-Creating-in-Core|Core Games Help Center "Creating in Core"]]. *[[http://support.coregames.com/hc/en-us/articles/360044969193-Using-Templates|Core Games Help Center "Using Templates"]]. *[[http://support.coregames.com/hc/en-us/articles/360044968673-System-Requirements|Core Games Help Center "System Requirements"]], 2022-08 ( still valid in 2023-03 ). *Requirements: *CPU: Intel Core i5-7400 or AMD equivalent => i7-3630QM is ok :-). *RAM: 8 GB. *GPU: NVIDIA GeForce GTX 1050 Ti or AMD equivalent => NVIDISA GeForce 740M is ok :-). Error message with Intel 4000 graphics card "A D3D11-compatible CPU (Feature Level 11.0, Shader Model 5.0) is required to run the engine". *OS: Windows 10 64-bit. *Attention: "In addition to its eight CPU cores, Ryzen 7 5700U features a Radeon RX Vega series graphics adapter with 8 CUs (= 512 shaders)", but Core offically supports just "RX Vega 20, 56, 64, 64 Liquid" = 20, 56, 64 CUs! ==== Documentation ==== *[[http://docs.google.com/presentation/d/1NVGadHCqEm49LgzJCsUnCmipEggjGwBdPgrvxQgE4to/edit#slide=id.g61c1977f1e_0_0|GoogleDocs "Welcome to Core - Creator Guide"]]. *[[http://docs.coregames.com/|Core Games "Documentation"]]. *[[http://docs.coregames.com/getting_started/my_first_multiplayer_game/|Core Documentation - Tutorial "Build Your First Game In Core" / "My First Multiplayer Game"]]. *[[http://docs.coregames.com/tutorials/first_game_rpg/|Core Documentation - Tutorial "Build Your First Game - RPG!" / "Create an RPG in Core"]]. *Within the CORE IDE: There is no folder "Map / Lobby / Gameplay Objects / Corehaven Portal" which should not be deleted for the final game :-(. *[[http://docs.coregames.com/editor_keybindings|Core Documentation "Core Editor Key Bindings"]]. *Left Button = Left mouse button. *Right Button = Right mouse button. *As of 2021-08, there is still no middle mouse button binding. *[[http://docs.coregames.com/api/key_bindings/|Core Documentation "Key Binding List"]]. *[[http://docs.coregames.com/tutorials/global_game_jam/|Core Documentation "Learn Core for Global Game Jam"]]. *[[http://docs.coregames.com/tutorials/survival_kit/|Core Documentation "Survival Kit"]] for [[http://fall2020jam.coregames.com/|Survival Jam]]. *[[http://docs.coregames.com/getting_started/community_content/|Core Documentation "Community Content"]]. *[[http://docs.coregames.com/tutorials/template_reference/|Core Documentation "Templates in Core"]] - "Templates" are not "Projects". Access to community "Templates" is by the project dashboard of an opened project, with standard layout at the bottom, at "Community Content". *[[http://docs.coregames.com/tutorials/github/|Core Documentation "GitHub and Core"]]. *Path to CORE projects on my computer "C:\Users\\Documents\My Games\CORE\Saved\Maps". *".gitignore": # CORE - Temporary files used when publishing & to store some preview data like persistent storage # No need to synchronize **/Temp/ # CORE - Local user settings used to store script breakpoints & hierarchy state (locked/hidden objects) # No need to synchronize **/UserSettings/ # CORE - Screenshots used when publishing & for project thumbnails in the Create tab # Comment out if you want to synchronize screenshots # **/Screenshots/ # CORE - Directory created when migrating from an old storage format # No need to synchronize **/.core_backup/ # LuaRocks # No need to synchronize **/.luarocks/ **/lua_modules/ **/lua.bat **/luarocks.bat # VisualStudio Code # No need to synchronize "launch.json" # Its useful to synchronize "task.json" **/.vscode/launch.json *[[http://docs.coregames.com/generated/tags/#tutorial|Core Documentation - Tag "Tutorial"]]. *[[http://docs.coregames.com/generated/tags/#api|Core Documentation - Tag "API"]]. *[[http://learn.coregames.com/courses/|Core Academy]]. *[[http://learn.coregames.com/courses/|Core Academy "Courses"]]. *Tutorial #1 [[http://learn.coregames.com/courses/intro-to-game-design/|Core Academy "Intro to Game Design"]]. *Tutorial #3 [[http://learn.coregames.com/courses/zero-to-valorant/|Core Academy "Zero to Valorant: Take Your First Game to the Next Level"]]. *[[http://www.github.com/ManticoreGamesInc/|GitHub "Manticore Games, Inc"]]. *[[http://docs.coregames.com/api/animations/|Core Documentation "Player Animations & Sockets"]]. *[[http://docs.coregames.com/getting_started/profiler/|Core Documentation "Play-Mode Profiler"]] - If enabled, the play-mode profiler is called in-game by F4 :-). *[[http://docs.coregames.com/api/key_bindings/#key-binding-list|Core Documentation "Key Binding List"]]. *[[http://docs.coregames.com/tutorials/ui_reference/|Core Documentation "User Interfaces in Core"]] - "UI Elements can only be accessed by client-side Scripts. This means that for UI interactions to affect Networked objects, or have other in-game effects that are not strictly client-side, it is necessary to create Event Broadcasts to communicate between server and client". *[[http://docs.coregames.com/api/events/|Core Documentation "Events"]]. *[[http://support.coregames.com/hc/en-us/articles/360057086853--Core-in-Game-Titles|CORE Support "'Core' in Game Titles"]]. ===== Lua & Lua Tutorials ===== ==== Lua ==== *See [[lua.html|Lua & eLua]]. *[[http://www.lua.org/start.html|Lua "Getting started"]]. *[[http://www.lua.org/manual/5.3/manual.html|Lua 5.3 Reference Manual]]. ==== Lua Tutorials of CoreGames Documentation ==== *Reference #1 [[http://docs.coregames.com/tutorials/scripting_intro/|Core Documentation "Intro to Scripting"]]. *Tutorial #2 [[http://learn.coregames.com/courses/intro-to-lua/|Core Academy - Course "Intro to Lua"]]. *"Create Your Own Event. You can also create your own events, that fire when specific conditions are met, using the Event.Broadcast('YourEventName') function. This can allow you to trigger code that is on separate scripts that is waiting for an event". *Tutorial #3 [[http://docs.coregames.com/tutorials/lua_basics_lightbulb/|Core Documentation "Lua Scripting Tutorial, Part 2"]]. *Template "Lightbulb & Switch". "Templates" are not "Projects". *Access to community "Templates" is by the project dashboard of an opened project, with standard layout at the bottom, at "Community Content" *After deinstancing the "Lightbulb & Switch Template", you must Enable networking for "Lightbulb & Switch". *Tutorial #4 [[http://docs.coregames.com/tutorials/lua_basics_manticoin/|Core Documentation "Advanced Scripting in Core"]]. *[[http://docs.coregames.com/api/|Core Documentation "Lua Scripting API"]]. *[[http://docs.coregames.com/api/event/|Core Documentation "API: Event"]]. *[[http://docs.coregames.com/api/eventlistener/|Core Documentation "API: EventListener"]]. *The Namespace [[http://docs.coregames.com/api/events/|Core Documentation "API: Events"]]. *[[http://docs.coregames.com/tutorials/lua_style_guide/|Core Documentation "Lua Style Guide"]]. ==== Standard Lua 5.3 versus CORE Lua 5.3 ==== === Missing with CORE Lua 5.3 === ***arg**. ***debug** library. ***dofile()**. ***loadfile()**. ***io** library. ***package** library, e.g. package.path, package.preload["foo"], package.loadlib()... *Part of the **os** library ( os.execute(), os.exit(), os.remove(), ... ). === Modified with CORE Lua 5.3 === ***collectgarbage** (modified to only accept a count parameter to get current Lua memory usage). ***getmetatable** (modified). ***print** (modified so it goes to Unreal logs and the Event log). ***rawget** (modified). ***rawset** (modified). ***require** (modified). *See [[http://www.coregames.com/games/5bbedb/require-example|CORE Games, Chris "Require Example"]] - "A world full of require() samples! A quick example of how to use require to include scripts in other scripts!" ***setmetatable** (modified). ***_G** (modified so it is separate from _ENV). *_G - This is a global table that can be accessed from any script, but there is a separate version of the table for each machine (one for the server + one for each client). Values set on one client’s _G table can’t be read by any other clients or the server, and values set on the server version of _G cannot be read by any clients". *The server and client _G tables are empty. You may copy the list of global functions, tables from _ENV by a for loop. function FunctionName() end TableName = {} VariableName = "123" _G["FunctionName"] = FunctionName -- Necessary for Lua@Core _G["TableName"] = TableName -- Necessary for Lua@Core _G["VariableName"] = VariableName -- Necessary for Lua@Core print(_G["FunctionName"]) -- "function: 0000021CC1CB9520" print(_G["TableName"]) -- "table: 0000021C925E5540" print(_G["VariableName"]) -- "123". === Different with CORE Lua 5.3 === *Lua@CORE does not pass the typical Unix-style first line of a ( Lua ) script file :-(: -"#!/usr/bin/lua" - #!/usr/​bin/env lua" ***_ENV**. print(_ENV == _G) -- prints true on Standard Lua, since the default _ENV is set to the global table print(_ENV == _G) -- prints false on Lua@CORE, since _G is modified so it is separate from _ENV. === Extra with CORE Lua 5.3 === ***context** Property. === Resources === *[[http://docs.coregames.com/api/#built-in-lua-functions|CORE Documentation "Lua Scripting API" - "Built-In Lua Functions"]] - Also names functions, which are "modified", i.e. which are not Standard Lua :-). But no explanation, no code snippets :-(. ===== Videos ===== ==== Videos ==== *[[http://www.youtube.com/channel/UCV9Z8kgbO7to4j75fESIZZg|YouTube "Core. Auto-generated by YouTube"]]. *[[http://www.youtube.com/watch?v=RO5r1DBMQNk|YouTube, achNina "Core Games: Eigenes Sci-Fi Fitnessspiel bauen!"]], 2021-02. *[[http://www.youtube.com/channel/UCqKcZtFh25bg2JyjoKkf4mg|YouTube "Aphrim"]] #. *[[http://www.youtube.com/watch?v=ddN1miTWU2k|YouTube, Aphrim "How to import images into Core"]]. *[[http://www.reddit.com/user/aphrim1/|Reddit "Aphrim ( u/aphrim1 )"]]. *The CORE community project [[http://www.coregames.com/games/adf938/tycoon-kit-v2-demo-game|CORE Games, Aphrim "Tycoon Kit V2 Demo Game"]] - "This a demo game of what is possible with my new Tycoon Kit V2" => CORE Community Template "Tycoon Kit V2". *[[http://www.discord.gg/UTHyVxYQFf|DISCORD "Aphrim's Server"]]. *[[http://www.youtube.com/channel/UCfXg2GJZ0SSkFnb6dV_mqxg|YouTube "Blog Création de Jeux Vidéo"]]. *[[http://www.youtube.com/playlist?list=PL0H9-oZl_QOERceCV8yFYLY1LOGmJz_MU|YouTube, Blog Création de Jeux Vidéo - Playlist "Core Month"]] - "Tuto Core #1 - #11". *CORE. *[[http://www.youtube.com/channel/UCBPqo7cK1bktfRfMGAAqnbQ|YouTube "Core Games"]]. *[[http://www.youtube.com/watch?v=TKOtPN9ujEE|YouTube, Core Games "Introduction to the Core Editor - Game Creator Toolkit Basics"]]. *[[http://www.youtube.com/watch?v=TAjh6AXLk-Y|YouTube "Learn Lua quickly with no coding experience necessary"]]. *[[http://www.youtube.com/watch?v=-rIbd612sUM|YouTube, Core Games "Create a custom multiplayer game with Core in under 10 Minutes"]] :-(. *[[http://www.youtube.com/watch?v=323ZlQ9-hdg|YouTube, Core Games "Core Tips and Tricks: Scripts"]]. *[[http://www.youtube.com/watch?v=csktv3w23sY|YouTube, Core Games "Building immersive video game worlds in Core using terrain tools"]]. *[[http://docs.coregames.com/tutorials/videos/pistol_shooter/|Core Games "Making a Pistol Shooter"]]. *[[http://www.twitch.tv/corelive/|Twitch "CoreLive"]]. *[[http://www.jasoncrawford.design/core-games|Jason Crawford "Core Games"]]. *[[http://www.youtube.com/channel/UCpRmuF4PjhPymH9GWZYqp7A|YouTube "JasonCdesign"]]. *[[http://www.youtube.com/playlist?list=PLH8RHzIrIfK3fu4Er8p80cJIm9F3zm7e2|YouTube, JasonCdesign "Lua Basics Tutorial Series - Create a collectathon game"]] - "Using the Lua language in the Core games editor". *[[http://www.youtube.com/watch?v=kJUGt0UUYXg|YouTube, JasonCdesign "UI Button Basics - Core Games Editor"]]. *[[http://www.youtube.com/watch?v=WU8mIxdxEj0|YouTube, Gamefromscratch "Core -- New Game Engine or Dreams For PC? ...Yes!"]] - "Roblox vs. SecondLife vs. Fortnite vs. Dreams(PS4)". *[[http://de.wikipedia.org/wiki/Dreams_(Computerspiel)|EN.Wikipedia "Dreams (video game)"]], [[http://de.wikipedia.org/wiki/Dreams_(Computerspiel)|DE.Wikipedia "Dreams (Computerspiel)"]]. *[[http://www.youtube.com/channel/UC5mDDAqKtGljBO9AeFFlw3g|YouTube "LotusCracker - Core Games"]] - Focus on kitbashing. *[[http://www.coregames.com/user/e6df8617a8e94a57aae55ade80a7981f|CORE Games "marious0423"]]. *[[http://www.youtube.com/channel/UCwGHxRDeAjNrgiaxgZN1o8Q|YouTube "Core Tutorials by Marious0423"]]. *[[http://www.youtube.com/watch?v=q70JRO6LLuw|YouTube, Participate "The Sandbox | CORE Games and Lua Programming with @SarahSlinkous"]]. *[[http://www.youtube.com/channel/UCU9rdUw51RBK3MndUt3Og1Q|YouTube "Gabriel Santos"]]. *[[http://www.youtube.com/watch?v=fz5y8MRXM7w&list=PLypj8hyU_Lh4ijMGMUQH_AUwKMvHhIoFq|YouTube, Gabriel Santos - Playlist "Enemy NPC & AI - Core"]]. *[[http://www.youtube.com/channel/UCbz1VQW9IhyAZExCRdMDr4A|YouTube "Soultrail Studio"]]. *[[http://www.youtube.com/watch?list=PL2dcXyP8Zp79A7wEhAebYv9wJOYbRCnMh|YouTube, Soultrail Studio - Playlist "Made with Core 101"]]. *[[http://www.coregames.com/user/ef18f7661bf14d0eae60d7f31ea769af|CORE Games "TeamMETA"]]. *Some teamwork: *[[http://docs.coregames.com/tutorials/survival_kit/|CORE Documentation "Survival Kit"]]. *[[http://www.github.com/Core-Team-META|GitHub "Core-Team-META"]], Members: *[[http://www.coregames.com/user/d5daea732ee3422fbe85aecb900e73ec|CORE Creators "Coderz"]] - "Team META. Most likely working on a framework to drive creator success". *[[http://forums.coregames.com/u/Coderz|CORE Creator Forums "Coderz"]]. *GamerTitan ( Script Coding ) & Arkpoint ( Graphics ). *[[http://www.youtube.com/channel/UCuyMeUjCWaN5qMJzvI2-Ibw|Arcpoint "Arkpoint"]] - "Tutorials, Guides and More". *[[http://www.discord.gg/GuX4evH8qE|Discord "Arkpoint"]]. *Brent Dunn ( Morticai ), [[http://www.gamertitan.com/|GamerTitan]] => I suggest him for his videos to be a "CORE Most Value Professional" ( "CORE MVP" ):-). *[[http://www.gamertitan.com/scripting-in-core|GamerTitan "Core Games Lua Tutorial - Powerup Your Games By Learning To Code"]]. *[[http://www.coregames.com/user/d1073dbcc404405cbef8ce728e53d380|CORE Games "Morticai"]]. *[[http://www.twitter.com/BrentRDunn|Twitter "Brent Dunn, @BrentRDunn"]]. *[[http://www.youtube.com/GamerTitanYT|YouTube "GamerTitan"]], [[http://www.youtube.com/channel/UCahQBItvr4YrnAk_wsf1C4Q|YouTube "GamerTitan"]]. *[[http://www.youtube.com/playlist?list=PLuYBsj48jTgxu5uj1InJi1uYbcCRgeBw4|YouTube, GamerTitan "Creating Games With Core Beginner Tutorial"]]. *[[http://www.youtube.com/watch?v=bXM8eEHeJkA&list=PLuYBsj48jTgxu5uj1InJi1uYbcCRgeBw4|YouTube Playlist, GamerTitan "Core Games Trigger Tutorial"]]. *[[http://www.apkpure.com/gamer-news-gamer-titan/com.gamertitan.site|APKpure "Gamer News - Gamer Titan"]]. *[[http://www.twitter.com/realgamertitan|Twitter "GamerTitan, @RealGamerTitan"]]. *[[http://www.facebook.com/RealGamerTitan/|Facebook "Gamer Titan, @RealGamerTitan"]]. *[[http://www.gamertitan.com/discord|GamerTitan "Discord"]], [[http://discord.com/invite/mTMPsVHU|Discord "GamerTitan"]]. *[[http://www.coregames.com/user/d1073dbcc404405cbef8ce728e53d380|CORE Games "Morticai"]] - "Team META developer and I go by GamerTitan on YouTube". ==== Resources ==== *[[http://www.youtube.com/results?search_query=lua+core+games|YouTube - Search for "lua core games"]]. *[[http://www.youtube.com/results?search_query=core+game|YouTube - Search for "core game"]]. *[[http://www.youtube.com/results?search_query=core+game+videos|YouTube - Search for "core game videos"]]. ===== My suggested Learning Path ===== ==== Suggestions ==== *Play some games suggested by the system. Extra goal: Reach Level 50 for 2 players √. *Each account / profile may have up to 250 CORE friends. *You may just chat with CORE friends ( online and offline ). *So how about making justs CORE profiles your friend, who already have published a CORE application? So you might contact and ask 250 CORE developers, per profile. *If you have 2 Window10 computers with CORE compatible graphics card, how about having 2 CORE acccounts, each Level 50, each up to 250 different CORE developers as CORE friends?! *Thats why my CORE profile text is "Founder and maintainer of the popular Lua UnitTest framework for CORE ( hemmerling_luaunit ). Graduated engineer - Dipl.-Ing.(FH) in Information Technology. German + English speaking. Learning Core Game Development. I am interested in exchange of experiences, communications & feedback by other CORE programmers & artists, any level from newbie like me to expert. Please accept my CORE friendship request :-)". ==== Suggested Tutorials ==== -[[http://docs.coregames.com/tutorials/scripting_intro/|Core Documentation "Intro to Scripting"]] √. -Tutorial [[http://docs.coregames.com/getting_started/my_first_multiplayer_game/|Core Documentation - Tutorial "Build Your First Game In Core" / "My First Multiplayer Game"]] √. -Tutorial [[http://docs.coregames.com/tutorials/first_game_rpg/|Core Documentation - Tutorial "Build Your First Game - RPG!" / "Create an RPG in Core"]] √. -Course [[http://learn.coregames.com/courses/intro-to-lua/|Core Academy - Course "Intro to Lua"]], Part I + II √. -Video tutorial [[http://www.youtube.com/playlist?list=PLH8RHzIrIfK3fu4Er8p80cJIm9F3zm7e2|YouTube, JasonCdesign "Lua Basics Tutorial Series - Create a collectathon game"]] √ - "Using the Lua language in the Core games editor". -Course [[http://learn.coregames.com/courses/intro-to-lua/|Core Academy - Course "Intro to Lua"]], Part III "Events and Game Loops" √. -Tutorial [[http://docs.coregames.com/tutorials/lua_basics_lightbulb/|Core Documentation - Tutorial "Lua Scripting Tutorial, Part 2" / "Lua Tutorial" / "Scripting in Core (Intermediate)"]] √. -Tutorial [[http://docs.coregames.com/tutorials/environment_art/|Core Documentation - Tutorial "Environment Art in Core" / "Terrain Tutorial"]] √. -Tutorials [[http://docs.coregames.com/tutorials/weapons/|Core Documentation - Reference "Weapons Reference" / "Basic Weapon Tutorial"]], [[http://docs.coregames.com/tutorials/weapons_tutorial/|Core Documentation - Tutorial "Basic Weapons Tutorial" / "Basic Weapon Tutorial"]] √. *"Basic Pistol(networked)" => "Parenting to client context. Some objects cannot be inside a client context. Shoot. Reload" :-(. *Instructions: -"Basic Pistol(networked)" => "Deinstance this Object". -"Client Art (networked)" => "Create Network Context > New Client Context Containing This". *"Wrapped networked object in client context. Client-only objects can´t be networked. Continue wrapping objects in client contect adn disable network for selected objects?". -"ClientContext (networked)" => "Game Collision = Force Off" ( this is the default setting ). -"You may also notice that the weapon, when equipped, could be not at all in the right spot. The animations should be correct, but the weapon position might be through your body or above your head, or rotated all weird" - Not true in 2020-04, anymore :-). -*"Basic Pistol(networked)" => "Properties / Equipment / Socket = right_prop" ( this is the default setting ). -"CoreContent / Utility" => "Weapon Guide 1handpistol" => "Basic Pistol(networked)". -"With the Weapon Guide 2hand_rifle 1handpistol selected, Set all Position Transforms in the Properties window to 0". *The rest of the original instructions is easy to understand :-), though not all works as expected :-(. *"Having a projectile also means that you can change how fast it travels through the air, along with other settings in the Weapon section" - No. Instead "Basic Pistol(networked) / Projectile / Projectile Speed = 25000" ( default value = 25000 , reset value = 20000 ). *"Universal Object Spawner" => [[http://docs.coregames.com/tutorials/global_game_jam/#other-key-community-content|Core Documentation, Reference "Core for Global Game Jams"]] - "Universal Object Spawner by standardcombo will allow you to continually spawn copies of objects, so players never run out of a resource, equipment, or weapon" -Tutorial [[http://docs.coregames.com/tutorials/abilities/|Core Documentation - Tutorial "Abilities in Core" / "Abilities Tutorial"]] √. -[[http://www.youtube.com/watch?v=4NCeI39VgvA|YouTube "Core Games Code - Flying Player Script Tutorial"]] √. -Tutorial [[http://docs.coregames.com/tutorials/abilities_advanced/|Core Documentation - Tutorial "Advanced Abilities in Core"]] √. *"FireFly". *Press SHIFT to fly, and then WASDF to fly into a direction. *Parameter choice suggestions: *Select as model "Baseball Bat", to be hold in the Client Context folder within the weapon. *Execute section, change Duration to 10 ( instead of 3 ). *In the Cooldown section, change the Duration to 1 ( instead of 12 ). *"Right Click to Aim". *Press Mouse-Rightclick to activate the aim & zoom function. *"Ammo as a Pickup". *"Pick up an ember pickup. Once you've gathered one, press R on the keyboard to trigger the reload ability". -Tutorial [[http://docs.coregames.com/tutorials/modeling_basics/|Core Documentation - Reference "Modeling Basics"]] √ - "Learning modelling basics in Core by making delicious food". -Tutorial [[http://docs.coregames.com/tutorials/lua_basics_manticoin/|Core Documentation "Advanced Scripting in Core"]] √. *"Your Text Box probably came with another UI Container, but as this is already a child of a UI Container, we don't need both. Drag the CoinUI one level higher to just be a child of the Client Context folder. Then you can delete the extra UI Container". -Video tutorial [[http://www.youtube.com/watch?v=bXM8eEHeJkA&list=PLuYBsj48jTgxu5uj1InJi1uYbcCRgeBw4&index=4|YouTube Playlist, GamerTitan "Creating Games With Core Beginner Tutorial"]]. *[[http://www.youtube.com/watch?v=xrTTSLu7QwY|YouTube, GamerTitan "How To Use The 5 Different Context Type In Your Core Games"]]. *"Client context" vs "networked": *In just "simple preview" mode, the IDE is running both the server and the client on the same machine. *"Client context" - Use it for visuals and user interface ( UI )! *If it matters, that each client is to see the exact same thing happening, then use "networked" context. *"Server context" - Visible just in "simple preview mode", else invisible. The position of the object might be used as marker ( by the game developer ): In a script, it's position might be used to spawn a new object there. *If you enable networking for a "Static content" unit of objects, all objects of the unit together are considered to be one object. *With the benefit that this unit happens the same for every client. *There is less network communications, as there is just one network object, not a bunch of network objects. *But you can move around just the networked "Static contents" as unit, not the single objects of the unit, as a unit is not a group. *[[http://www.youtube.com/watch?v=bXM8eEHeJkA|YouTube, GamerTitan "Core Games Trigger Tutorial - Learn What Triggers Do And How To Use Them In Your Games"]]. *[[http://gamertitan.com/downloads/Triggers.zip|GamerTitan Downloads "Triggers.zip"]]. *[[http://www.youtube.com/watch?v=rm4vQzd-kaI|YouTube, GamerTitan "Core Games UI Tutorial - Getting Started For Beginners (Step-By-Step)"]]. *"But then, we have a lot of these other UI elements. And if we keep adding these, it's getting pretty unorganized. And so, **traditionally in CORE, if we are using 3D objects, we would just go ahead up and group things up, or use folders depending on what our goal were**". *"But if we do this with UI, so as example I take these 2 background images, and I make them a group, you will notice that they get messed up" ( The "Position", "Rotation" and "Scale" settings of groups and folders don´t apply to UI elements ! ). "And that is one of the reasons you want to avoid using groups inside the actual structure of the UI". *"**So instead, what we can do, we actually create another panel, and we would make it a child of the parent panel there, and we would inherent size**" ( width, height ) "**from the parent. Then we can move all the stuff we want underneath that panel. That allows up to do some cleanup**". *[[http://www.youtube.com/watch?v=ltYBK2JP1tE|YouTube, GamerTitan "Core Games UI Tutorial - Making A UI Toggle From A Keypress"]] - The template "GamerTitan Toggle UI Tutorial" is available as Community Content. *[[http://www.youtube.com/watch?v=exO72WhVYik|YouTube, GamerTitan "Core Games UI Button Tutorial - Making Clickable Buttons"]] ( "How To: Create Clickable UI Buttons in Core" ). *The template "GamerTitan UI Button Tutorial" is available as Community Content. *10:00 "You can attach as much information as you want to each object in CORE. And on the client we use 'clientuserdata', and then it's a table attached to the object ... and this is valuable, for when you have multiple buttons for multiple things attached to a single event listener" = > Gives practical example of use of "clientuserdata" :-), but which is not in the final downloadable project :-(. *13:00 "And locally, a client can send 10 events / second to the server". *Project code makes use of "serveruserdata". *Project code defines a UIPanel of several UIButtons as a CustomProperty and uses "clientuserdata" to differ between the UIButtons :-), but which is not in the final downloadable project :-(. *Buy menu. *Old video [[http://www.youtube.com/watch?v=NzEx04UbwP8|YouTube, GamerTitan "How To Make A Equipment Buy Menu In Core Games"]] - Outdated! *New video [[http://www.youtube.com/watch?v=J1enZOq-GiI|YouTube, GamerTitan "How To Setup A Weapon Buy Menu In Core Games (2021 Updated)"]]. *"Tooltips" for CustomProperties :-), set in "WeaponBuyMenu.pbt" Overrides { Name: "cs:Enabled:tooltip" String: "To disable the entire system set this to false (unchecked)" *Unfortunately, just the menu options are explained :-(. It does not explain how to build a menu or a framework, nor now to use the given framework :-(. *CORE Community Content Template "Weapon Buy Menu System" by [[http://www.coregames.com/user/d1073dbcc404405cbef8ce728e53d380|CORE Games "Morticai"]] ( formerly: "Weapon Buy Menu" ). *Instructions if you want to import into an "Empty Project": -Import the video from "Community Content". -Drag the item "aponBuyM" from "Core Content" to your Hierarchy browser. -After that, it is listed at "Imported Content". *If you import to the gameplay framework "Team Deathmatch", imported contents is immediately available at "My Templates". After you dragged it to your Hierarchy browser, it is also available at "Imported Content". *The video is outdated in 2021-05. At the earlier time of video making, imported contents was immediately available at "My Shared Content". -Global variables √. *[[http://stackoverflow.com/questions/24327452/declaring-global-variable-inside-a-function-in-lua|StackOverflow "Declaring global variable inside a function in LUA"]]. *[[http://forums.coregames.com/t/tutorial-how-to-use-global-functions-variables-to-simplify-development/1335|CORE Forums "[Tutorial] How To Use Global Functions & Variables to Simplify Development"]]. -Wait / Sleep / Daemon ( Background Process ) √. *[[http://www.lua-users.org/wiki/SleepFunction|Lua-Users Wiki "Sleep Function"]]. *[[http://www.stackoverflow.com/questions/17987618/how-to-add-a-sleep-or-wait-to-my-lua-script|Stackoverflow "How to add a 'sleep' or 'wait' to my Lua Script?"]]. *Tutorial [[http://docs.coregames.com/tutorials/lua_basics_manticoin/|Core Documentation "Advanced Scripting in Core"]] - Tick() - "The function Tick() is built into Core and loops constantly while a game is running. We are slowing this down with the Task.Wait(2) line, as the function will pause there for 2 seconds before continuing the code". -"require()", "context", "_G." √. *[[http://www.coregames.com/games/5bbedb/require-example|CORE Games, Chris "Require Example"]] - "A world full of require() samples! A quick example of how to use require to include scripts in other scripts!" √. *[[http://www.stackoverflow.com/questions/6902059/lua-how-require-works|StackOverflow "lua how require works"]] √. *[[http://docs.coregames.com/tutorials/scripting_intro/|Core Documentation "Intro to Scripting"]] √ - "Modules.Lua in Core does not support dofile() or loadfile. For require(), our implementation differs slightly from vanilla Lua. Instead of giving it a script or file name, you give it a script ID, so you'll want a custom parameter that's an asset reference pointing at the script you want to require()" *[[http://docs.coregames.com/api/script/|CORE Documentation "Script"]] - "With context two scripts can communicate directly by calling on each other's functions and properties". *[[http://www.luasnippets.com/2020/08/11/138/|Lua Snippets for Core "Useful But Under-Documented Things Available in Core"]] - "Data provided by user: Knar33 with CoreGames.com". *"_G. This is a global table that can be accessed from any script, but there is a separate version of the table for each machine (one for the server + one for each client). Values set on one client’s _G table can’t be read by any other clients or the server, and values set on the server version of _G cannot be read by any clients". *[[http://www.coregames.com/games/332b88/vaporwaves|CORE Games "VaporWaves"]] by [[http://www.coregames.com/user/92dd11503be249e5a91f66d93104e181|CORE Games "Knar33"]]. *[[http://github.com/Knar33/Core-Networking-Examples|GitHub "Knar33 / Core-Networking-Examples"]]. *[[http://gist.github.com/Knar33/a7b68cafe5b4548459dd9890cfc1c47c|Gist "Knar33 / Core-Networking-Examples"]] ( #1 ). *[[http://gist.github.com/Knar33/9d1f61449f1f922bb3eabe69ede7e30d|Gist "Knar33 / Core-Networking-Examples"]] ( #2 ). -UI. *[[http://docs.coregames.com/tutorials/ui_tutorial/|Core Documentation "UI Tutorial"]] √. *[[http://www.youtube.com/watch?v=kJUGt0UUYXg|YouTube, JasonCdesign "UI Button Basics - Core Games Editor"]] √ => Uses "UI.SetCanCursorInteractWithUI(true)". *[[http://www.youtube.com/watch?v=ut_Ldz8OlEE|YouTube, Soultrail Studio "Made with Core 101 | #1 | Pop Up / Down UI Menu Window on Button Press"]] √. *[[http://www.youtube.com/watch?v=hwQzFw8TztU|YouTube, CoreGamingwith_SlimeChan "Core Gaming Tutorial: How to create UI in core"]] √ => "UI.SetCanCursorInteractWithUI(true)" is missing :-(. *[[http://www.youtube.com/watch?v=0mD6uYmtWV4|YouTube, Aphrim "How To Create A Menu in The Core Editor"]] √. -Queued applications, interconnected Games √. *[[http://docs.coregames.com/tutorials/queues/|CORE Documentation "Queued Games"]] √. *[[http://docs.coregames.com/tutorials/interconnected_games/|CORE Documentation "Interconnected Games"]] √. *[[http://docs.coregames.com/api/player/#transfertogame|CORE Documentation "CORE API - Player"]] √ - "TransferToGame". *Error messages: *"Unable to transfer players outside of online mode!" - Interconnecting does not work in simulator, ok. *"There is a system cooldown for portaling between games. Please try again shortly" :-(. From my experience, a delay of 7 seconds is sufficient, 5 seconds might be too short. function OnBeginOverlap(trigger, other) if other:IsA("Player") and not trigger.isInteractable then Task.Wait(7) other:TransferToGame(DESTINATION_GAME) end end -Events, Networking & Network communications ( also to and from UI ). *[[http://www.youtube.com/watch?v=83dpqyT4-eI|YouTube, GamerTitan "Using Child Added Event For Data Transfers In Your Core Game"]]. *[[http://www.youtube.com/watch?v=t-tvI-86ttA|YouTube, GamerTitan "How To use Networked Custom Properties In Your Core Game"]]. -Persistance. *[[http://forums.coregames.com/t/do-and-dont-of-persistent-storage/917|CORE Creator Forums "Do and Don’t of Persistent Storage"]]. *[[http://docs.coregames.com/api/object/|CORE Documentation "Object"]] - "serverUserData", "clientUserData". *[[http://www.luasnippets.com/2020/08/11/138/|Lua Snippets for Core "Useful But Under-Documented Things Available in Core"]]. ==== My Contributions & my Questions ==== *[[http://forums.coregames.com/|CORE Forums]]. *[[http://forums.coregames.com/t/official-core-basic-weapons-tutorial-help-needed/1146|CORE Forums "Official CORE Basic Weapons Tutorial - Help needed!"]]. *[[http://forums.coregames.com/t/underwater-post-process-how-to-setup-the-z-coordinate-help-needed/1148|CORE Forums "Underwater Post Process - How to setup the Z coordinate? - Help needed!"]]. *[[http://forums.coregames.com/t/tutorial-modeling-basics-how-to-deal-with-position-transformation-offsets-of-elements-of-a-group/1287|CORE Forums "Tutorial 'Modeling Basics' - How to deal with position & transformation ( offsets ) of elements of a group?"]]. *[[http://forums.coregames.com/t/how-to-publish-a-game-after-local-changes-on-the-developer-pc-with-the-same-url/1293|CORE Forums "How to publish a game ( after local changes on the developer PC ) with the same URL?"]]. *[[http://forums.coregames.com/t/which-are-the-proper-hastags-for-promoting-independant-games-made-on-the-core-platform/1449|CORE Forums "Which are the proper #Hastags for promoting independant games made on the CORE platform?"]]. *[[http://forums.coregames.com/t/how-to-update-my-code-that-a-click-on-a-ui-button-button-clicked-button-immediately-and-not-just-by-the-2nd-click/1465|CORE Forums "How to update my code, that a click on a UI button ( "button clicked: Button" ) is detected immediately, and not just by the 2nd. click?"]]. *[[http://forums.coregames.com/t/how-to-make-and-integrate-videos-of-the-own-core-landscape-into-the-core-application/1466|CORE Forums "How to make and integrate “Videos” of the own CORE landscape into the CORE application?"]]. *[[http://forums.coregames.com/t/beginoverlay-f-interaction-popup-window-don-t-work-if-there-is-an-extra-hierarchy-level/1473|CORE Forums "BeginOverlay() & "F" interaction popup window don´t work, if there is an extra hierarchy level?"]]. *[[http://forums.coregames.com/t/howto-detect-that-a-lua-script-is-running-on-core/1500|CORE Forums "Howto detect that a Lua script is running on CORE?"]]. *[[http://forums.coregames.com/t/which-lua-functions-and-lua-features-are-not-implemented-with-core/1508|CORE Forums "Which Lua functions and Lua features are not implemented with CORE?"]]. *[[http://forums.coregames.com/t/announcement-release-of-a-lua-unittest-framework-for-lua-core-voluntary-co-developers-wanted/1516|CORE Forums "Announcement: Release of a Lua UnitTest Framework for Lua @ CORE. Voluntary Co-Developers wanted!"]]. *[[http://www.reddit.com/r/coregamesdev/|Reddit "CoreGamesDev"]]. *[[http://www.reddit.com/r/coregamesdev/comments/njttu7/how_to_make_and_integrate_videos_of_the_own/|Reddit "How to make and integrate "Videos" of the own landscape into the CORE application?"]]. *[[http://www.reddit.com/r/coregamesdev/comments/nkpqnd/beginoverlay_f_interaction_popup_window_dont_work/|Reddit "BeginOverlay() & "F" interaction popup window don´t work, if there is an extra hierarchy level?"]] => "Make sure you set collision on in the client context" :-). *[[http://www.reddit.com/r/coregamesdev/comments/nppani/howto_detect_that_a_lua_script_is_running_on_core/|Reddit "Howto detect that a Lua script is running on CORE ?"]]. *[[http://www.reddit.com/r/coregamesdev/comments/nrgd0l/announcement_release_of_a_lua_unittest_framework/|Reddit "Announcement: Release of a Lua UnitTest Framework for Lua @ CORE. Voluntary Co-Developers wanted!"]] - Feedback "If you’re making a UnitTest application feel free to improve the NPC AI while you’re at it" :-). *[[http://www.stackoverflow.com/questions/tagged/coregames|StackOverflow - Tagged Questions "[coregames]"]]. *[[http://www.stackoverflow.com/questions/67785703/howto-detect-that-a-lua-script-is-running-on-core|StackOverflow "Howto detect that a Lua script is running on CORE?"]] - Answers: if not (io) then print("not running standard Lua") end if (CoreObject) then print("we're likely running Core") end ===== OpenSource CORE Projects and OpenSource CORE Templates ===== ==== OpenSource CORE Templates ==== *CORE Template "Universal UI Kit" by [[http://www.coregames.com/user/4499e75c814946d1ae2fcc287a5a70d1|CORE Games "CardinalZebra"]]. *[[http://forums.coregames.com/t/universal-ui-kit/1468|CORE Forums "Universal UI Kit"]]. *CORE Template "META RPG Inventory System" by [[http://www.coregames.com/user/ef18f7661bf14d0eae60d7f31ea769af|CORE Games "TeamMETA"]]. *[[http://www.github.com/Core-Team-META|GitHub "Core-Team-META"]]. *[[http://forums.coregames.com/t/component-meta-rpg-inventory-system/590|CORE Creator Forums Message "[Component] META RPG Inventory System"]] by [[http://forums.coregames.com/u/Coderz|CORE Creator Forums "Coderz"]]. ==== OpenSource CORE Community Projects ==== *[[http://www.coregames.com/games/5bbedb/require-example|CORE Games, Chris "Require Example"]] - "A world full of require() samples! A quick example of how to use require to include scripts in other scripts!". *[[http://www.coregames.com/games/faf09e/lag-sim|Core Games, RyanTheDev "You cannot enter this game!!!"]] by [[http://www.coregames.com/user/3e76601df97f4f62b54442ea575218c3|Core Games "RyanTheDev"]]. *"Performance Limits: 50,059/30,000 - Total number of objects in this hierarchy. This number does not reflect the total number of allowed Max Players. Object under a Merged Model will be counted as half of its size. To get under the limit of this bar, reduce the number of objects in theaa scene". *The Hierarchy tree of the project is filled with "MOBA Example" objects. *[[http://www.coregames.com/games/308680/yadni-s-junkyard-all-assets|Core Games, YadNi_Monde "YadNi s Junkyard - All Assets"]] by [[http://www.coregames.com/user/dce706ca8d474e45a8140c05b6d807cc|Core Games "YadNi_Monde"]]. *[[http://www.youtube.com/channel/UCMVW3U3b46AMT1XjR0SXdCA|YouTube "YadNi Monde Makes Arts"]]. *[[http://www.youtube.com/watch?v=33GBvi86j1c|YouTube, YadNi Monde Makes Arts "YadNi s Junkyard - ALL Core Games Visual Assets In One Map"]]. ==== OpenSource Repositories with CORE Community Projects ==== *[[http://github.com/topics/coregames|GitHub - Topics "#CoreGames"]] - "Here are 35 public repositories matching this topic... ". ==== My OpenSource CORE Projects and OpenSource CORE Templates ==== === My OpenSource CORE Templates === === My OpenSource CORE Projects === *LuaUnitCore. *[[http://www.coregames.com/games/f67aaa/hemmerlingluaunit|CORE Games "hemmerling_luaunit"]] - LuaUnitCore is a unit-testing framework for the stripped down and modified Lua on the online game development platform "CORE". It is fork of LuaUnit v3.4 ( [[http://github.com/bluebird75/luaunit|http://github.com/bluebird75/luaunit]] ) of 2021-03-04. *[[http://www.github.com/hemmerling/core-concentration/|GitHub "hemmerling/lua-luaunitcore"]]. *Published as "Open for Editing" => "Create New Project / Community Projects" - Search for "hemmerling_calculator". *[[http://www.github.com/hemmerling/lua-coregames/|GitHub "hemmerling/lua-coregames"]] - My code repository for all LUA games. *Calculator. *[[http://www.coregames.com/games/54a611/hemmerlingcalculator|CORE Games "hemmerling_calculator"]]. *[[http://github.com/hemmerling/lua-coregames/tree/master/hemmerling_calculator|GitHub "hemmerling / lua-coregames / hemmerling_calculator"]]. *Published as "Open for Editing" => "Create New Project / Community Projects" - Search for "hemmerling_calculator". *[[http://www.coregames.com/games/f33fa4/hemmerlingqueue|CORE Games "hemmerling_queue"]]. *[[http://www.coregames.com/games/2a0229/hemmerlinglobby|CORE Games "hemmerling_lobby"]]. *Concentration / Pairs. *[[http://www.coregames.com/games/bcfb76/hemmerlingconcentration|CORE Games "hemmerling_concentration"]] - Contribution to the Global Game Jam 2021, created within 48hours. Not really functional CORE application. Currently not under development. Might be my next project. *[[http://www.github.com/hemmerling/core-concentration/|GitHub "hemmerling/core-concentration"]]. === My special minimal CORE Projects, just generated to get Help by the Community === *[[http://www.github.com/hemmerling/lua-coregames/|GitHub "hemmerling/lua-coregames"]] - My code repository for all LUA games. *[[http://www.coregames.com/games/269ee7/hemmerlingswimmingpool|Core Games, Hemmerling "hemmerling_swimmingpool"]]. *Why must be "Underwater Post Process", Z = 250? *[[http://www.coregames.com/games/e1a9fc/hemmerlingweapon|CORE Games, Hemmerling "hemmerling_weapon"]]. *Problem #1 ( solved ): *The gun on the ground can be taken ONCE by a single player, after game publication. *If the gun is taken, it can´t be taken again in further plays, by the same or any other player. *Problem #2: *Take the pistol on the ground, by F. *Shoot. *Why do the bullets fly with vertical orientation? *[[http://www.coregames.com/games/b2229c/hemmerlingpancake|CORE Games, Hemmerling "hemmerling_pancake"]], [[http://www.coregames.com/games/74b9c7/hemmerlingpancake|Core Games, Hemmerling "hemmerling_pancake2"]]. *With proper relative coordinates, thanks to "Reset relative transform, Keep Child World Transform" :-). *[[http://www.coregames.com/games/62946c/hemmerlingadvancedscripting|CORE Games, Hemmerling "hemmerling_advanced_scripting"]]. *[[http://www.coregames.com/games/fe6a35/hemmerlingmouseclick|CORE Games, Hemmerling "hemmerling_mouseclick"]]. *If "UI.SetCanCursorInteractWithUI(true)" => "button clicked: Button" immediately detected by the first mouse click. *If "UI.SetCanCursorInteractWithUI(false)", the default setting => "button clicked: Button" is detected by the 2nd. mouseclick. *[[http://www.coregames.com/games/f8c81d/hemmerlingbeginoverlay|CORE Games, Hemmerling "hemmerling_beginoverlay"]] = > "Make sure you set collision on in the client context" :-). ===== CORE Game Design Rules ===== *Always have a single player mode, to avoid frustration of CORE players willing to test your CORE application! *Don´t tell already-in-game players "Waiting for 1 more players to start" :-(. Especially, think about if it's really great to lock up single players in a "Lobby". *Don´t create CORE applications where you need to "Join Queue". *Such a statement "Bridge is a bidding card game played with four players" is frustrating for CORE players :-(. *Instead, use AI to provide the missing CORE players. It's ok to warn the CORE player that other human CORE players are missing. *Avoid dependencies. *Fore CORE, modules which consist of single large LUA scripts are better than modules, which consist of and depend on several LUA scripts. *So avoid dependancies caused by the standard LUA "require()" import process, especially as with CORE, the LUA@CORE implementation of "require()" works differently: *You must add manually a reference to the required LUA script, as "Custom Propery", by any script which requires it, additionally! It's not even documented in your LUA script ( which you might put to a code repository like GitHub )! *If you just have single-level requires, i.e. required files itself don´t contain require() statements: *Don´t put the required LUA scripts in the project tree! Just keep it at "Project Content / My Scripts". *If you just have multi-level requires, i.e. required files itself contain require() statements: *The required LUA scripts must be located in the project tree, even though it's not intented that the are processed as if they are single executable scripts! So take care with the code, as it is processed at start of application, and not just after it is required! *See [[systemdesign.html|System Design]] => "Dependency inversion principle" ( "Dependency Injection", "Inversion of Control", "Hollywood principle - Don't call us, we'll call you" ). ===== Tips & Tricks ===== *You can´t import your own resources ( graphics, sound,..) :-(. *You can´t unpublish once-published CORE applications, but you can re-publish a CORE application to be "unlisted" :-). *"You cannot invite more friends because you are at the limit of 256" :-( - You may have just 256 friends :-(. *Screenshot: *Pressing the keys ALT + PRINTSCREEN doesn´t provide a copy of the played game, in the Windows clipboard. *Use the "Xbox Game Bar" instead. *Configuration: Press the keys WINDOW + G, to activate "Xbox Game Bar". Select the menu option "Capture" to open the capture pane. *Press the keys WINDOWS + ALT + PRINTSCREEN" to take a screenshot. Alternatively, you might press the button "Take Screenshot WINDOWS + Alt + Prtscrn" of the "Xbox Game Bar". *Finally click on "Share all captures". Select the wanted screenshot, and press "Copy to clipboard". *Screenshot during the publication process: *You may take screenshots of the current viewport ( the graphical game preview in the IDE ), by "Publish Game" / "Take Screenshot". Image size is 1280x720. *The screenshots are stored in the directory "C:\Users\\Documents\My Games\CORE\Saved\Maps\\Screenshots", with "" = the name of the Windows user, and "" = the name of the CORE project created by the developer with the CORE IDE. The name of the screenshot files is like "Screenshot0001.png", "Screenshot0002.png,... Before taking a screenshot, you may walk around in the viewport by the usual IDE commands, i.e. pressing keys while keeping mouse-rightclick pressed. *IDE. *V = "Gizmo visibility turned on". You can now see the camera, spawn points, and trigger boxes. *While keeping mouse-rightclick pressed, pressing any of the keys to change the viewpoint ( Cartesian coordinate system ): *W - Forward. *S - Backward. *A - Right. *D - Left. *Q - Down. *E - Up. *F - Move to the selected item. *Mouse movement - Move the view into the direction where you tear the mouse ( Polar coordinate system ). *Mouse-rightclick offers a menu of view options: *Look at Object from Top. *Look at Object from Front. *Look at Object from Rear. *Move Camera to the Selected Object. *Move Selected Object to Camera, Position Only. *Move Selected Object to Camera and Align Orientation. *Mirror Selected Object in X. *Mirror Selected Object in Y. *Mirror Selected Object in Z. *Drop to Floor. *Text editor. *CTRL+F - Find. *F3 - Find Next. *Shift+F3 -Find Previous. *F5 - Compile Script. *Debugger. *The "Event Log" buffer is about 1000 lines * 80 characters, i.e. about 64 KBytes of text. *When the button "Toggle Script Debugger" is activated, the debugger "compiles" a LUA script as soon as it is loaded into the internal editor, by the message "Successfully compiled script XXXX !". *2021-03-03, Update 2.1.20.0 - "In the meantime, the only way to exit Home World or the game you are in is to pull-up the ESC menu/Games Browser and select another game, 'Create', or 'My Collection'. Any one of these will cause you to exit the current game or Home World without exiting the Core program". *Typical application keys: *W,A,S,D - Move the character. *SPACE - Jump. *C - Crouch. *G - Ride a mount. *F - Get into interaction ( e.g. open and close a door ). *H - Help ( uncommon, T is more common ). *I - Inventory. *J - Journal. *L - Loot. *M - Map. *R - Reload. *Shoot the default gun with the left mouse button. *T - Tutorial / Help. "Press 'T' to open and close this window" :-). *U - Upgrade. *P - Scorecard. *V - Tournament Rating. *V - Video ( Preview videos with camera pan of certain areas of the playground ) *TAB - Scoreboard. *Tool / weapon change: *Q - Change tool / weapon +1 ( down ). *R - Change tool / weapon -1 ( up ). *1 - Use tool / weapon #1. *2 = Use tool / weapon #2. *3 = Use tool / weapon #3. *"Some of those special icons are rewards for winning contests, jams, etc. that are given to users who have won them. We often use these icons as prizes for winning". *The function "Reset relative transform, Keep Child World Transform" is available for groups & folders, may be used to set the position of a group or folder to 0,0,0, relative to the upper directory structure object. So best ist to start with a group for each project-specific stuff, and to create a sub-structure of groups for any group of items. The function is not available for objects. *List of forbidden word in CORE chat, in the CORE IDE, which are is printed as 4 Stars ( "* * * *" ): -"GIMP" ( the name of the OpenSource image processing tool ). *[[http://forums.coregames.com/t/change-directly-from-the-startpoint-to-create-mode/1373/8|CORE Forums "Change directly from the Startpoint to Create-Mode"]] - If you are developer and don´t want to enter "Core World" at IDE startup, add "-CREATE" in the properties. E.g. C:\ProgramData\Manticore Games\Launcher\Core Launcher.exe" -CREATE ===== Forums, Newsgroups ===== *See [[gamedevelopment.html|Game Development]]. {{tag>core "core games" core games lua "lua applications" applications "lua gameengine" gameengine game engine "lua scriptlanguage" "lua script language" "lua scriptengine" scriptengine script "sandbox game" sandbox game}}