psvensson / golgotterath

An experimental isometric game engine written in Pharo Smalltalk.
MIT License
34 stars 3 forks source link

Roguelike #32

Open Nanoc-ice opened 2 years ago

Nanoc-ice commented 2 years ago

Not an issue, but a round of support to see where this can go! I would certainly like to assist, but I have just started my journey with Smalltalk. However, I would certainly like to assist with testing if needed. While I can test and eventually code I can't do the graphics, so no help there.

psvensson commented 2 years ago

Hi Nonocore, thanks! Actually this project was a way for me to start learning proper Smalltalk a couple of years back as well. Therefore it has quite a lot of what might kindly be called technical debt :). Most things sort of work now but it really needed a complete rewrite, which it has sort of floundered these last years.

What I did start on was a new project (in Pharo Smalltalk also) called Isosprite (https://github.com/psvensson/isosprite) which is just focusing on map handling and drawing of animated sprites.

And yes, the problem of good content/graphics is an ever-present cloud of gloom in game development. But for both this and the Isosprite project I've found and made good use of one of the great open-source resources out there, from a person named Clint Bellanger and his Flare project (https://github.com/clintbellanger/flare-game/tree/master/art_src).

So either I could help you make a change you'd like to do here in this kind of wonky project, or you could check out the mostly working Isosprite, or you could start making your own and I could assist (maybe making use of IsoSprite?)

Nanoc-ice commented 2 years ago

Sounds like I am right in line with your thinking. While I have played many different rogulikes over the years, I have not really stayed and finished any due to the interface. And the type of interface that did draw me in to some was the isometric view. I think that works best with that type of game…at least for me. And, I always had an interest in working on a project like that, and was actually another reason for picking up smalltalk again (after 25 years). Working on both seems like a worthwhile time sync. I am intrigued by your Isosprite and will look into it. As I progress in my knowledge I will pick up on this roguelike code before starting something new. I like the possibilities!

Gregg

Sent from my iPad

On Nov 25, 2021, at 12:02 AM, Peter Svensson @.***> wrote:

 Hi Nonocore, thanks! Actually this project was a way for me to start learning proper Smalltalk a couple of years back as well. Therefore it has quite a lot of what might kindly be called technical debt :). Most things sort of work now but it really needed a complete rewrite, which it has sort of floundered these last years.

What I did start on was a new project (in Pharo Smalltalk also) called Isosprite (https://github.com/psvensson/isosprite) which is just focusing on map handling and drawing of animated sprites.

And yes, the problem of good content/graphics is an ever-present cloud of gloom in game development. But for both this and the Isosprite project I've found and made good use of one of the great open-source resources out there, from a person named Clint Bellanger and his Flare project (https://github.com/clintbellanger/flare-game/tree/master/art_src).

So either I could help you make a change you'd like to do here in this kind of wonky project, or you could check out the mostly working Isosprite, or you could start making your own and I could assist (maybe making use of IsoSprite?)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

psvensson commented 2 years ago

Alright, sounds good to me. One good thing I would recommend is to have the game logic as separate as possible from the presentation and UI. That was something I did not think too much of in the beginning with this project (but did try more in the example/demo part of Isosprite). Nowadays he roguelike I have the most fun playing is a way, way more refined isometric one with a DOOM/SF theme called 'Jupiter Hell' which is on steam.

If you want more help or just comments, I'd recommend the #gamein-3d channel on the Pharo discord server, which I have open most of the time.

Nanoc-ice commented 2 years ago

All cool. That is a good tactic to separate the UI from the game logic. I have seen that in many of the previous roguelikes I have worked on. And totally, get not touching that when you first start off as it sounds like you had a lot of synergy between learning the language and creating the code. This provides a great roadmap for what to do (and not to do) with a second version. And with separation of UI and logic it makes it possible to adapt it to other roguelikes that have an ASCII interface (thinking angband).

I have seen Jupiter Hell, but up to just a couple of days ago, I was a Apple exclusive developer. I bought my first Windows machine which now has a chance to play those Windows only titles. I didn’t look to far past the initial screens of Jupiter Hell once I saw it was windows only. But now, maybe its worth taking another look.

Sent from my iPad

On Nov 25, 2021, at 5:43 AM, Peter Svensson @.***> wrote:

 Alright, sounds good to me. One good thing I would recommend is to have the game logic as separate as possible from the presentation and UI. That was something I did not think too much of in the beginning with this project (but did try more in the example/demo part of Isosprite). Nowadays he roguelike I have the most fun playing is a way, way more refined isometric one with a DOOM/SF theme called 'Jupiter Hell' which is on steam.

If you want more help or just comments, I'd recommend the #gamein-3d channel on the Pharo discord server, which I have open most of the time.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

psvensson commented 2 years ago

Alright, yes I hope so, thanks. Having an ASCII 'baseline' is a good idea. Speaking of Jupiter Hell (which started out as an angband clone called DoomRL - https://drl.chaosforge.org/wiki/DoomRL_Wiki) , it does actually run on Linux as well (which is my primary OS), but I totally get using Windows for gaming (and MS have greatly reduced their level of malignant nuttery the last decade as well, so who know, one day I might run Windows too :) ).

Nanoc-ice commented 2 years ago

Hey just touching base to see if you still had interest in progressing the game? I have had some issues that have kept me from moving forward with smalltalk, so I have been silent. I’m getting the urge again so hopefully I can do more.

psvensson commented 2 years ago

H again, sorry for the late reply but a) I've been a bit busy but also b) I've been feeling a bit like it should be redone completely and not sure about how to do so and needed some time to think about it.

As a summer project maybe, how about starting a new project which uses the above isosprite project as a dependency, which separates the visuals and logic more cleanly, and then we can take it from there, as a kind of slow summer project, coding between beers, or something like that. Would that work?

Nanoc-ice commented 2 years ago

Not a problem at all, Im right there with you. I still need some smalltalk work on my side before I can contribute. My initial goal is to take a small rogeulike (one that I can get source that is not too involved) done with (n)curses or python, or there is a project that provides all the basic functions can’t remember the name…shows how far away I am. Actually, I think there is one port to smalltalk. If true, I might try that out just to get in the right frame of mind.

Then, is when I will be ready to join in, BUT please start with out me. After looking at some to these other roguelikes, I will have comments and feedback as to structure. I really am excited about this type of project, just life keeps getting in the way.

On Jun 28, 2022, at 9:53 AM, Peter Svensson @.***> wrote:

H again, sorry for the late reply but a) I've been a bit busy but also b) I've been feeling a bit like it should be redone completely and not sure about how to do so and needed some time to think about it.

As a summer project maybe, how about starting a new project which uses the above isosprite project as a dependency, which separates the visuals and logic more cleanly, and then we can take it from there, as a kind of slow summer project, coding between beers, or something like that. Would that work?

— Reply to this email directly, view it on GitHub https://github.com/psvensson/golgotterath/issues/32#issuecomment-1168824361, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH7S265462FRRYNEEVNLKDTVRMGYFANCNFSM5IW5Q3SQ. You are receiving this because you authored the thread.

psvensson commented 2 years ago

Yes, but then we are on the same page. I might start documenting the isosprite project a but more so it can be actually used. Let's see how far I can drag it along this summer. First one to readiness level hollers

Nanoc-ice commented 2 years ago

sounds good to me!

On Jun 28, 2022, at 10:55 AM, Peter Svensson @.***> wrote:

Yes, but then we are on the same page. I might start documenting the isosprite project a but more so it can be actually used. Let's see how far I can drag it along this summer. First one to readiness level hollers

— Reply to this email directly, view it on GitHub https://github.com/psvensson/golgotterath/issues/32#issuecomment-1168903919, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH7S265ZSOADL2NOEZYCMBLVRMN7JANCNFSM5IW5Q3SQ. You are receiving this because you authored the thread.