Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

trivial-gamekit Support Thread

A topic by borodust created Apr 18, 2019 Views: 804 Replies: 11
Viewing posts 1 to 5
Submitted(+1)

If you have questions regarding trivial-gamekit, feel free to shoot them here or in #lispgames IRC channel at freenode.net. I'll try my best to answer them as soon as possible.

Useful links:

* Getting Started guide

* User Manual

Submitted(+1)

I'm working through your getting started guide and get an error on first example in the Input section (the bind-cursor form):

There is no applicable method for the generic function
  #<STANDARD-GENERIC-FUNCTION BODGE-CONCURRENCY::INSTANCE-LOCK-OF (1)>
when called with arguments
  (NIL).
   [Condition of type SB-PCL::NO-APPLICABLE-METHOD-ERROR]
(+1)

Put those bind-* methods inside a gamekit:post-initialize:


(defmethod gamekit:post-initialize ((this example))
    ;bind methods here)
Submitted(+2)

Thank you greatly, works like a charm.

Submitted

CuriousCain, thank you!

smithzv, I do agree that's quite inconvenient - gonna fix it in the next gamekit release (https://github.com/borodust/trivial-gamekit/issues/39)

Submitted (1 edit)

I'm having trouble restarting my game with trivial-gamekit. Evaluation aborted on #<SIMPLE-ERROR "Only one active system of type 'appkit-system is allowed">

Is there a way to kill the 'appkit-system thread? I tried with (stop) but it's not working. My workaround for this is to close slime and reload everything, but its really annoying. Any ideas?

*edit*

The game runs fine for now. I think my code was breaking something and SBCL became unresponsive, not destroying the game process, even with (stop) calls.

Awesome library by the way! Very simple, it helps me a lot since I'm new to the lisp world.

(+1)

If an uncaught error occurs during runtime, you'll get this issue. There's not much, in the way of a workaround, for now other than restarting SLIME. Borodust and I are working on a fix for this but I'm not sure if we'll have something workable before the end of the game jam. Sorry about that.

Submitted(+1)

Oh I see. Thanks for the quick response. I'm having trouble with quicklisp aswell, as it doesn't recognize the game's asdf system, so I have to manually load everything. Pain.

Submitted (1 edit) (+1)

Put your game directory into ~/quicklisp/local-projects. Just in case, give the same name to the game directory, .asd file and your system, e.g. if your system name (as specified via asdf:defsystem) is efeijo-game then ~/quicklisp/local-projects/efeijo-game/efeijo-game.asd

Submitted(+1)

Thanks for the helpful advice. For some strange reason, today I restarted emacs and the game system loaded on first try! I didn't figure out what was the error source, but I remember sbcl was trying to compile "packages.lisp" from /tmp/packages.lisp, which doesn't exist.

Submitted(+1)

If you drop into debugger, don't hit 'abort restart, invoke either 'rerun-flow-block or 'skip-flow-block after fixing a problem. If that doesn't help and you keep getting an error - still don't 'abort, but run (gamekit:stop) in the REPL and then invoke 'skip-flow-block restart - that should shutdown the engine gracefully, and you should be able to #'gamekit:start your game again. If all goes left, then just restart the implementation (should be a very rare thing). That's not very convenient and gonna be fixed in https://github.com/borodust/trivial-gamekit/issues/40.

Submitted(+1)

That's good to know. I'm still experimenting with lisp and your library, and it's been very satisfactory. Thanks again, and I hope I can contribute someday =)