Update worklog 1-24-22
This commit is contained in:
		
							parent
							
								
									60b493901c
								
							
						
					
					
						commit
						d5ec750c7f
					
				
							
								
								
									
										25
									
								
								spec.txt
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								spec.txt
									
									
									
									
									
								
							| @ -61,7 +61,7 @@ be a decision made on how this will work. I'm leaning towards one of three optio | |||||||
| Maybe in the future we can make a frontend for making and playing stories | Maybe in the future we can make a frontend for making and playing stories | ||||||
| as a web interface, but we could make the interface pluggable as far as the backend is concerned. | as a web interface, but we could make the interface pluggable as far as the backend is concerned. | ||||||
| 2) I build this non-traditional game in a traditional game engine (Godot probably). This ensures cross-platform | 2) I build this non-traditional game in a traditional game engine (Godot probably). This ensures cross-platform | ||||||
| availibility. I'm not 100% sure about my ability to use parsers in Godot, but this looks like a good option. | availability. I'm not 100% sure about my ability to use parsers in Godot, but this looks like a good option. | ||||||
| 3) I build this as a reactive web page. I know this sounds like a terrible idea, but there are actually a lot | 3) I build this as a reactive web page. I know this sounds like a terrible idea, but there are actually a lot | ||||||
| of cool image and text transition libraries out there. It does mean setting up something like React tho, which | of cool image and text transition libraries out there. It does mean setting up something like React tho, which | ||||||
| like, just kill me now | like, just kill me now | ||||||
| @ -70,7 +70,7 @@ Out of the three of these I think the Java thing would be the easiest and I thin | |||||||
| 
 | 
 | ||||||
