Jump to content
MemberAtarian

Dystopia (Utopia-like Turn Based Strategy for the 2600)

Recommended Posts

2019-03-06:

 

Ouch, how should I beginn? I found a lot of bugs, most of them were bad goto bank commands or the on <var> goto went on wrong value. I redesigned the cursor placement, rewrote most of the AI and now 1/5 of the code is in assembly (I optimized the output asm bB made and inserted it into the bB code). I tested it on real hardware, somehow I couldn't fix all the issues with the colors (It never goes over 262 scanlines, but Stella shows it as red and the color goes missing) and my recorder couldn't handle it (the TV was not suffering that much, only a little black blinking).

There is one mouse and one dpad (sega master system) recording, if you are creating your island, the dpad seems faster, but on the sea, it's easier to navigate the ships with the mouse. And yeah, I couldn't check the sensors as much as I wanted, so it's a bit over-sensitive, but an interesting experiment.

 

 

 

 

2019-02-11:

New improvement. I know that most people play these games at home, alone, so I made the AI for the computer. It was really hard and has a lot of limitations, even with SARA Superchip, but it tries to do best by placing buildings and controlling ships (the most limited part is this, of course). What's left is searching for bugs, optimizing the code, testing the mouse and doing the ending screen.

----------------

 

 

 

 

After half years, I decided to get this project back with my improved programming skills, I made this night the title screen. I'm pretty sure that the song is familiar to you. :) I was a big WarCraft and StarCraft fan in my young ages and I really love the strategy game of Don Daglow for the Intellivision, so I decided to make a TBS for the Atari 2600, probably the very first strategy game for the system.

At my first attempt, I had problems with the playerscore minikernel and even with the multisprite kernel, but I managed to learn how to use the kernel (even modding it) and of course, I modded the minikernel as well, so, here we go!

 

The game will support Atari ST mouse control if you have one!

 

2018-12-29

As you can see, I made a little gameplay against myself. :D There is no AI yet and there is no ending screen, and there are some errors still, but the game is now in a playable state.

Some new rules and elements are added, like:
-Some buildings and the ships need a minimum number of people if you want to build them.
-Fields of wheat disappear at the end of every number (it is harvested!) and converted to food, like the fish, if you are standing on it with a fishing boat. First you start with no people at all, but if you build house and have food, they will move there and work for you. If there are too many factories, the more people die, but you can give them better healthcare at the lab, etc. Ships are moving freely on the sea and battleships can attack other ships. If a battleship is attacking another battleship, there is a little chance that the attacking ship will be destroyed, due the better weaponry. The goal is building the giant cannon, develop weaponry and destroy every HQ of your enemy.

I tested gameplay only with joystick, because the mouse control will need a lot of optimizing anyway.

 

Distopia0.43_NTSC.bas.bin

Distopia0.49_NTSC.bas.bin

Distopia0.74_NTSC.bas.bin

Distopia0.82_NTSC.bas.bin

Distopia0.95_PAL60.bas.bin

Distopia0.95_NTSC.bas.bin

Edited by MemberAtarian

Share this post


Link to post
Share on other sites

The biggest problem is that without the not so great multisprite kernel, there will be a lot of flicker with much buildings. The other problem is that just there is not enough variables, even with splitting them, so I will need to write directly into the memory with assembly. :D
(The program is made with Batari Basic)

Share this post


Link to post
Share on other sites

It's spelled "dystopia".

 

Maybe not,

 

"Dis-" is a Latin prefix, "dys-" is Greek.

 

Webster's says "dys-" means "ill" or "bad." "Dis-" means "apart, asunder, away, utterly."

 

Also, the "-topia" in "Utopia" comes from the Greek for "place."

 

Given all that, "dystopia," would mean a "bad place" and "distopia" would mean a place torn apart.

 

I have seen the word distopia used in older books but it seems to have disappeared for the most part. It could also be a regional thing.

Share this post


Link to post
Share on other sites

 

Maybe not,

 

"Dis-" is a Latin prefix, "dys-" is Greek.

 

Webster's says "dys-" means "ill" or "bad." "Dis-" means "apart, asunder, away, utterly."

 

