Code Monkey home page Code Monkey logo

sucle's People

Contributors

daveloyall avatar gregcman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sucle's Issues

Thank you

I just wanna say thank you for creating and realizing this project. This is pretty amazing!!

Error "System "claw-support" not found" when installing sucle from the latest quicklisp and ultralisp

Running the latest Sucle from master branch (on OSX):

[art@art-osx:~/projects/lisp/sucle]% CL_SOURCE_REGISTRY=`pwd`// rlwrap ros run
* (ql-dist:all-dists)
(#<QL-DIST:DIST quicklisp 2019-12-27> #<QL-DIST:DIST ultralisp 20200119224507>)
* (ql:quickload :sucle)
To load "sucle":
  Load 1 ASDF system:
    sucle
; Loading "sucle"

debugger invoked on a QUICKLISP-CLIENT:SYSTEM-NOT-FOUND in thread
#<THREAD "main thread" RUNNING {10005084C3}>:
  System "claw-support" not found

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Try again
  1: [ABORT   ] Give up on "bodge-glfw"
  2:            Give up on "sucle"
  3:            Exit debugger, returning to top level.

Physics system plans

I see that the physics system is not super extensible at the moment. Leaning in to generic functions and CLOS could make it easier to deal with as long as it wouldn't be too slow, though that could be premature optimization talking.
I did some light refactoring purely for my own benefit here (not change reccomendations)
https://github.com/Drainful/sucle/blob/physics-refactor/src/sucle/physics%2B%2B.lisp

I'm curious about your plans/goals for the physics system, and I'm interested in helping out if you're open to it.

Dirt blocks

Is it intended, that dirt block have height 1/2 now?

GLSL issue

When I try to start sucle, I always get this error for some reason:

sucle-error
sucle-error-2
sucle-error-3

Any idea what the issue could be?

Does not starts on OSX 10.11.6 and SBCL 1.4.11

When I call start function, lisp exists with SIGABRT and prints following traces in the inferior lisp buffer:

2018-12-02 00:34:11.848 sbcl[27721:28050727] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1259.32/Misc.subproj/NSUndoManager.m:359
2018-12-02 00:34:11.849 sbcl[27721:28050727] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.
2018-12-02 00:34:11.850 sbcl[27721:28050727] (
	0   CoreFoundation                      0x00007fff904f9452 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff94f9ef7e objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff904fe16a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff8ea0c866 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff8e9918d1 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff87b87e22 -[NSApplication run] + 844
	6   libglfw.3.dylib                     0x0000000002419f7c initializeAppKit + 1420
	7   libglfw.3.dylib                     0x0000000002419641 _glfwPlatformCreateWindow + 35
	8   libglfw.3.dylib                     0x0000000002415430 glfwCreateWindow + 487
	9   ???                                 0x00000000228f5375 0x0 + 579818357
)
2018-12-02 00:34:11.851 sbcl[27721:28050727] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1259.32/Misc.subproj/NSUndoManager.m:359
2018-12-02 00:34:11.851 sbcl[27721:28050727] An uncaught exception was raised
2018-12-02 00:34:11.851 sbcl[27721:28050727] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.
2018-12-02 00:34:11.851 sbcl[27721:28050727] (
	0   CoreFoundation                      0x00007fff904f9452 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff94f9ef7e objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff904fe16a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff8ea0c866 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff8e9918d1 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff87b87ebe -[NSApplication run] + 1000
	6   libglfw.3.dylib                     0x0000000002419f7c initializeAppKit + 1420
	7   libglfw.3.dylib                     0x0000000002419641 _glfwPlatformCreateWindow + 35
	8   libglfw.3.dylib                     0x0000000002415430 glfwCreateWindow + 487
	9   ???                                 0x00000000228f5375 0x0 + 579818357
)
2018-12-02 00:34:11.851 sbcl[27721:28050727] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff904f9452 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff94f9ef7e objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff904fe16a +[NSException raise:format:arguments:] + 106
	3   Foundation                          0x00007fff8ea0c866 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
	4   Foundation                          0x00007fff8e9918d1 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fff87b87ebe -[NSApplication run] + 1000
	6   libglfw.3.dylib                     0x0000000002419f7c initializeAppKit + 1420
	7   libglfw.3.dylib                     0x0000000002419641 _glfwPlatformCreateWindow + 35
	8   libglfw.3.dylib                     0x0000000002415430 glfwCreateWindow + 487
	9   ???                                 0x00000000228f5375 0x0 + 579818357
)
libc++abi.dylib: terminating with uncaught exception of type NSException
fatal error encountered in SBCL pid 27721(tid 0xb0010000):
SIGABRT received.


Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb> 
Process inferior-lisp exited abnormally with code 1

sucle:start crashes on Windows 10 64-bit

I installed sucle per the instructions on my Windows 10 x64 box, and everything works up until (sucle:start), when I get this message:

* (ql:quickload :sucle)
To load "sucle":
  Load 1 ASDF system:
    sucle
; Loading "sucle"
.............
(:SUCLE)
* (sucle:start)
#<SB-THREAD:THREAD "Anonymous thread" RUNNING {1006207803}>
*
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "Anonymous thread" RUNNING {1006207803}>:
  An exception occurred in context #.(SB-SYS:INT-SAP #X03C0D0F0): #.(SB-SYS:INT-SAP #X03C0DD50). (Exception code: 1073807370)`

glfw is unfriendly to non-FHS complient systems (e.g. Nix, Guix)

On Guix, trying to quickload sucle, I get this error:

Unable to load foreign library (LIBGLFW.SO.BODGED-586).
  Error opening shared object "/home/ambrevar/.quicklisp/dists/quicklisp/software/glfw-blob-stable-5af92db3-git/x86_64/libglfw.so.bodged":
  libX11.so.6: cannot open shared object file: No such file or directory.

Indeed:

> ldd libglfw.so.bodged 
ldd: warning: you do not have execution permission for `./libglfw.so.bodged'
	linux-vdso.so.1 (0x00007fff48701000)
	librt.so.1 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/librt.so.1 (0x00007f05cd4d9000)
	libm.so.6 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libm.so.6 (0x00007f05cd358000)
	libdl.so.2 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libdl.so.2 (0x00007f05cd353000)
	libX11.so.6 => not found
	libpthread.so.0 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libpthread.so.0 (0x00007f05cd332000)
	libXrandr.so.2 => not found
	libXinerama.so.1 => not found
	libXxf86vm.so.1 => not found
	libXcursor.so.1 => not found
	libc.so.6 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libc.so.6 (0x00007f05cd177000)
	/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2 (0x00007f05cd705000)

This is because Guix (like Nix) does not follow the FHS and the libraries are stored in /gnu/store, with symlinks created to ~/.guix-profile/ if the user installs them.

I can hard-patch the libraries, but this is not ideal.
Any other way?

More generally, why do we need to rely on binary libraries here, why not glfw as provided by the system?

I'm also uncomfortable running a random untrusted binary distributed over the Internet, this is a huge security issue. What do you think?

OpenGL 2.1

Any plans on supporting PCs with OpenGL 2.1? Aforementioned Minecraft supports it and its widespread across old PCs like mine.

Error "Symbol "DEFCALLBACK" not found in the CLAW package"

Unable to load Sucle with the latest quicklisp dists:

…
[package claw-utils]..............................
[package glfw]....................................
[package window]..
;
; caught ERROR:
;   READ error during COMPILE-FILE:
;
;     Symbol "DEFCALLBACK" not found in the CLAW package.
;
;       Line: 377, Column: 20, File-Position: 9755
;
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /Users/art/projects/lisp/sucle/src/window/glfw3.lisp" {100548B903}>
; Debugger entered on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1002AC3463}>
;
; compilation unit aborted
;   caught 2 fatal ERROR conditions
;   caught 1 ERROR condition
[1] CL-USER>
; Evaluation aborted on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1002AC3463}>
CL-USER> (ql:where-is-system :claw)
#P"/Users/art/.roswell/lisp/quicklisp/dists/org.borodust.bodge/software/claw-20191116131925/"
CL-USER> (ql-dist:all-dists)
(#<QL-DIST:DIST org.borodust.bodge 20191116132028>
 #<QL-DIST:DIST quicklisp 2019-12-27> #<QL-DIST:DIST ultralisp 20200129120504>)

Non standard source formatting often reduces readability

Compare the following 2 screenshots:

Current formatting. Without counting parentheses (or using delimiter coloration) it's unclear how many arguments are being passed to sucle-mp:submit.
screen

Formatted with slime. Indentation makes it clear that it has been called with 1 standard argument and 2 keyword arguments
screen01

There seem to be many cases resembling the above. If this is how you prefer to indent your code then feel free to ignore/close, but otherwise I'd be happy to tweak the formatting as I read through.

Black screen "Untitled Window" on Peppermint 10 (Ubuntu 18)

I'm using SBCL, Emacs + SLIME and quicklisp and i unfortunately can't get it to work 😞
Here's the output of glxinfo:
OpenGL vendor string: X.Org OpenGL renderer string: AMD PALM (DRM 2.50.0 / 4.18.0-18-generic, LLVM 7.0.0) OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.8 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.1 Mesa 18.2.8 OpenGL shading language version string: 1.40 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.2.8 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions:
And here's a screenshot of what i have achieved so far...
Screenshot_2019-07-28_12:49:29

sucle:start crashes on high sierra

Hi, this project looks like a lot of fun - thanks for putting it out there! Unfortunately it hasn't worked for me yet.

I'm running with glfw-3.2.1 installed via homebrew on OSX high sierra, SBCL 1.4.12 installed via roswell.

(ql:quickload :sucle) ;; works
(sucle:start) ;; hangs and emits the following in inferior-lisp buffer:

2018-12-02 18:25:29.384 sbcl[3798:3804716] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /BuildRoot/Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1454.90/Foundation/Misc.subproj/NSUndoManager.m:361
2018-12-02 18:25:29.385 sbcl[3798:3804716] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff4cd9a2db __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fff73f4fc76 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff4cda0072 +[NSException raise:format:arguments:] + 98
	3   Foundation                          0x00007fff4eec9340 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193
	4   Foundation                          0x00007fff4ee57f44 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 469
	5   AppKit                              0x00007fff4a2a496e -[NSApplication run] + 997
	6   libglfw.3.dylib                     0x00000000001ef03f initializeAppKit + 1393
	7   libglfw.3.dylib                     0x00000000001ee706 _glfwPlatformCreateWindow + 34
	8   libglfw.3.dylib                     0x00000000001ea592 glfwCreateWindow + 443
	9   ???                                 0x00000000228606e8 0x0 + 579208936
	10  ???                                 0x00000000228680b8 0x0 + 579240120
	11  ???                                 0x0000000022875040 0x0 + 579293248
	12  ???                                 0x00000000228aabbf 0x0 + 579513279
	13  ???                                 0x0000000021c7a1f6 0x0 + 566731254
	14  ???                                 0x0000000021b36753 0x0 + 565405523
)
libc++abi.dylib: terminating with uncaught exception of type NSException
fatal error encountered in SBCL pid 3798(tid 0xb000e000):
SIGABRT received.


Error opening /dev/tty: Device not configured
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb> 

apt-get install libglfw3-dev

Hi! Just a nitpick, but on Ubuntu 16.04, I needed apt-get install libglfw3-dev (instead of libglfw3 as described in current INSTALL.md) to compile.

Trying to quickload sucle

COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "window" "glfw3">
   [Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]

Help Wanted in refactoring to use vertex arrays

Hello! I am a Lisp beginner, and this project looks like a fun way to tinker with an existing codebase.

However, I have the same issue as #9 , where textures do not appear. glxinfo | grep -i opengl confirms I am using OpenGL version 3.2, which no longer supports display lists. (For other OpenGL newbies like me, I found these online class notes helpful for understanding the difference between display lists and vertex arrays.)

I can confirm my local development setup (using lem) is working, as I can make some changes to things like the sky-color here and re-evaluate it and see my changes.

My current understanding is that the code change will need to be in application/subsystems/sandbox/change-world.lisp, where at the top of the file you find a draw-world function that iterates over all the data in the *g/chunk-call-list* and uses gl:call-list to execute the display list. The equivalent for vertex arrays seems to be something like gl:draw-elements, which i see in use in the draw-vertex-array function in src/opengl/glhelp.lisp.

So it looks like this functionality is (partly) implemented? But I'm not sure how to plug this into the existing code. I'm thinking i'll need to initialize a vao object, and then change set-chunk-display-list to update this vao object, and then call draw-vertex-array in the draw-world function.

I see some code that looks apropos in dump.lisp under the 'drawing' heading, but my first attempts at cargo-culting what i saw there were unsuccessful, so i figured I'd try opening an issue as the INSTALL.md suggested. Any pointers would be greatly appreciated!

Thank you for releasing this! I'm hoping i can see it for myself soon 🙂

No textures

Hello, I've followed your instruction to run sucle on Arch Linux using SBCL.

The game runs fine, except it start with a black screen, and then I have no textures.

Still cant get sucle to load after a year.

[package window]..
; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Symbol "DEFCALLBACK" not found in the CLAW package.
;   
;       Line: 393, Column: 20, File-Position: 10436
;   
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/aun/quicklisp/dists/quicklisp/software/sucle-20200325-git/src/window/glfw3.lisp" {1004CE9A73}>
.
; Debugger entered on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1005999FF3}>

I even deleted all the directories to make quicklisp load me a new one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.