planimeter / game-engine-2d Goto Github PK
View Code? Open in Web Editor NEWPlanimeter Game Engine 2D - LÖVE-based game engine for Lua
Home Page: https://github.com/Planimeter/game-engine-2d/wiki
License: MIT License
Planimeter Game Engine 2D - LÖVE-based game engine for Lua
Home Page: https://github.com/Planimeter/game-engine-2d/wiki
License: MIT License
A format will be needed for the upcoming spritesheet animation implementation for entities. This should include animation names, and frame locations at minimum for the initial implementation.
As of current commit (19b68ed), when attempting to run the linux version of Grid-sdk, the following syntax error is given upon executing "debug game.sh":
dasomeone@NR-Desknix:~/Documents/GRID-SDK/grid-sdk$ ./debug\ game.sh
Grid Engine
Launching Grid Engine 64-bit in debug . . .
./bin/x64/macosx-x64/love.app/Contents/MacOS/love: 1: ./bin/x64/macosx-x64/love.���H__PAGEZERO��h�__TEXT�@@: not found
./bin/x64/macosx-x64/love.app/Contents/MacOS/love: 2: ./bin/x64/macosx-x64/love.app/Contents/MacOS/love: Syntax error: word unexpected (expecting ")")
Hey folks! We'd like Grid v1.8.0
to include some basic spritesheet animation functionality, so you don't have to roll your own anymore. Below are comments regarding this format. @Planimeter would love to have your input on the matter.
Marking of text should be possible using mouse.
In v1.0.0-beta
naive entity synchronization was addressed by sending entitySpawned
payloads after a player connected. It's recently been discovered that sending these payloads before the client has initialized the game
interface causes a crash in engine.shared.entities
with the entitySpawned
payload handler.
This critical bug affects all multiplayer Grid games and is scheduled to be fixed tonight.
Request for functionality to move out of engine
and into game
for 1.7.0
scheduled this weekend.
Proposed moves:
engine.shared.entities.entity
engine.shared.entities.npc
engine.shared.entities.player
After saving over an image in debug mode, the image is suppose to live reload.
Regions currently do not set the background color from backgroundcolor
.
Löve2D's audio interface does lack in certain departments.
Features that probably should be in the interface:
(This is just an idea, not a requirement!)
This is queued for v1.4.0
.
Interface methods:
chat.addText( text )
chat.activate()
chat.close()
On OSX, and probably Linux, I had to chmod +x the love executable before I could run the script. While easy to do, It would be nice if the shell scripts did this themselves.
Currently, Grid uses build numbers alone as indicated on its site and indicated by Vertex Adventure's internal repository on Bitbucket, because we're in a pre-alpha stage.
After the Entity Synchronization milestone, we'll officially be moving into an alpha/beta phase, and be stable with some features left to be desired, such as entity animations, and final additions to the GUI subsystem. There will not be a feature freeze at this point.
It's at this time, Grid will be 1.0.0-beta, with the Entity Animations milestone following as 1.1.0. 1.0.0-beta will be the start of us releasing binaries on GitHub in the Releases section.
I want to thank the developers at Facepunch, most notably the veterans from WAYWO who have encouraged me in Grid and Vertex Adventure's development since 2013 as a side project in my spare time, and the contributors who have helped along the way, including former volunteers from Team Sandbox and the Half-Life 2: Sandbox project.
Just leaving this here briefly.
Could A* be a better alternative by any chance?
I think it could perhaps be broken, or I'm doing some stupid error.
function thefunction(args)
profile.start("a")
**function code**
profile.stop("a")
end
The above does cause an error which goes along the lines of 'attempt to index global 'profile' (a nil value) on profile.start(), this might be an user error, not necesarily something broken, just need new eyes on it.
Currently the bind system in Grid causes GUI callbacks to fire as well as bindings to dispatch their concommands. Catching the textinput events and preventing bindings from occuring should fix this behavior.
player:move()
currently jumps players' positions to pathfinding nodes one at a time, rather than interpolating their positions. Research interpolating players' positions and solve the following questions:
Should Grid implement generic interpolating or easing functions for usage across various subsystems? gui
currently has its own ease and animate functionality.
How should Grid provide player or general movement acceleration? Should this be done on a per entity basis?
How should this integrate with players' or all entities' animations if interpolating all entity movement? How should footstep sounds be integrated?
How should players teleporting or players moving instantaneously somewhere else over long distances factor into this?
Extend player.png
to include player walking animations.
Attempting to run the engine in debug mode, from fresh direct clone of current repo (commit 19b68ed) gives:
Error: engine/client/graphics.lua:64: bad argument #1 to 'draw' )Drawable expected, got table)
stack traceback:
[C]: in function 'draw'
engine/client/graphics.lua:64: in function 'draw'
engine/client/graphics.lua:113: in function 'drawGrid'
engine/client/init.lua:158: in function 'draw'
[string "boot.lua"]:427: in function ([string "boot.lua"]:389)
[C]: in function 'xpcall'
Hey Planimeter -
I have a few questions about Grid-SDK.
Thank you for your time,
HeadClot
Any functions pushed to be drawn to the world lag behind a frame, due to the hierarchy in which they're pushed.
Fixing this requires a pre-world draw pass for gui elements, in order to know where the worldspace panels need to end up.
Console commands should have an autocomplete callback. These can be implemented in engine.shared.concommand
and should be called upon by the autocomplete private function in engine.client.gui.console
.
Merge #27, #28, and #30 by @vrondakis upstream to vertex-adventure
on Bitbucket.
Hey folks, Planimeter wants to showcase your work in Grid! We'd like to place a rotating showcase sample on the front page of http://www.andrewmcwatters.com/grid/ as well as a full expo at http://www.andrewmcwatters.com/grid/expo
When graphics.drawGrid()
is commented out, the behavior of all graphics.rectangle()
calls changes. graphics.rectangle()
then proceeds to draw through subpixels.
Clicking on "Use Defaults" in the keyboard options menu should default all bindings, but not save them until the user clicks OK or Apply.
Default player movement currently allows you to stop in-between tile positions. Add a path queue that prevents changing move paths while moving.
Clicking on "Advanced" in the keyboard options menu should bring up a modal allowing the user to toggle things like enabling the developer console.
title.
There appears to be some inconsistencies with the current implementation in path.getPath()
. It's probably better to rewrite this at this point having learned from it's integration with Grid what needs to be done in regards to interfacing with the region
class.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.