Also, the "-topia" in "Utopia" comes from the Greek for "place."

 

Given all that, "dystopia," would mean a "bad place" and "distopia" would mean a place torn apart.

 

I have seen the word distopia used in older books but it seems to have disappeared for the most part. It could also be a regional thing.

In my mothertongue, it's "Disztópia", so we use the older way, but I have corrected it in the code.

Share this post


Link to post
Share on other sites


It's far from perfect, but it at least works. The buildings are created via replacing the p1 sprite. If there is no object at the area, it will jump for the next area, so if there are less object, the flicker is endurable, I managed to fit it into 262 scanlines.
My next work will be refining it, so if there are ones from the same in a row, I will use NUSIZ to save the day.

Share this post


Link to post
Share on other sites
1. During you actual turn, you can only see your own island (and the oil on the sea), so there are only 15 sprite drawn maximum, instead of 27
2. Every time there are doubles in a row, the program detects it and does NUSIZ to make more sprites appear at the same time.
3. Every time NUSIZ was used, as a sprite would be drawn that was already drawn by NUSIZ, it is skipped, to reduce the number of turns and flicker.
4. On every second turn, the cursor is used to draw the sprite that was draw in the prevoius turn, so it seems like more solid.
But this is the point I don't really any have new ideas to reduce the flicker. I tried to adapt it for multisprite kernel, but as I try to make a playfield, it always crashes and reboots the system. Any ideas?
Edited by MemberAtarian

Share this post


Link to post
Share on other sites

The timer's the T of the 2600's RIOT chip. I cover how to use that in step 2 of Collect.

 

And yes, you have to do everything yourself - that's why you're able to do things you can't with bB.

Share this post


Link to post
Share on other sites

The timer's the T of the 2600's RIOT chip. I cover how to use that in step 2 of Collect.

 

And yes, you have to do everything yourself - that's why you're able to do things you can't with bB.

Or just creating my own kernel for BB, as people have their own programming methods, but a kernel in BB would make it faster

Share this post


Link to post
Share on other sites

I'm not sure writing your own bB kernel will make things easier/faster, besides learning assembly you'll also have to learn the innards of bB. Might be a fun challenge though, and your new kernel could prove useful for others in the future.

 

People having added new kernels to bB is why I'm setting up SpiceC to support that as well. Sadly SpiceC's been on the back burner due to RL. I thought I'd be getting back to it in the next week or so, but now I suspect I'll be distracted by the arrival of my new car :D

Share this post


Link to post
Share on other sites

 

After half years, I decided to get this project back with my improved programming skills, I made this night the title screen. I'm pretty sure that the song is familiar to you. :) I was a big WarCraft and StarCraft fan in my young ages and I really love the strategy game of Don Daglow for the Intellivision, so I decided to make a TBS for the Atari 2600, probably the very first strategy game for the system.

At my first attempt, I had problems with the playerscore minikernel and even with the multisprite kernel, but I managed to learn how to use the kernel (even modding it) and of course, I modded the minikernel as well, so, here we go!

 

The game will support Atari ST mouse control if you have one!

Share this post


Link to post
Share on other sites

 

After half years, I decided to get this project back with my improved programming skills, I made this night the title screen. I'm pretty sure that the song is familiar to you. :) I was a big WarCraft and StarCraft fan in my young ages and I really love the strategy game of Don Daglow for the Intellivision, so I decided to make a TBS for the Atari 2600, probably the very first strategy game for the system.

At my first attempt, I had problems with the playerscore minikernel and even with the multisprite kernel, but I managed to learn how to use the kernel (even modding it) and of course, I modded the minikernel as well, so, here we go!

 

The game will support Atari ST mouse control if you have one!

The Final Countdown by Europe!!! awesome title screen!

Share this post


Link to post
Share on other sites

 

As you can see, I made some progress on the game. You get a menu first where you can set if you want to play against another player or the computer, and, of course, how much money you get, how many steps and turns you have. I spent many days with the code for the mouse, nearly even doing it entirely in assembly, but it got too complicated at some point. You may say that the mouse is a bit too sensitive, because it reads it twice during overscan, one during vblank and 3 times during the drawscreen and if you are moving it more gently, it won't jigger around. It's not a fast paced game anyway. Of course, you can use the joystick, if you want to, but even ST and Amiga mouse is compatible (or the equal trackball).

 

