Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1398460 Posts in 67602 Topics- by 60944 Members - Latest Member: rashwinbarwa

January 28, 2022, 04:29:43 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogs☼ Heavy Starlite ☼ (Procedurally generated ASCII sandbox)
Pages: [1]
Print
Author Topic: ☼ Heavy Starlite ☼ (Procedurally generated ASCII sandbox)  (Read 590 times)
Rogod
Level 2
**



View Profile WWW
« on: January 12, 2022, 11:56:50 AM »

Hi again! Let's see how this goes Gomez









  • The sun has died

  • All plant life has evolved to live off star light alone

  • Humans have been gradually replaced with cats, dogs, monkeys and rats

  • A few core concepts are working: chunks, multiplayer, chat, zooming, inventory - plenty more to go though, so I'm saving the v0.01 release until things are a little more solid





Heavy Starlite is a procedurally generated sandbox game written in C# using mainly* codepage 437 for graphics.

The graphics style is an arbitrary restriction to invoke creativity.





Q: What the hell happened to Startron!?
A:
Startron is still dear to my heart and I intend to fully support the project, but after nearly 2 years of development I could do with a change as there were many concepts I wanted to include in a game and Startron just wasn't up to the task. It is my intention to develop both games in tandom as each has something to offer. (For both the players, and as projects for me to get stuck into.)

Q: Do you want help?
A:
No thanks, this is my own adventure Smiley

Q: When will this be done/finished/released?
A:
Steady on, this is only the first post lol

Q: Will this be ported to anything else?
A:
At the moment, Heavy Starlite is available for Windows and Linux. (Whether Heavy Starlite works on OSX or not remains to be seen - have to find somebody who actually owns a Mac first Wink ) I have no immediate plans to make Heavy Starlite available on any other platform at this time. (I'd require some convincing before I embarked on another port.)

Q: Is my language supported?
A:
At the moment, Heavy Starlite is only available in English but the internationalisation code will readily accept other Latin-alphabet, left-to-right strings if I have a full set translated. Unfortunately, I don't know any other languages so would require volunteers to translate Heavy Starlite for this purpose; if you want to translate Heavy Starlite, I'll happily make your language an option available from the main menu.

Q: Is this multiplayer?
A:
Yes, but Heavy Starlite is also designed to be fully playable as a single player game. Playing alone still runs a server though so playing together on a LAN or port forwarding is always an option.

Q: Will you ever upgrade the graphics?
A:
Probably not - this is my preferred art-style these days.
« Last Edit: January 26, 2022, 12:32:31 PM by Rogod » Logged

vdapps
Level 4
****


Head against wall since 2013


View Profile WWW
« Reply #1 on: January 14, 2022, 08:24:31 AM »

Nice! I guess, you're going to use all those sweeties (e.g. 3D engine) you used in Startron so far.
Logged

bayersglassey
Level 0
***



View Profile
« Reply #2 on: January 16, 2022, 11:22:53 AM »

It's always nice to have a couple of projects to bounce between. Do they share any code?.. like, if you add a feature in one, are you going to have to copy-paste it to the other?
Logged
Rogod
Level 2
**



View Profile WWW
« Reply #3 on: January 17, 2022, 05:47:16 AM »

@vdapps
Oh I expect I'll get to use at least a few of my tricks Wink (No doubt there'll be arcade cabinets in the bars in towns  Big Laff)

@bayersglassey
Heavy Starlite & Startron do share code, but mostly from a file structure and boilerplate code perspective. If I was so minded I could probably make some kind of universal drawing library (and maybe another for the console handlers for Windows & Linux) to import for both projects but there are so many methods and variables I may want to just tweak in a minor way for one or the other game that it's not that much of a pain point to simply copy the code.

Given everything for either game is home grown and designed to just manipulate coloured characters in a terminal, there is not a huge amount of behind-the-scenes stuff to worry about as you might expect in a conventional game engine; the bulk of the code in Startron is game mechanics that Heavy Starlite simply won't share (especially as Startron is exclusively singleplayer and Heavy Starlite is built to be multiplayer).

On top of all this, I'm still a relative noob at .Net/C# development so would be spending more time than it's worth figuring out how to make re-usable modules/plugins/libraries/addons/APIs/projects/whatever-they're-called-in-visual-studio's-eyes. I'd rather spend the time making the game than faffing with infrastructure, personally; I see so much time wasted on it at my job (and in the industry as a whole) that I want to escape all that and just focus on the actual product.
Logged

zerozerozerozero
Level 0
*



View Profile
« Reply #4 on: January 17, 2022, 12:03:23 PM »

Seems like a really promising concept
Plus those ASCII graphics and that color scheme are absolutely killer  Epileptic
Will definitely be keeping up with this project






Logged
bayersglassey
Level 0
***



View Profile
« Reply #5 on: January 17, 2022, 10:30:17 PM »

I'd rather spend the time making the game than faffing with infrastructure, personally; I see so much time wasted on it at my job (and in the industry as a whole) that I want to escape all that and just focus on the actual product.

:D I feel you. I originally got into programming via QBASIC, where you could type a page of stuff and hit F5, and be playing the thing.
Javascript caught up pretty well in that regard with the <canvas> element and its '2d' draw context...
I imagine Game Maker and Unity are probably similar in that regard.

But yeah, console is nice because you can start spitting out graphics right away...
Logged
Rogod
Level 2
**



View Profile WWW
« Reply #6 on: January 19, 2022, 03:17:59 PM »

@zerozerozerozero
Grin This seems to be my style these days Gomez
Check out Startron while you're browsing, it uses the same base engine.

