DragonPrime - LoGD Resource Community

Core Code Development Discussions => Core Development Discussion => Topic started by: austenmc on October 11, 2015, 10:23:19 PM



Title: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 11, 2015, 10:23:19 PM
What is Project Daenerys?
A rewrite of the LotGD core code with modern technologies (Hack, Laravel, GraphQL), started by austenmc, targeted at producing a generic (headless) game, that can power a web or mobile experience. See the original set of posts at http://dragonprime.net/index.php?topic=12718.msg106160#msg106160 (http://dragonprime.net/index.php?topic=12718.msg106160#msg106160)

The code is under development on GitHub: https://github.com/lotgd/core (https://github.com/lotgd/core).

Why rewrite the core? Isn't it better to start with what we have?
Originally, I didn't want to rewrite the core and, like I said in my post linked above, I'm still willing to partner with core developers in refactoring the existing codebase, if there's momentum behind real change.

But there doesn't seem to be much momentum for change, nor any developers willing to help. The existing codebase is in a very poor state for doing anything except iteration on the present web experience. Something new is needed if we want to support a more extensible module system (built on GitHub repos) or to support a native mobile client. Preserving existing functionality is lower pri for me personally, and so if I have to go it alone, I'd rather re-write with only the features I need at launch.

You might say, "But austenmc, aren't rewrites considered a Bad Idea?" Yes, in general, rewrites are a poor choice for fixing an old codebase, but not "just because," rather, for very specific reasons:
  • It takes a long time to rewrite all functionality, and new features for existing customers either cannot be added to the codebase while the rewrite is happening or must be written once for the in-production legacy system and once for the future-in-production rewrite.
  • That leads to either to a never-ending rewrite to complete all features or sacrificing features just to ship. Most businesses can't afford to remove features once customers have come to expect them, so they choose the never-ending path, sometimes to devastating effect.
  • You just swap old bugs for new bugs. Rewrites are not a good way to decrease bugs.

Since LotGD is a free product, there's little to no existing development happening, I'm targeting a new set of users (mobile) and I'm not looking for a net decrease in bugs, I don't think a rewrite will be fatal. Plus, the one virtue of a rewrite is that it's generally faster, which is key for my limited free time.

What about all my favorite LotGD features?
Yes, it's true that Daenerys will start with what is basically a LORD clone, and have support for very few, if any, modules. This will probably make the game much less fun than existing servers. I'm ok with that as the mobile experience will create a novelty effect for a while.

Modules can be added over time, starting with the most popular or most requested ones.

Will I be able to convert my existing server?
Perhaps, but initially no. A converter would have to be written and all installed modules would have to be ported. If Daenerys is finished, and there's sufficient interest, I might undertake this task.

How can I help?
Read the README.md and GitHub issues at https://github.com/lotgd/core (https://github.com/lotgd/core).

If you help out, you'll be eligible for hero status in one our weekly updates!

Where can I learn more about Daenerys?
Check out https://github.com/lotgd/core (https://github.com/lotgd/core).

What will I find in this thread?
Weekly updates from me, with progress reports and goals for the coming week.

Why call it Daenerys?
No good reason, other than I needed a name since "the rewrite" is hard to disambiguate. Of course, Daenerys is Mother of Dragons, which seemed appropriate. :)

Why you?
I grew up on LORD, but didn't hear about LotGD until recently, and I need a side project to keep my development skills sharp on backend and iOS. By day, I work for a large Silicon Valley company as an iOS Engineering Manager.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 11, 2015, 10:27:01 PM
Daenerys (LotGD Rewrite) Weekly Update 10/12/2015

Progress
Made progress on the fight system this week. Hard to decide how model and controller should work together here but I think I have a scheme I'm happy with. Scenes will maintain a FightController that handles the computation for each round, returning FightEvents which can be converted into messages with a FightDecorator. Not sure about how to fully test FightController yet as it has so many calls to the RNG.

