Nov. 29th, 2017

Work Post

Nov. 29th, 2017 07:59 am
relee: Picture of Relee Starbreeze, Wizard (Default)
7:31am - I'm worried I might be burned out from all the programming I've done over the last week. And yet, I can't seem to do anything else but work on my game projects lately.

I feel like there should be smoke coming out my ears right now. :/

Anyways I mentioned last time about the tilemaps. I'm not 100% sure I'm actually going to use them for my Roguelike. The way my sprites work, I've got white 'foreground' sprites and then white 'background' rectangle sprites, and I can colour either of them with the Unity color property on the sprite renderer. By using a mix of colours I can make a wide variety of different looking spaces with very simple tiles. But the Tilemap is basically a grid of single sprites, so I'd need to use layered tilemaps to do that same thing.

I need to track the grid anyways and I don't think the TileMap supports that. It's mostly for painting levels out of sprites and making big shared colliders. I'm probably not going to use physics at all for my Roguelike so that's not neccesary either.

So yeah, I'll be rolling my own grid of tiles. With blocking and locking.

But just thinking about all that just now has fried my brain a bit. I hope I'll be okay for Ludum Dare this weekend...

I'm going to leave this post open and add to it later, after a brief lay and listen to music.

4:51pm - I fell asleep listening to music and got up in time for my interview which didn't go well but I at least got some tips for other places to look and now I'm sad.

But screw being sad!

I updated LibreOffice and I want to figure out how I'm going to architect my Roguelike game.

5:08pm - I had thought to use LiberOffice to chart out some of the game elements and their relationships to eachother but I'm kind of blanking on what they were exactly.

I know I need a queue of the mobiles in the game, and each time the player moves those mobiles get to move in some order.

I also need a grid representing the level/map.

The grid is made up of tiles, which can be either open or blocking.

I need a player and a collection of similar mobiles, with a variety of properties and abilities. In particular they need to be able to move between grid spaces and lock grid spaces so that two mobiles don't end up in the same space.

I need treasure objects and other ground objects that don't lock and block, and can be picked up and used.


That's some of the major stuff, and those things will need subsystems for other things. I may also use Game Programming Patterns' Subclass Sandbox pattern to do the special abilities of my monsters and things.


Game-design wise I've been thinking about how I want to handle progression. I'm thinking you'll either pick, generate, or randomly generate a character with a variety of attributes that define them, but don't typically change in the course of the game. So, no leveling, no skill gains. Instead, your progression will be from items and other treasures you find in the dungeon.

I've seen roguelikes that mostly focus on item growth over multiple playthroughs, but they all had leveling as well, so it's kind of a bold thing to start the player as a whole person that isn't going to grow dramatically in a short time.

I'm also figuring I'll try to implement some basic town support and leaving/returning to the dungeon. The dual goals of the game will be investing in and building up the town and exploring/completing the dungeon.

As for the name, well, I'm planning it to be set in the World of Thardomhainn, and it's a roguelike, so maybe "World of Thardomhainn: Secret of the Mysterious Dungeon" but that might be too on the nose...

I'm going to take a nap now and get back to this later.


5:48am - Twelve hours later...

Geez I've been napping hard lately. I didn't sleep that entire time mind you, there was a break between two sleeps, but I slept a lot of that time.

In the time between sleeps I thought about the game architecture and design somewhat. One thing I was thinking was that I could have the turn queue automatically roll down the list by telling each member to do its thing, then wait for a response before moving on. That way I could have the player's turn 'block' by not responding until the player moves or otherwise finishes a turn.

I'm not 100% sure where I want the queue to live, but I'm thinking about making it a ScriptableObject.

Let's look at some coding possibilities.

I don't think an actual C# queue would work since I need it to loop and I may need to move things around inside the queue. Of the basic C# Generic Collections I think the LinkedList does what I need the best. It's a doubly linked list so I can insert and remove anywhere and I should be able to loop through it by keeping a seperate variable for the current turn in the list.

6:19am - Alright, on an experiment with that, a LinkedList is not serializable in the inspector the way a List is. I could probably write an editor extension that can do it, but I don't want to right now. It should be okay, I'll be adding and removing in code anyways, but it would be useful for debugging.

6:52am - This C# LinkedList is a bit of a pain. I guess it's probably standard but I thought there would be a way to access the list by order number. It looks like instead of tracking the active node by number I'll have to track the active node itself.


7:13am - Hokay, I think I've got it under control and figured out. The way it'll work is, when the game's state turns to playmode, it'll call BeginGame() on the TurnList object. Then the TurnList will call the control component on the first GameObject in the TurnList to take its turn. Then when that control component finishes its turn, it calls the TurnList's NextTurn() method, moving the whole thing forward.


In order to make it so that I can test scenes, I want each GameObject to add itself to the TurnList when it's enabled or instantiated. Hmm... But that'll make it ambiguous if the player will come first in the list. Normally I'd be able to control that by instantiating GameObjects in order, but if I want to have pre-generated scenes and areas, and I do, then how will I make sure the Player always goes first?

Hmm... It's something to think about, but for now I'm hungry. I'm very iffy on if I want to go to the McDonalds like I usually would, or just stay home and head to the kitchen.

If I go to the McDonalds I'm basically comitting myself to work for hours. If I stay home I'm not sure how much work I'll get done, but I could also do other things. That said I'm not sure I want to do other things. The only things that come to mind are playing certain video games I mentioned a day or two ago, or reading some certain books. And I don't think I want to do either of those things.

Let me check my bank account and OH MY GOSH. ;.;

I really need to get that job. Plus I think my cell phone company charged me twice so I'll have to check that out.

Anyways I suppose the financial trouble is to be expected with all the presents I bought and the Gas Money for visiting my Bro. It'll come out in the wash this month since I also didn't spend anything from my chequing account and that means I don't have to put anymore into it this month.

So yeah, it may not be the best financial decision but I guess I'm going to Mc's.

Profile

relee: Picture of Relee Starbreeze, Wizard (Default)
Relee Squirrel

July 2023

S M T W T F S
      1
23456 78
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2025 12:46 am
Powered by Dreamwidth Studios