@bayersglassey
Oh absolutely, yes. I am a huge fan of "Press F5 to see your handiwork"-type development. It's actually one of the main reasons I've never really gotten on with modern game development. Don't get me wrong, I am a fairly competent Unity developer, but I find it just drains on me having to switch between windows and click the play button to see what I changed. There needs to be some way to press F5 in Visual Studio, have it switch to Unity and play automatically, then when the game receives Application.Quit(), it automatically switches back to Visual Studio.

I grew up with DarkBASIC Pro where everything was written in a big text file and you just pressed F5 to play, and I transitioned to Java in Netbeans & Eclipse where I could press F6 to play my games. So I am very much coding Startron & Heavy Starlite in the same way: I write a bit of code, I press F5 to verify it did what I expect.

And yes, console graphics solves another burden I have with Unity development: if I want some text or a sprite or some graphical technique to display somewhere, I've got to physically prepare assets and shaders and game objects for it; whereas in these projects, I just write a line or 2 to say what I want where.

There is something to be said for minimizing the churn on a developer when writing indie games. I find I run out of steam early on in modern game engines because the trivial stuff takes so much more faffing about to get right and I end up either not getting to the fun stuff, or putting a half-assed effort in because it's so fiddly to get it doing what I want.
Logged

bayersglassey
Level 0
***



View Profile
« Reply #7 on: January 19, 2022, 09:54:15 PM »

Tongue Yeah, I can fairly accurately measure my happiness in programming jobs I've had so far by how long a build takes.
Python is great for that... the web app equivalent of "hit F5 to test" (especially if you have hot reload on, just hit F5 in the browser and off you go).

I just noticed something about this:
https://heavystarlite.neocities.org/screenshots/heavyStarlite15.gif



«« «« «« ««
« «« «« ««
 «« «« «« «
«« «« «« ««
« «« «« ««
 «« «« «« «


...but as you zoom out, the pattern becomes:

«««««
«««««
«««««
«««««


...and even further, it becomes:

ooooo
ooooo
ooooo
ooooo


There is a different pattern for what looks like water, where zoomed in it's:

~~ ~~ ~~
~ ~~ ~~
 ~~ ~~ ~
~~ ~~ ~~


...then zoomed out it's just ~~~, and zoomed out more it's ooo.


That's pretty nifty. How does that work, like there are multiple "patterns"/"materials", and a global zoom factor, and each pattern knows how to draw itself differently within 3 major zoom ranges? O_o
Logged
Rogod
Level 2
**



View Profile WWW
« Reply #8 on: January 20, 2022, 01:18:47 AM »

@bayersglassey
Yep I naturally found my niche at work doing the UI work simply because NPM auto-reloads the browser when I save any JS or CSS - it's bliss to code compared to having to restart application servers for Java changes.

You got it straight away. Gentleman Each tile type has 3 predefined appearances for the 3 scales, and I am simply interpolating one of the 2 bigger scales as the camera zooms in and out (then finally interpolating the whole map when zooming out to the planetary scale). This was one of the cornerstones of Heavy Starlite's design: I wanted players to be able to see more detail than just a single character representation of a tile if they zoomed in a bit - should make for more immersive gameplay as combat and exploration come about. (But also completely allow people to play in 1:1 ASCII mode if they wish.)

P.S. The ☼☼☼☼☼☼s you're seeing are actually ferns - they're not zoomed out grasses :3
« Last Edit: January 20, 2022, 02:03:10 AM by Rogod » Logged

bayersglassey
Level 0
***



View Profile
« Reply #9 on: January 21, 2022, 07:34:59 PM »

Ohhhh, I see! When you're super zoomed in, the patterns with spaces in them are actually used to show entire "single-character" tiles!

So "«" zoomed in becomes:


«« «« ««
« «« ««
 «« «« «
«« «« ««
« «« ««


..or something.
That's pretty cool... are you going to have some tiles which can have tiny little tiles inside them?.. so there are secrets which can only be discovered by zooming in? :O
Logged
Rogod
Level 2
**



View Profile WWW
« Reply #10 on: January 22, 2022, 03:07:37 AM »

@bayersglassey
The patterns are simply: 1 char, 2x2 chars & 3x3 chars, but yea that's the general idea.

This feature will mainly just be for graphical fidelity purposes but I suppose there'd be no harm in having some kind of a scavenger hunt or a special puzzle that makes use of the larger scales for a bit of variety - consider this noted as a suggestion Coffee
Logged

Rogod
Level 2
**



View Profile WWW
« Reply #11 on: January 26, 2022, 12:30:46 PM »

Update v0.01
In the beginning there was nothing Gomez


Let's see what we've got then:

  • Server & client model right off the bat

  • Windows and Linux support from v0.01 onwards

  • Immersive chat function!

  • Immersive player movement!

  • Chunk streaming

  • High fidelity stereo console beeps!

  • Primitive initial map generation (proof-of-concept - I wouldn't get attached to the map just yet, it'll be heavily fleshed out in the coming releases)

  • Zooming in and out!

  • A vaguely related and hugely inefficient intro sequence!

  • Inventory with combining items (using them won't do anything yet, but you can drop them!)

  • Improved sphere shading over Startron (this will make its way into Startron v0.81 for those of you who care lol)

  • Realistic rippling grass and water effect (requires DX12 compatible GPU)

Here are some gifs:


Logged

bayersglassey
Level 0
***



View Profile
« Reply #12 on: January 27, 2022, 07:48:10 AM »

That rippling grass is really pushing the boundaries of next-gen text-based graphics. Smiley
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic