Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Chief

Members
  • Posts

    3464
  • Joined

  • Last visited

    Never

Everything posted by Chief

  1. ![](https://cdn.discordapp.com/attachments/170045736090730496/473201213165404161/ui-designer.png)
  2. Working on the asset manager/file explorer ![](https://cdn.discordapp.com/attachments/282274126888960000/472840015144026113/explorer.PNG)
  3. Yup, that's exactly what they are. I'm glad it was obvious.
  4. Working on the 2D tile mapper today ![](https://cdn.discordapp.com/attachments/355751891663060992/469904108912902144/uiuiui.PNG)
  5. Took a break for my mental health, but I worked on the script editor today. ![](https://cdn.discordapp.com/attachments/282274126888960000/469679709253271562/script-editor.PNG)
  6. Eclipse 2.0 ![](https://cdn.discordapp.com/attachments/170045736090730496/464552946508627988/ohdamn.PNG)
  7. ![alt text](https://media.discordapp.net/attachments/337995840280985610/464600278919020544/uiuiui.PNG?width=970&height=660)
  8. ![alt text](https://cdn.discordapp.com/attachments/457542797013024781/464259478301442048/uiuiui.PNG)
  9. ![alt text](https://cdn.discordapp.com/attachments/282274126888960000/463886457162039307/uiuiui.PNG)
  10. ![](https://cdn.discordapp.com/attachments/355751891663060992/463556212672167938/uiuiuiui.PNG)
  11. Extremely early shot of the editor application, just to show progress. The actual UI will definitely change as I go. ![](https://media.discordapp.net/attachments/282274126888960000/463458480095887362/uiuiuiui.PNG?width=841&height=660)
  12. Been working hard on the engine. Below you can find a code snippet that shows off the "common" plugin. This plugin does a lot of the setup and boilerplate to make your job a lot easier. It's an update from my previous code paste. ```javascript const Plugin = require('../../core/Plugin'); const Gamepad = require('./devices/Gamepad'); const Keyboard = require('./devices/Keyboard'); const Mouse = require('./devices/Mouse'); const fragment = require('./shaders/default/fragment'); const vertex = require('./shaders/default/vertex'); const amend = require('./tasks/amend'); const authorize = require('./tasks/authorize'); const handshake = require('./tasks/handshake'); const pong = require('./tasks/pong'); const spawn = require('./tasks/spawn'); const utilities = require('./utilities'); module.exports = new Plugin('common', game => { const std = game.libraries.use('std'); game.devices.install(new Gamepad('gamepad')); game.devices.install(new Keyboard('keyboard')); game.devices.install(new Mouse('mouse')); game.tasks.subscribe('handshake').forEach(method => handshake.apply(game, method.arguments)); game.tasks.subscribe('pong').forEach(method => pong.apply(game, method.arguments)); game.tasks.subscribe('authorize').forEach(method => authorize.apply(game, method.arguments)); game.tasks.subscribe('spawn').forEach(method => spawn.apply(game, method.arguments)); game.tasks.subscribe('amend').forEach(method => amend.apply(game, method.arguments)); game.viewport.subscribe('mount').forEach(() => { game.renderer.bind('default', [ fragment, vertex ]); }); game.loop.subscribe('update').forEach(() => { std.systems.move.run(game.initializer.heap.entities.get(game.world.player), game); for (const id of game.world.entities) { std.systems.move.run(game.initializer.heap.entities.get(id), game); } }); game.loop.subscribe('draw').forEach(() => { game.renderer.clear(); utilities.fill(game.renderer.webgl); for (const id of game.world.entities) { std.systems.render2d.run(game.initializer.heap.entities.get(id), game); } std.systems.render2d.run(game.initializer.heap.entities.get(game.world.player), game); }); }); ``` Below now you can find a really stupid looking screenshot, but it helps to show off that the WebSocket networking and the WebGL renderer are both working nicely together when there are multiple players. ![](https://i.imgur.com/PmVh47S.png) The FPS meter in chrome (top right) bugs out, but the engine gets ~60FPS (max in-browser)
  13. Just updating some of the readme with planned features: [Does it come with editors?](https://github.com/cyclonic-games/vorge/blob/master/readme.md#does-it-come-with-editors) --- #### **Does it come with editors?** Yes, it will! I want to bake the engine and server out, work on the git-based package management, then jump right into developing the editors/creation suite. It will also be JavaScript and probably run on Electron. ##### **Future Planned Features** - Extensions (Make your own tools!) - Tile Map Editor - Quest Editor - Entity Editor - Script Editor - UI Designer - Deployment Manager (CI/CD) - TBD
  14. I just want to show off some code here. The following is an example of a plugin. It's called "common" and ships with the engine to help you get up and running without the included boilerplate. ```javascript const Plugin = require('../../core/Plugin'); const Gamepad = require('./devices/Gamepad'); const Keyboard = require('./devices/Keyboard'); const Mouse = require('./devices/Mouse'); const fragment = require('./shaders/default/fragment'); const vertex = require('./shaders/default/vertex'); const authorize = require('./tasks/authorize'); const handshake = require('./tasks/handshake'); const spawn = require('./tasks/spawn'); module.exports = new Plugin('common', game => { game.devices.install(new Gamepad('gamepad')); game.devices.install(new Keyboard('keyboard')); game.devices.install(new Mouse('mouse')); game.tasks.subscribe('handshake').forEach(method => handshake.apply(game, method.arguments)); game.tasks.subscribe('authorize').forEach(method => authorize.apply(game, method.arguments)); game.tasks.subscribe('spawn').forEach(method => spawn.apply(game, method.arguments)); game.viewport.subscribe('mount').forEach(() => { game.renderer.bind('default', [ fragment, vertex ]); }); }); ``` It should be pretty simple to follow; it registers input devices, subscribes to tasks from the server, and then binds the webgl context to a "default" program (pair of shaders). I'll be posting other snippets of code here and there to show off the API.
  15. ```markdown __ _ ____ ____ ____ ____ || // // \\ // \\ // \\ // \\ || // // // // // // //___// ||// // // // // // // |// \\__// // \\__// \\__// // \\__// ``` **Extensible/Modular, Event-Driven, Multiplayer, Entity/Component/System-Powered JavaScript Game Engine** https://github.com/cyclonic-games/vorge --- #### **What is it exactly?** The tagline says it all, if not too much. Vorge is built to be focused around ECS and event-driven programming. With WebSockets for networking, and WebGL for rendering, Vorge is fast and powerful enough for most projects (especially for 4:3 2D online RPGs). --- #### **What are the features?** Before I list them out, it's important to understand how Vorge works. The basic idea is to create a high-throughput application scaffolding that allows for several ways of customization. Vorge ships with some basic, common functionality in the shape of **Modules**, **Libraries**, and **Plugins**, but Vorge itself is just designed to handle data flow and communication between moving parts (including client server). ##### **Modules** Vorge modules are essentially core blocks of logic that make up the majority of the internal logic of the engine. Modules allow you to replace existing modules or create entirely new ones that add unique functionality. ##### **Libraries** With an Entity/Component/System architecture, managing all of these objects can become difficult. Libraries in Vorge consist of prebuilt entities, components, and systems that you can reference in your modules, other libraries, or plugins. ##### **Plugins** These are simple; want to run some code when the game is instantiated. This allows you to subscribe to events, swap modules, communicate with the server, among many other things. --- #### **But seriously, what are the features?** High-ish throughput networking via WebSockets High-ish performance graphics via WebGL 100% Web compatible, meaning completely cross-platform Event Driven; hook into the engine's event system and react to engine internals Entity/Component/System -- look it up, it's all the rage Flexible customization toolkit Git-based package management Open Source & 100% Free TBD --- #### **But does it have pets system?** The basic functionality that vorge ships with is enough to get a simple online RPG up and running. I will be working on my own game while I polish up the engine, and all of the modules, libraries, and plugins that I develop for my game I will release as open source for you to use in your games. This means that yes, if someone writes you the plugin, Vorge can support a pets system, and so much more. ##### **Future Planned Features** - Particles (render beautiful particles) - Electron (run your game as a desktop app) - Offline (make a single player game) - Discord (integrate with discord and its api) - Web-based administration panel for the server - TBD --- #### **Does it come with editors?** Yes, it will! I want to bake the engine and server out, work on the git-based package management, then jump right into developing the editors/creation suite. It will also be JavaScript and probably run on Electron. ##### **Future Planned Features** - TBD --- #### **Screenshots** None yet. I know. Vorge is actually decently far along in production, but the focus has been lower level internals. There's not a whole lot to show, visually, but you should check out the github: https://github.com/cyclonic-games
  16. I should say as full disclosure from my perspective, I work as a Senior Engineer for one of the largest retailers in the world. I've worked with a lot of different engineers from all backgrounds and skill levels, and the very best ones that I've either mentored or have been mentored from have been the ones that care and have passion for their work. Everything falls by the wayside if you simply don't care. Could I also code an entire 2D game from scratch? Yeah, probably, but could I build an entire website (server+ client) from the ground up without consulting google and MDN? Absolutely not.
  17. In my experience, what makes a good programmer is passion. If you need to look things up every now and then, fine, but as long as you actually care about code quality, and about architecting good solutions to bad problems, then you're a good programmer. That being said, if you don't have passion for it, find a different career path, and save your potential future coworkers a headache.
  18. Chief

    Engine making

    You would probably have more success if you listed out the features that you need. This would give people a better idea if they can help you or not.
  19. I dunno about your claim; crystalshire was really popular when it first launched.
  20. It's not so much about the luminosity, but rather the visible spectrum of colours available to you at variable depths. I'd take some time to do some research into it.
  21. As a scuba diver, I'd say that it's important to note that the deeper you go, you start to lose colours. If you google it, you can get a better idea of how to maybe tweak some shaders to accommodate a more realistic feel based off of this information. Realism aside, though, it looks very interesting. I'd be interested in seeing more later.
  22. Serious response; there has been a shit ton of legal issues for people running grey-area loop-hole gambling sites for valve games… what kind of steps have you taken to mitigate these?
  23. Yeah, guys, stop picking on #1 entrepreneur Link.
  24. ![](http://cdnph.upi.com/sv/b/upi/UPI-1491383339319/2013/1/6002b7f54515d67a9d365ce752d993dc/Guy-Fieri-gets-into-heated-fight-with-hairdresser-caught-on-video.jpg)
×
×
  • Create New...