Here will come the hard part, coding the drawing of the buildings and ships, it will be a nightmare for sure. :D

Share this post


Link to post
Share on other sites

Long time no see! To be fair, buying and moving to a new house, going to programmers school, having a baby and a hobby at the same time is not an easy task! And building a strategy game with the limitation of bB and the VCS is not an easy job. :D

So, I managed to create a smaller island pair, with 12-12 places to build and the sea with 20 tiles that can handle 2 kind of ships of both players. One tile has a fish icon, if you manage to bring your fishing boat on that, at the end of the turn it will give you extra food and you can raise your population more (the other supply is wheat). On the bottom of the screen, the game gives you information about the building the tile contains and the owner player as well.

 

Unfortunately, I had to cut the islands, without a tile-based assembly kernel you can't just make the buildings and ships visible if the screen is full. Mostly I don't expect this many of them, if they are in different rows and more of the same kind are next to eachother, there will be less flicker.

 

Because there are so many tiles (44), I couldn't store the information on 128 bytes, so we have to find a solution for SARA emulation on the cartridge version.

 

My fear is that AI just won't fit in 32K of ROM, checking of the tiles is already done, but you can build, attack and move, and I plan to add a turn after the white player for enverioment, so there could be raining, storm of cyclon, like in the original Utopia.

 

The only thing you can do right now is pressing Select for randomizing the layout.

 

Edited by MemberAtarian

Share this post


Link to post
Share on other sites
Another fast test. I added the option to click on units those have action, like:

-Construct new buildings at the HQ

-Research at the Laboratory

-Build ships at the Shipyard

-Attack with the Cannon

-Move with the Fishing Boat

-Move and Attack with the Battleship


These are just icons now, no action added and I just have to use 64K ROM from now, it's too much to handle. I also use 256 bytes of RAM instead of 128, there are a lot of variables for each players.


The most interesting part are the researches. Like in WarCraft, StarCraft, Age of Empires, you have 5 tech levels for "Health", "Production" and "Weaponry". Health makes your people live longer, Production makes the factories earn more money (but also pollute the environment more, so people will die faster) and weaponry give your Cannons a larger range.



Distopia0.49_NTSC.bas.bin

Share this post


Link to post
Share on other sites

As you can see, I made a little gameplay against myself. :D There is no AI yet and there is no ending screen, and there are some errors still, but the game is now in a playable state.

Some new rules and elements are added, like:
-Some buildings and the ships need a minimum number of people if you want to build them.
-Fields of wheat disappear at the end of every number (it is harvested!) and converted to food, like the fish, if you are standing on it with a fishing boat. First you start with no people at all, but if you build house and have food, they will move there and work for you. If there are too many factories, the more people die, but you can give them better healthcare at the lab, etc. Ships are moving freely on the sea and battleships can attack other ships. If a battleship is attacking another battleship, there is a little chance that the attacking ship will be destroyed, due the better weaponry. The goal is building the giant cannon, develop weaponry and destroy every HQ of your enemy.

I tested gameplay only with joystick, because the mouse control will need a lot of optimizing anyway.

 

Share this post


Link to post
Share on other sites

New improvement. I know that most people play these games at home, alone, so I made the AI for the computer. It was really hard and has a lot of limitations, even with SARA Superchip, but it tries to do best by placing buildings and controlling ships (the most limited part is this, of course). What's left is searching for bugs, optimizing the code, testing the mouse and doing the ending screen.

Distopia0.82_NTSC.bas.bin

Share this post


Link to post
Share on other sites

In my mothertongue, it's "Disztópia", so we use the older way, but I have corrected it in the code.

 

Can't wait to check this out today.

 

I really think you should keep the name "Disztópia." Makes it unique and gives it a personal flair!

Share this post


Link to post
Share on other sites

 

Can't wait to check this out today.

 

I really think you should keep the name "Disztópia." Makes it unique and gives it a personal flair!

I want to have as much connection to Utopia as possible. :) So it will be Dystopia. :) Because Daglow is awesome.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...