During the week, I got tired of the fight system, so I took a break to build the weapon and armor shops, which I completed. This required adding a button input type to the forms. Further work would be required to match tabular output format. Perhaps I'll add a tabular button input, but that seemed extreme. These changes are still local on my own box; haven't gotten a chance to commit them yet.

I also registered lot.gd domain for use in this project. It will eventually host the API layer for the mobile app as well as the official Daenerys server.

Next Week's Goals
Finish fight system and master training scene.

Heroes
I'm still alone, so no heroic deeds of others to laud this week. Put up a pull request and be next week's hero!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Boris735 on October 12, 2015, 01:17:36 AM
As a very minor point, possible since you don't care too much about backwards compatibility: If you are planning on a similar output system, I would recommend not having a `% colour code.  That gets rid of needless special cases in the output, and avoids potential error cases of that colour code being treated as a %-substitution.  (I've only seen that happen a handful of times, mind you.)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WorldWizard on October 16, 2015, 09:07:54 AM
This project looks very cool! I might try my hand at contributing code, also.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 18, 2015, 09:48:18 PM
Daenerys (LotGD Rewrite) Weekly Update 10/18/2015

Progress
Finished the fight system this week and the master training scene, but I don't have the serialize/deserialize mechanisms working to properly test it.

After finishing the fight system, I got tired and built Census, a small script to catalog the number of users, including daily and monthly actives, on a list of LotGD servers I quickly put together.

http://github.com/lotgd/census (http://github.com/lotgd/census)

Next Week's Goals
Build serialize/deserialize system to keep Scene state between requests.

Heroes
I'm still alone, so no heroic deeds of others to laud this week. Put up a pull request and be next week's hero!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on October 19, 2015, 12:13:18 PM

[...] I got tired and built Census, a small script to catalog the number of users, including daily and monthly actives, on a list of LotGD servers I quickly put together.

http://github.com/lotgd/census (http://github.com/lotgd/census)

That is very generous of you. Was this meant to be a check for yourself, to see if the community is populated enough to rewrite the entire core? Or was this regarding everyone's hints at their player count?


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 19, 2015, 02:08:16 PM
Mostly to assess and track the market size of LotGD players. Perhaps it will be helpful in the future to assess success of the rewrite but also to help in targeting modules to support etc.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 25, 2015, 05:49:46 PM
Daenerys (LotGD Rewrite) Weekly Update 10/25/2015

Progress
Built a serialize/deserialize mechanism but didn't finish the unit tests or integration with the rest of the game, so haven't tested it. I got sick for three days this week so that was holding me back.

Also, since I had to fix what was the third bug in the Census script, I decided to refactor it into proper classes, with unit tests to more easily move forward. Almost done with that.

Next Week's Goals
Integrate serialize/deserialize system and test Master training scene. Finish refactor of Census.

