@cyningstan@mastodon.social
@cyningstan@mastodon.social avatar

cyningstan

@cyningstan@mastodon.social

Developing #retrogames for the #ibmpc of the early 1980s running #msdos and featuring #cga graphics. Turn-based strategy, puzzle and RPG! Fun in all four colours. With a fondness for Sinclair #zxspectrum and #psion handhelds too.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

cyningstan, to gamedev
@cyningstan@mastodon.social avatar

I've now uploaded the version of CGALIB that supports Hercules graphics, as used in the recent Team Droid update. Read more in this blog post: http://dos.cyningstan.org.uk/post/250/cgalib-now-supports-hercules

cyningstan, to random
@cyningstan@mastodon.social avatar

Having abandoned my attempt to create a version of CGALIB that's a wrapper for SDL2, I'm instead making slow but steady progress with libX11 instead. I got a window open with relatively little trouble.

Next the actual drawing, followed by keyboard input. But those are a job for tomorrow or the weekend.

cyningstan, (edited )
@cyningstan@mastodon.social avatar

I got the drawing working yesterday, mostly. It works perfectly when running the valgrind debugging tool, but skips some screen updates when running without. I suspect I am driving libX11 too hard without stopping for X events, or something.

I also got the CGA palette emulation working too, all 96 four-colour palettes are available. I haven't done 640x200 monochrome mode, and I'm not sure if I will, given the purpose of the exercise.

Keyboard input is next on the list.

cyningstan,
@cyningstan@mastodon.social avatar

Now, the screen drawing is working properly without valgrind. There's some multithreading going on, and I need to make sure the window is ready before I try to draw to it. As a quick & dirty solution I just insert a short pause after opening the window. Google has yet to reveal a "proper" method. Today I also got keyboard input working, so the robots demo is fully operational in X on Linux!

cyningstan, to random
@cyningstan@mastodon.social avatar

My friend Stingin had a car accident recently, and can't get to work till the car is repaired or replaced. He's doing a streamathon to raise some money for that, and for living expenses in the mean time. I'd be grateful if you support him by hanging out or lurking in his stream. Join the fun at https://twitch.tv/stingin

janbeta, to c64
@janbeta@chaos.social avatar
cyningstan,
@cyningstan@mastodon.social avatar

@janbeta It even sneaks up on them disguised as a Commodore 16. Very clever.

cyningstan, to gamedev
@cyningstan@mastodon.social avatar

Here's a blog post on the process of procedurally generating names, something that I hope to make use of in future game projects. http://dos.cyningstan.org.uk/post/234/on-generating-names

cyningstan, to random
@cyningstan@mastodon.social avatar

I've spent the evening trying to get an SDL2 version of CGALIB working properly. I wanted to see the robots game in black and white 1-bit high res. I made some progress tongiht: I was getting an empty transparent window, I now get a solid black window. This is going to be a loooooong fight.

cyningstan, (edited )
@cyningstan@mastodon.social avatar

Last night I actually got the demo game working, albeit on one machine. The same code when compiled on another machine crashes.

If SDL2 is going to fight me this much I might want to check out alternatives. I'm sure there's nothing wrong with the library. But if the complexities of using it mean it's going to take me weeks or months to integrate it into existing projects, then I'm not sure it's worth the time investment.

cyningstan,
@cyningstan@mastodon.social avatar

I just recompiled from scratch on machine #1 and yes, the demo still works. Just for kicks I'm going to copy the binary to machine #2 and see if that works, and if so, compare it to the binary that was produced by machine #2. It may be a difference between the installed SDL library maybe.

cyningstan,
@cyningstan@mastodon.social avatar

Curious. The binaries on each machine are different sizes. But the binary that works on machine #1 still crashes when used on machine #2. Maybe I should introduce machine #3 to the mix, to find out if this is a problem on machine #2 or a miracle on machine #1.

cyningstan,
@cyningstan@mastodon.social avatar

But I need to beware spending too much time on this. The show-stopping bug in SuperSecretProject™ was discovered back in November. My SDL side project was an attempt to get the project working in Linux so I could use Linux's better debugging tools to diagnose that bug. But in that time I could have rolled back all the code that introduced the bug and rewritten it from scratch.

cyningstan,
@cyningstan@mastodon.social avatar

@reidrac Well if I give up now, at least I have an SDL version of CGALIB that works (kind of) in colour on machine #2, and works (kind of) in monochrome on machine #1,..

cyningstan,
@cyningstan@mastodon.social avatar

@reidrac Thanks! I'll zip up both versions and send them along to you. But beware: this seems to be a bit of a rabbit hole!

cyningstan,
@cyningstan@mastodon.social avatar

@britown The library is installed from the same source on both machines. But if there's a difference between them then it would explain why the binary doesn't work when copied. I could look at linking statically on the machine that works, but at the moment, I'm investigating bypassing SDL and going straight to Xlib (albeit sacrificing Windows and Mac compatibility for now).

cyningstan,
@cyningstan@mastodon.social avatar

@indigoparadox Thanks! I looked at Allegro, but it didn't seem to support 1- or 2-bit graphics sources. I'm looking at Xlib now but I'm curious to see what you've done with SDL. There's a possibility that SDL1 might be less troublesome.

cyningstan,
@cyningstan@mastodon.social avatar

@indigoparadox I'm going in the opposite direction: taking graphics from a 1- or 2-bit backbuffer (they're the same as far as CGALIB is concerned) and outputting those onto a full colour SDL window.

In Allegro (or anything that doesn't support 1/2-bit) I could do that pixel by pixel, but that would be mighty slow, especially when running alongside a debugger.

thelastpsion, to random
@thelastpsion@bitbang.social avatar

I need to re-evaluate the way I'm doing the parser, because I don't think Pascal likes the way I'm using constants.

I kind of knew I'd have to swap it out at some point for something more comprehensive, but it looks like I'll have to do it "properly" sooner.

Not a bad thing. Just need to be clearer on how to do maps.

cyningstan,
@cyningstan@mastodon.social avatar

@thelastpsion I'm not a fan of the language - I use it in my day job and I'm always mentally comparing it to C, Java and other languages I prefer. But you're absolutely right about its documentation, it's among the best I've seen online.

yawning_angel, to retrocomputing

A recent photo of my collection. 😎
Which one are you choosing? 🤔 (Click to expand)

cyningstan,
@cyningstan@mastodon.social avatar

@yawning_angel Lovely collection! Despite the presence of Spectrums (which I already have) I'd choose the Electron. Not as powerful as the Beeb or the Amiga, but the Elk is a lovely machine in a cute little form factor.

Toxic_Flange, to retrocomputing

Huh.. made an XT clone? An 8088 is an XT right?

Anyways, I had no idea atari tried that path.
Missing Floppy drive, missing mouse, no monitor.. still want $300 canadian rubles? naw.

image/jpeg
image/jpeg
image/jpeg

cyningstan,
@cyningstan@mastodon.social avatar

@troed @Toxic_Flange I'd go for the PC1 form factor over the PC3, maybe even at that price; if I'm buying an XT in this day and age then upgrading it wouldn't be a priority. The 286 wasn't used until the PC4, with the PC5 being a 386.

yeg_euler, to edmonton
@yeg_euler@mstdn.ca avatar

Current temp in Sherwood Park, Alberta: -36 according to my cheap weather station I got in a gift exchange this Christmas. Last 24 hour high of -30 and low of -37.

The outdoor sensor is on the side of the front porch so maybe a little bit of heat from the house.

The indoor sensor is in one of the warmest places in the house so I wouldn't put much stock in the 21 indoor reading.

A small retail weather station displaying a 24 hour low temperature of -37 degrees Celsius.
A small retail weather station displaying a current outdoor temperature of -36 degrees Celsius at 8:04 am on 13 January, 2024.

cyningstan,
@cyningstan@mastodon.social avatar

@yeg_euler Makes me appreciate the Gulf Stream... slightly north of you (and a good way east) it's varied from 1°C to 8°C...

claras_universe, to ComputerScience
@claras_universe@ieji.de avatar

Does anyone here have experience with procedural text generation? I want to implement procedural descriptions for the planets in my game which are not toooo repetitive to read :o I read about Markov chains but I'm not sure how I can incorporate the different planet parameters, features, etc. And I'm also wondering what other methods there are^^

cyningstan,
@cyningstan@mastodon.social avatar

@claras_universe That looks cool! Reading more on Markov chains I've got more of an idea where they might fit in, but I'm still not sure they're applicable here.

I once wrote a story generator that just put gramatically correct sentences together to make up surreal nonsense stories, a kind of automated Mad Libs. A Markov chain might have improved the sense of those stories (and made them less amusing).

The challenge would be integrating that and having your planet report still make sense...

cyningstan,
@cyningstan@mastodon.social avatar

@claras_universe A friend of mine used a similar method for name generation. It would read in text from a real language, and build up a table to determine what letters most likely came after what others in that language, to generate "words". Something like that would help for generation of planet names, especially if you want to mimic real-world (or existing fictional) languages.

Sorry for multiple replies, but I'm hitting the post size limit here.

cyningstan, to VintageOSes
@cyningstan@mastodon.social avatar

Struggling with The Anarchic Kingdom? Or wondering what it's all about? Today I start a series of blog posts with hints and strategies for shaking off the other baronies! http://dos.cyningstan.org.uk/post/221/the-anarchic-kingdom-getting-started

The introductory text.
The initial state of your barony.

cyningstan,
@cyningstan@mastodon.social avatar

When you attack other baronies, or they attack you, there are bound to be losses on the battlefield. Each turn you'll need to recruit more forces to replace them. The process is described in this article. http://dos.cyningstan.org.uk/post/236/the-anarchic-kingdom-recruitment

Selecting Spend when viewing your barony

cyningstan, to VintageOSes
@cyningstan@mastodon.social avatar

There can be up to eight terrain types in a Barren Planet campaign. The terrain used in each scenario is drawn from these, so each battle map will have its own individual character. A couple of tables of stats define the effects of terrain.

cyningstan,
@cyningstan@mastodon.social avatar

The Cliff Face is a rise so steep and high that only air and anti-grav units can navigate it. Units flying over the Cliff Face have no protection. But sometimes they provide a route for these units to outflank the enemy.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • cubers
  • DreamBathrooms
  • ngwrru68w68
  • Durango
  • osvaldo12
  • magazineikmin
  • mdbf
  • Youngstown
  • slotface
  • rosin
  • everett
  • kavyap
  • anitta
  • normalnudes
  • thenastyranch
  • khanakhh
  • cisconetworking
  • modclub
  • GTA5RPClips
  • InstantRegret
  • tacticalgear
  • provamag3
  • ethstaker
  • tester
  • Leos
  • megavids
  • lostlight
  • All magazines