| 12/26/21 | 12/26/21 | ||||||
| Merry Christmas! Forgot to update this for a bit, but let's talk turkey about what's been done so far. I decided to | Merry Christmas! Forgot to update this for a bit, but let's talk turkey about what's been done so far. I decided to | ||||||
| implement this as a C++ project for portibility. I know Java might have technically been more portible, but I'm | implement this as a C++ project for portability. I know Java might have technically been more portable, but I'm | ||||||
| thinking Godot is in the near future for this and Javascript has something like a FFI so I went for a C project | thinking Godot is in the near future for this and Javascript has something like a FFI so I went for a C project | ||||||
| called "peg/leg" (`man peg` weirdly...) to implement the language. I can't recommend the project, it is not copyleft | called "peg/leg" (`man peg` weirdly...) to implement the language. I can't recommend the project, it is not copyleft | ||||||
| and although the "leg" tool provides a lex/yacc-like interface but it does a terrible job of documenting the peg semantic | and although the "leg" tool provides a lex/yacc-like interface but it does a terrible job of documenting the peg semantic | ||||||
| @ -78,13 +78,13 @@ actions, (like how the fuck the * operator works or how to properly use the pred | |||||||
| up missing (%nterm, $1, yyin). I like PEGs, but if I could do this again I'd just use flex/bison. | up missing (%nterm, $1, yyin). I like PEGs, but if I could do this again I'd just use flex/bison. | ||||||
| 
 | 
 | ||||||
| Where to go from here? I could just start integrating this into a Godot project. Right now I'm making a little command | Where to go from here? I could just start integrating this into a Godot project. Right now I'm making a little command | ||||||
| line driver to test it out. Portibility? This project is gonna be small and I could just use submodules, or just little | line driver to test it out. Portability? This project is gonna be small and I could just use submodules, or just little | ||||||
| subprojects in the same project for each interface (Web/Godot/Whatever else). At this point I've written so little code | subprojects in the same project for each interface (Web/Godot/Whatever else). At this point I've written so little code | ||||||
| that I think I could just port it to each project as well. For Godot I'm pretty sure I'll have to integrate it with | that I think I could just port it to each project as well. For Godot I'm pretty sure I'll have to integrate it with | ||||||
| the SCons build that they provide on their website, so I probably can't link to a .so file. | the SCons build that they provide on their website, so I probably can't link to a .so file. | ||||||
| 
 | 
 | ||||||
| 12/30/21 | 12/30/21 | ||||||
| I tried to migrate to a library "pegtl", which is pegs implemented using the C++ standard template libray. It was a bit | I tried to migrate to a library "pegtl", which is pegs implemented using the C++ standard template library. It was a bit | ||||||
| of a bust. The project was very deep, very academic and hard to pick up, especially since I'm not really a C++ guy. Guess | of a bust. The project was very deep, very academic and hard to pick up, especially since I'm not really a C++ guy. Guess | ||||||
| I'll just keep chugging with what I've got. | I'll just keep chugging with what I've got. | ||||||
| 
 | 
 | ||||||
| @ -108,7 +108,7 @@ action in the optional as well. Oh well lesson learned. Maybe some day I'll writ | |||||||
| Next up is definitely the Godot Native module. I've already read a bit about how to do it, but I know there will be a few hitches | Next up is definitely the Godot Native module. I've already read a bit about how to do it, but I know there will be a few hitches | ||||||
| here and there. Also I want to convert the base module to use entirely c++ semantics, with the exception of printf since I'm not | here and there. Also I want to convert the base module to use entirely c++ semantics, with the exception of printf since I'm not | ||||||
| sure if there is a c++ parallel, which is a bit odd. C++ is weird, no wonder I've avoided using it until now. It seems like c++ | sure if there is a c++ parallel, which is a bit odd. C++ is weird, no wonder I've avoided using it until now. It seems like c++ | ||||||
| developers spend a lot of time coming up with new ways to do things, then declaring them unidomatic and banning them. I guess | developers spend a lot of time coming up with new ways to do things, then declaring them unidiomatic and banning them. I guess | ||||||
| that's kind of a trend with higher level languages as they get older cough Java cough. Regardless, I need to learn it and this | that's kind of a trend with higher level languages as they get older cough Java cough. Regardless, I need to learn it and this | ||||||
| is as good of a project as any. | is as good of a project as any. | ||||||
| 
 | 
 | ||||||
| @ -134,3 +134,18 @@ Okay this project is taking a really long time. At this point it was really just | |||||||
| to make this into a game! Up next is GODOT, it's that time now. Really got to take care of business. Rust stuff is done and somewhat | to make this into a game! Up next is GODOT, it's that time now. Really got to take care of business. Rust stuff is done and somewhat | ||||||
| in, I've left the old library for now. Also the "rust-ffi-demo" should really just be the CLI program now, but it's missing the game | in, I've left the old library for now. Also the "rust-ffi-demo" should really just be the CLI program now, but it's missing the game | ||||||
| logic. I've decided the library won't handle that anyway, I'll try and make the library just read the stories and handle the pages. | logic. I've decided the library won't handle that anyway, I'll try and make the library just read the stories and handle the pages. | ||||||
|  | 
 | ||||||
|  | 1/24/22 | ||||||
|  | 
 | ||||||
|  | So putting the whole project into a C-ABI compatible library was pretty exhausting but it's done now, and I was about half way | ||||||
|  | through translating that into a Godot Nativescript module when I found the Rust "gdnative" package. It just does almost | ||||||
|  | everything for you. On one hand I'm upset that I spent so much time on the C stuff but whatever. Rust apparently lets you | ||||||
|  | add submodules right into your project, so that's all done. | ||||||
|  | 
 | ||||||
|  | Do we want to call it a day? Nope. Here's a list of changes | ||||||
|  | 1. Titles and authorship should be in the file. This means that a book is no longer a list of pages. Good thing I changed to | ||||||
|  | a more flexible peg parser. | ||||||
|  | 2. Options with stat checks and changes should only happen the first time. That or ban circular stories altogether. (Let's hold off on this for now...) | ||||||
|  | 3. Multiple stat check and change blocks per option should be permitted. | ||||||
|  | 
 | ||||||
|  | I should really show this to Pam soon, I just want to get one example working that isn't totally embarrassing. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user