Heroes
I'm still alone, so no heroic deeds of others to laud this week. Put up a pull request and be next week's hero!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: wmza on October 28, 2015, 12:28:15 AM
Error when trying to run
(http://oi68.tinypic.com/65u63k.jpg)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on October 28, 2015, 08:51:07 AM
Error when trying to run
(http://oi68.tinypic.com/65u63k.jpg)
This belongs more in the slack channel, but I have had this too.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 28, 2015, 08:20:09 PM
This looks like a corrupted download of phpunit. Try removing it and re-installing. Their server is pretty poor so it doesnt always deliver the right bytes :(


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on October 29, 2015, 03:27:05 AM
This looks like a corrupted download of phpunit. Try removing it and re-installing. Their server is pretty poor so it doesnt always deliver the right bytes :(
Well, the same results happen when you list the dependency with composer update. I will try stepping back a few versions this weekend, and provide more in-depth reasoning for this.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 30, 2015, 02:47:21 PM
Ok, phpunit 5.0 came out and doesn't seem to be supported with the version of HHVM that the instructions install.

I updated the instructions at https://github.com/lotgd/core to install version 4.8.6. Sorry about this trouble.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on November 01, 2015, 07:28:10 AM
Daenerys (LotGD Rewrite) Weekly Update 11/1/2015

Progress
This week I went to Swift Summit (http://swiftsummit.com) so I didn't have a lot of time to work on Daenerys. I did begin integrating the serialize/deserialize mechanism into the command line wrapper, for testing.

I also finished the refactor of the Census code and I'm about to push it to production.

Next Week's Goals
Finish integrating serialize/deserialize system and test Master training scene.

Heroes
Stephen.Kise and wma for pointing out that the latest version of phpunit is not working with the hhvm setup we have, and so the installation instructions were broken. This has been fixed. Thanks guys!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on November 09, 2015, 04:37:37 AM
Daenerys (LotGD Rewrite) Weekly Update 11/8/2015

Progress
Still haven't finished the serialize/deserialize mechanism. Been a busy week at work. As part of integrating the mechanism with the command line testing version of LotGD, I realized the form system (where you pass parameters to scenes, like the selected item in the armor shop, for example) was too complex---I was always looking up the code whenever I was using it. So I started a refactor to clean it up with some protocols.

Next Week's Goals
Finish integrating serialize/deserialize system and test Master training scene.

Heroes
Stephen.Kise for pointing out another issue with the installation instructions. I went through them carefully and updated them. Thanks Stephen!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on December 06, 2015, 10:43:02 PM
Daenerys (LotGD Rewrite) Weekly Update 12/6/2015

Progress
Sorry it's been a while; work really heated up and then me and a few members of my family got sick, multiple times :(.

Anyway, I finally wrote a serialize/deserialize mechanism, as well as a rather large refactor to how scenes pass data between them (see previous update).

The reason I dove into serialize/deserialize was to get the fight system working---it doesnt work, but I have to go to bed. Will continue looking at it this week.

Next Week's Goals
Get Master training fights to work.

Heroes
Still looking for folks to take specific tasks. Check out the github issues!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on January 04, 2016, 10:02:30 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 1/4/2016

Progress
The holiday break was not as productive as I would have liked. However, one of my goals for the next six months is to do better at carving out time to work on this side project.

I realized last week that the data models I've been using don't support coherence between model changes: so changes to one model object arent automatically reflected in others that exist in memory.

Because of this, I'm going to have to step back and implement a shim between the underlaying ORM models and the model-like-objects the scenes will use to manipulate the game. I'll do this ad-hoc for now, probably just w/ Player objects since that's where most of the modifications are being made.

This should fix my primary bug in the fight system right now, but also will enable me to be less tied to a specific ORM implementation. I've been considering switching from a traditional relational DB to something in the NoSQL family, like MongoDB, b/c it makes writing modules easier (no fixed schema).

btw, the legacy code doesn't have this coherence issue b/c it's monolithic and accesses data either directly from the DB using SQL or through globals.

Next Week's Goals
Implement ad-hoc shim for coherent models and get master fight scene to work.

Heroes
No one's really come forward to offer any specific help yet :(. Maybe when I get the project to a more functional state, folks here will start to commit some time. Here's to hoping!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on January 29, 2016, 09:51:41 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 1/29/2016

Progress
Got basic master fights working last week after making some changes to how we store data for each scene.

I also spent this week's hackathon at work building a simple React Native prototype for the mobile client. I like RN and will probably use it to build the iOS and Android versions of the app.

Next Week's Goals
Fix storing a stack of scenes for when the user comes back to the site.

Heroes
No one's really come forward to offer any specific help yet :(. Maybe when I get the project to a more functional state, folks here will start to commit some time. Here's to hoping!

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Aeolus on January 30, 2016, 06:04:41 AM
I'd love to offer my full-time support to the project, but my final year of Computer Science at University begins soon, so I don't have much time to spare. :(


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on April 20, 2016, 10:27:59 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 4/20/2016

Progress
Over the past two weeks, @eliwood and I have been working to unify our respective rewrites and have arrived at a path forward which incorporates ideas from both our original approaches.

We've started over in http://github.com/lotgd/core and hope to build web and mobile support for a basic game in the coming months.

With @eliwood's experience in the German LotGD community, he'll be an invaluable partner in making Daenerys a reality.

Care to join us? We have a lot of work to do and need your help!

Next Week's Goals
Still in the early stages, but looks like we'll be tackling basic scene setups, and possibly high-level module architecture decisions.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on April 22, 2016, 09:43:04 PM
Posting to show support. I'd like to assist, but busy with Uni commitments.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on May 24, 2016, 09:34:19 AM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 5/24/2016

Progress
Lots of progress on the Daenerys front by @eliwood and myself.

@eliwood's completed all the basic models we need, including great tests! He also put up a basic battle system that's in review right now.

I built a very simple module system, along with an event publish/subscribe system. Modules will be managed as Composer packages, and we set up a site, http://code.lot.gd, to serve as a repository for future modules. No documentation is ready yet about how to create modules.

Heroes
We had our first outside pull request this week, from https://github.com/nekosune! Thanks so much for addressing some issues with our installation instructions.

Next Week's Goals
Finish the battle system and probably work on getting a basic web front end put up, at least for testing. Then it's on to building some scenes.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on May 24, 2016, 03:31:37 PM
[...] probably work on getting a basic web front end put up, at least for testing. Then it's on to building some scenes.

This is what I have been waiting for. As it stands, the documentation is a bit vague in some areas, and my understanding of the code base (by just glancing over it) is a bit shaky. Maybe once scene management is up I will get a better understanding. I very much like the idea of using composer for module management though. This will make spinning up new servers a breeze in the future. Keep up the good work!


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on May 24, 2016, 03:54:58 PM
(http://i.giphy.com/7rj2ZgttvgomY.gif)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on May 24, 2016, 05:31:00 PM
This is what I have been waiting for. As it stands, the documentation is a bit vague in some areas, and my understanding of the code base (by just glancing over it) is a bit shaky. Maybe once scene management is up I will get a better understanding. I very much like the idea of using composer for module management though. This will make spinning up new servers a breeze in the future. Keep up the good work!

Are you saying you'd contribute if we have better documentation? That can be arranged :)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on May 24, 2016, 06:33:03 PM
This is what I have been waiting for. As it stands, the documentation is a bit vague in some areas, and my understanding of the code base (by just glancing over it) is a bit shaky. Maybe once scene management is up I will get a better understanding. I very much like the idea of using composer for module management though. This will make spinning up new servers a breeze in the future. Keep up the good work!

Are you saying you'd contribute if we have better documentation? That can be arranged :)
(http://i.giphy.com/7rj2ZgttvgomY.gif)

I'll just fanboy in my corner, but please, keep up the work!


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on May 24, 2016, 08:57:22 PM
This is what I have been waiting for. As it stands, the documentation is a bit vague in some areas, and my understanding of the code base (by just glancing over it) is a bit shaky. Maybe once scene management is up I will get a better understanding. I very much like the idea of using composer for module management though. This will make spinning up new servers a breeze in the future. Keep up the good work!

Are you saying you'd contribute if we have better documentation? That can be arranged :)

Actually. Now that I am looking through it all again, it seems as if the majority of what I don't understand is tied into my lack of knowledge in Doctrine ORM. I will have to study up on that to get a better understanding. There are a couple of other package uses in there I need to study as well.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Eliwood on May 25, 2016, 04:47:37 AM
Actually. Now that I am looking through it all again, it seems as if the majority of what I don't understand is tied into my lack of knowledge in Doctrine ORM. I will have to study up on that to get a better understanding. There are a couple of other package uses in there I need to study as well.

Yeah, Doctrine's learning curve isn't the smallest, but it's really helpful. This is mostly due to the magic happening in the background via reflections - adding methods that are not explicitly written, the lazy loading of collections, how the annotations are used to build the db schema. It's probably easier to just accept the models as they are right know and concentrate on the API the models are offering as well as the use of Doctrine's Repository and query builder.

If specific things are unclear, we are happy to explain them (and write explanations down, of course).


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Stephen.Kise on May 25, 2016, 05:15:43 AM
Actually. Now that I am looking through it all again, it seems as if the majority of what I don't understand is tied into my lack of knowledge in Doctrine ORM. I will have to study up on that to get a better understanding. There are a couple of other package uses in there I need to study as well.

It's probably easier to just accept the models as they are right know and concentrate on the API the models are offering as well as the use of Doctrine's Repository and query builder.

To the uninitiated that want to participate - the query builder is here (http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/query-builder.html), and there is a lot of documentation to sift through. Not much though if you can learn quickly and have a more solid understanding of PHP. Also - it is best to dive right into Daenerys' tests (https://github.com/lotgd/core/blob/master/tests/). Test-driven development is quick to pick up because the naming of each test method states what the test should do (such as public function testGetModules() (https://github.com/lotgd/core/blob/master/tests/ModuleManagerTest.php#L46) returns a list of all installed modules.) Also seems Doctrine's Entity and Table are written directly into every model's comments to provide repositories. Looks like Doctrine will be very fun to learn. :)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on May 25, 2016, 09:37:34 PM
Thanks for the nudge. I spent some time documenting the innards, or at least how we are currently thinking about them: https://github.com/lotgd/core


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on June 28, 2016, 02:51:36 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 6/28/2016

Progress
@eliwood's finished a basic battle system, complete with buffs. He also put up a basic web version of the game, complete with GraphQL API for headless use. There's not much there yet, but we're making progress here.

I built a sample crate and wrote documentation on how the pieces of the system fit together. I also built a command line tool, daenerys, to help with administrative tasks, like installing new modules.

Heroes
No heroes this time around :(. Still hoping for more community engagement. We've identified a number of starter tasks, some of which can be completed even by programming n00bs: https://github.com/lotgd/core/issues

Next Month's Goals
Get a basic game loop running inside the web interface, allowing a logged-in user to navigate through a world.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on June 29, 2016, 08:17:07 PM
*rises at the mention of Programming N00bs*

It's time for me to build some confidence! Maybe... Breaks over now for me so it's back to Uni, we'll see how much time I can spare.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on June 29, 2016, 09:54:27 PM
Try something like https://github.com/lotgd/core/issues/34

Send me your email address and I'll add you to the slack channel, that way we can chat if you run into difficulties.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on July 28, 2016, 10:01:16 AM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 7/28/2016

Progress
Good progress this month but not achieving our goal for the month. Got sidetracked by some refactoring which needed to be done.

@eliwood and I decided to split the existing web code into two parts: one API piece (http://github.com/lotgd/crate-graphql (http://github.com/lotgd/crate-graphql)) and one client piece, written with React+Relay, to read the API (http://github.com/lotgd/client-graphql-www (http://github.com/lotgd/client-graphql-www)).

To kick the tires on the module development infrastructure, I built what is our first real module, Dragon Kills (http://github.com/lotgd/module-dragon-kills (http://github.com/lotgd/module-dragon-kills)), which enables tracking of DKs. This is part of the core in the legacy codebase, but were trying to make our core just the bare minimum needed for a text-based game.

While building Dragon Kills, we realized we needed a different method of specifying configuration options for things like adding database tables. Just last night we landed on even another scheme for this so will be doing some more refactoring.

To make testing easier, I extended the daenerys command line tool with a `console` option. This configures a basic game environment and then provides the user w/ a PHP prompt to play around.

Heroes
No heroes this time around :(, though BlackScorp did join the discussion on Slack. Still hoping for more community engagement. We've identified a number of starter tasks, some of which can be completed even by programming n00bs: https://github.com/lotgd/core/issues

Next Month's Goals
Still need to get a basic game loop running inside the web interface, allowing a logged-in user to navigate through a world.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Mitochondria on August 12, 2016, 11:21:19 PM
I'm still brand new to this style of coding but when I learn a bit more I definitely want to try and help when I can.

I don't want to see this style of game die, especially LotGD, or in this case LotRD?


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on August 13, 2016, 05:01:14 PM
1 or 2 more months and I'd have finished with my diploma and also have moved out and be free from distractions and I'll be lending a hand.

Just wondering, with how modular with how Daenerys will be, could we see tools that will allow GMs to make D&D styled gameplay?


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Eliwood on August 15, 2016, 10:59:11 AM
The plan is to provide a scene based structure (you click on an action point which changes the scene for the user, displays the new scene with new actions) and a few basic tools (messaging, character management). All else should be achievable by modules. It certainly still needs work, proper hooks, etc, but yeah, D&D styled gameplay should be possible - as long as it it adheres to this simple scene based framework.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: WereMagi on August 16, 2016, 02:03:52 AM
Interesting... I know a large amount of Board Game players that dislike travelling long distances to play games, so a flexible framework like this could take off well when such mods are made.

But that's of course once the core LotGD experience is ironed out and everything.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on September 16, 2016, 11:31:11 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 9/16/2016

Progress
Kept putting this update off until we finished some of the key game elements, but
now I'm ready to share.

First off, this update marks the fifth month since @eliwood and I joined forces and
restarted our respective re-writes. Hooray!

I'm also happy to announce that the code now supports a basic game loop and the first
LotGD scene has been written, the Weapons Shop! Check it out at
http://github.com/lotgd/module-weapon-shop (http://github.com/lotgd/module-weapon-shop).
It includes unit tests, and the process of writing them established some patterns we'll use on all modules.

@eliwood finished authentication support in the GraphQL crate. It now supports
usernames and passwords, with oauth support coming later.

Heroes
The hall of heroes is collecting dust. Come join us! As always, there are
starter tasks, some of which can be completed even by programming n00bs:
https://github.com/lotgd/core/issues

Next Goals
We still need to get the game loop running in a web interface, and not just the
command line. We also need a way to expose the additional interfaces provided
by modules to the GraphQL API.

I'm going to build a quick scene editor, so admins can stitch together a "map" of their
realm on the command line. Web interface tools will come later, for sure.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on October 30, 2016, 02:50:54 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 10/30/2016

Progress
Seems like @eliwood and I took somewhat of a hiatus for about a month, but we're
back in the swing!

We want the management of locations within the game, which we call scenes, to
be easily editable by admins. Imagine a tool that visualizes the connections
between different places (like the Village and the Forest, or between different
villages). Up until now, the code only supported having one "from" place for
every scene (one parent if you will), but now the code supports multiple "from"
places. For example, the same Healer's Hut can be reached from the Village or
the Forest.

With this addition, I also built a command-line scene editor which allows easy
editing of which scenes are attached to each other.

@eliwood finished GraphQL API support for taking actions and moving between scenes.

I also helped @Talisman write a conversion script to port over the downloads from
the existing forum to a newer version of SMF. We'll see if we can get this working
soon.

Heroes
The hall of heroes is collecting dust. Come join us! As always, there are
starter tasks, some of which can be completed even by programming n00bs:
https://github.com/lotgd/core/issues

There are also a few roles available if anyone wants one, some more accessible
than others:

  • Server sysadmin for our DigitalOcean instances. We need someone to add a
    script to support https via Let's Encrypt to our http://code.lot.gd instance.
  • Scene coder. Someone to help port over the key scenes (like village, inn, etc.)
    to our new formats.
  • Fantasy writer (non-techncial). Once we get the code done, we need to create a compelling story
    to attract players. I have some ideas but it would be helpful to have someone think about
    this more extensively, write up a story line, non-player characters, etc. Inspire us
    to finish the code!

Next Goals
We still need to get the game loop running in a web interface, and not just the
command line.

I will probably work on getting a basic mobile app set up to navigate through the
scenes.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on February 23, 2017, 03:03:00 AM

Daenerys (LotGD Rewrite) Not-So-Weekly Update 02/23/2017

Progress
Good to be back for an update after many months! I've been sidetracked on a politics app project recently but @eliwood has made great progress.

The web client can now display scenes, create characters and take navigation actions between scenes. It's almost a playable game!

The core and the web client also support multiple characters per login, since many users want multiple personas on a single server.

Here's a sequence of screenshots of the web client:

https://imgur.com/gallery/DOaGw

Heroes
The hall of heroes is collecting dust. Come join us! As always, there are
starter tasks, some of which can be completed even by programming n00bs:
https://github.com/lotgd/core/issues

There are also a few roles available if anyone wants one, some more accessible
than others:

  • Server sysadmin for our DigitalOcean instances. We need someone to add a
    script to support https via Let's Encrypt to our http://code.lot.gd instance.
  • Scene coder. Someone to help port over the key scenes (like village, inn, etc.)
    to our new formats.
  • Fantasy writer (non-techncial). Once we get the code done, we need to create a compelling story
    to attract players. I have some ideas but it would be helpful to have someone think about
    this more extensively, write up a story line, non-player characters, etc. Inspire us
    to finish the code!

Next Goals
Some of the piping we're using to move data around the web client is kind of clunky. @eliwood will look into replacing it.

I will probably work on getting a basic mobile app set up to navigate through the
scenes.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Eliwood on March 14, 2017, 06:19:04 AM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 03/14/2017

Progress
We've managed to wrap up the pre-release version v0.2.0-alpha. There are quite a few updates from different packages:

  • lotgd/core now has a basic Permission framework. Additionally, we've reworked the way scenes are connected to each other to be more explicitely and more intuitive. This change also allowed us to introduce ActionGroups properly.
  • lotgd/crate-graphql was updated to properly support the new connection api. Furthermore, the graphql scheme was reverted so that query.user.character is not a graphql edge anymore, but again a simple list of characters. Switching from relay to apollo on the client side gave as here more freedom in how we approach the graphql api.
  • Both example modules used to showcase our client, module-village and module-scene-bundle, have properly been updated to support the new scene connection api
  • lotgd/client-graphql-www has been reworked while switching from relay to apollo. We've cleaned up the code. The login-state and the selected character are now kept in LocalStorage, thus refreshing doesn't clear all the states anymore. Furthermore, instead of css directly, we now utilize a css preprocessor.

Please note that this pre-release is not ready for production. Currently, there is no control if the user doing the mutation is actually the owner of the character.

Heroes
A big thank you @grrrilla_ninja who has copied MightyE's weapon module and converted it to Pegasus' armor module. He is also a great help in giving input for the story for the main server. Some thanks also go to @pharis who gives us input in our slack channel.


If anyone wants to help - Come join us! As always, there are
starter tasks, some of which can be completed even by programming n00bs:
https://github.com/lotgd/core/issues

There are also a few roles available if anyone wants one, some more accessible
than others:

  • Server sysadmin for our DigitalOcean instances. We need someone to add a
    script to support https via Let's Encrypt to our http://code.lot.gd instance.
  • Scene coder. Someone to help port over the key scenes (like village, inn, etc.)
    to our new formats.
  • Fantasy writer (non-techncial). Once we get the code done, we need to create a compelling story
    to attract players. I have some ideas but it would be helpful to have someone think about
    this more extensively, write up a story line, non-player characters, etc. Inspire us
    to finish the code!

Next Goals
Now that client/crate and core are running properly, we start to improve in different areas to get to a minimum viable version. This includes proper api protection against unauthorized access and more modules to emulate typical lotgd game flow.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: LMG Slipscream on May 08, 2017, 09:26:24 PM
Dang.  I'm pretty excited to see someone working on a new version of this!!


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on May 23, 2017, 07:23:17 AM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 05/23/2017

Progress
@eliwood has been updating the core. Version 0.3.0-alpha of the Daenerys Core introduces a change in how events manage data: events now get a rigid EventContext object with a well-defined API instead of an array to enforce parameters and provide a more reliable interface. Furthermore, it adds an API to store a user's viewpoint in the database and to restore it later. This allows modules to display another scene before another. For example, a new day can be displayed instead of the actual scene. Then, the original scene can be displayed later.

Our GraphQL crate is compatible with these changes. However, work is being done in cleaning up the API and renaming portions of it, thus preventing a full 0.3 release just yet for both crate and client. Our previously written modules are in progress of being adapted and released as 0.3 versions as well.

@austenmc has been working on the mobile client and it's up and running in a basic form. It supports adding realms (i.e., servers) and creating users and characters on those realms. I built out the UI for the scenes themselves as well, but I don't have it hooked up to the server yet, so it's just dummy data.

You can see the progress in this video:
https://youtu.be/jyfSBP2rav8

I also took the time to add SSL certs to our module repository at code.lot.gd. Good to get that out of the way :)

Heroes
The hall of heroes is collecting dust. Come join us! As always, there are
starter tasks, some of which can be completed even by programming n00bs:
https://github.com/lotgd/core/issues

There are also a few roles available if anyone wants one, some more accessible
than others:

  • Server sysadmin for our DigitalOcean instances. We need someone to help set up a sandbox server to experiment with. You can choose your own RPG theme if you like! :)
  • Scene coder. Someone to help port over the key scenes (like village, inn, etc.)
    to our new formats.
  • Fantasy writer (non-techncial). Once we get the code done, we need to create a compelling story
    to attract players. I have some ideas but it would be helpful to have someone think about
    this more extensively, write up a story line, non-player characters, etc. Inspire us
    to finish the code!

Next Goals
Finish the 0.3-alpha release of the crate and the modules.
Finish the mobile client enough to use it to navigate through scenes and release beta versions on both iOS and Android.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: Nder' on June 08, 2017, 08:19:55 AM
Greetings and salutations,

I'm quite terrible at coding but I could feasibly help you with creating story. Do you have any starting ideas or is it all off the dome?
I can't commit fully to the project due to work and family but I'll help as much as I can now that I'm back into LoGD :)

--Ced


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: austenmc on June 08, 2017, 11:15:46 AM
Thanks for the offer! Send me a message with your email and I'll add you to our slack channel.


Title: Re: LotGD Rewrite (Daenerys) Weekly Updates
Post by: TGTarheel on July 06, 2017, 03:05:42 PM
Daenerys (LotGD Rewrite) Not-So-Weekly Update 6/28/2016

Progress
@eliwood's finished a basic battle system, complete with buffs. He also put up a basic web version of the game, complete with GraphQL API for headless use. There's not much there yet, but we're making progress here.

I built a sample crate and wrote documentation on how the pieces of the system fit together. I also built a command line tool, daenerys, to help with administrative tasks, like installing new modules.

Heroes
No heroes this time around :(. Still hoping for more community engagement. We've identified a number of starter tasks, some of which can be completed even by programming n00bs: https://github.com/lotgd/core/issues

Next Month's Goals
Get a basic game loop running inside the web interface, allowing a logged-in user to navigate through a world.

As always, you can check out the state of the world on github: http://github.com/lotgd/core (http://github.com/lotgd/core)

Humm, just had a look anf the stuff "easy for n00bs" does not seem easy.  If you come across something SUPER-EASY let me know.  I only know enough of this stuff to be dangerous.

I'm better at coding modules than at coding core stuff anyway.

© 2017 DragonPrime - LoGD Resource Community
Email Talisman: talisman -at- gmail.com
&oeXs)2U7=V BmܲV.U e=;p\}eG )Jj} C5EH7ˤH=j } mo|*Ŋw{drV_@IV>/- TFQJ׀̀Ve}l1,V O iNYx͘$e$;
Forums: Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines