Tag: game-dev

Planned App-solescence

Planned App-solescence

Today is both a good day and a bad day. Bad because I finally have to come to terms with the game I spent four years making is no longer available on the App Store or the Google Play Store which effectively means you can’t run it anywhere anymore. The bittersweet part is that it’s given me the excuse to open source the game as well as my previous game project Solaria Tactics.… Read more »

Hex Map Area Borders

Today we’re going to learn how to create a nice border around the perimeter of an area in a hex map using Unity and a LineRenderer. Here I have it as a dotted purple line but you can make it look like anything you want with the flexibility of the line renderer! The foundation of the hex code here is adapted from the Hex Map Series by Catlike Coding which has been super helpful for getting started.… Read more »

Minimizing string GC in Unity

An easy trap to fall into when you’re starting out in Unity is creating strings each frame in your update loop. Say you have score that can change from a bunch of things: eliminating foes, jumping on a block, collecting a ring, or just existing. Whatever floats your boat. Then in your score updater component you just do: void Update(){ textComponent.text = "Score: " + score.ToString(); } Easy and done. Problem is, you’re now creating a string (which are immutable in C# and allocate memory) each frame.… Read more »

Actions and Selections with Card Lang

When the events we set up in part 1 of exploring the card language fire it would be quite nice if they could actually do something! This is where actions get their chance to shine. There are a ton of different actions a card can take but we’ll start out with just a few example ones like doing damage to pieces (Hit), healing them, or drawing a card. Just as we can have multiple events on a card we should also be able to have multiple actions for each event.… Read more »

Introducing Card Lang

When I was first starting the project that would become Solaria Tactics I knew that if you’re going to make a card game, you better make the cards easy to design and tweak. There’s going to be hundreds of cards each with special rules, conditions, actions and other crazy stuff I want to add. Designing all these cards and making sure they work as intended would be a big challenge then especially with a developer team of one.… Read more »

A Better Isometric Camera Control

Greetings from Solaria! This is the first dev blog post of many as I progress on the development of Solaria Tactics. Hopefully these will be useful for other developers on their long journeys in game development. Since the game is an isometric tactics game with simultaneous turns I really need to have a good camera control script so you can see what you need to and reposition it quickly for a better view in the heat of the moment.… Read more »

Tag: thoughts

Planned App-solescence

Planned App-solescence

Today is both a good day and a bad day. Bad because I finally have to come to terms with the game I spent four years making is no longer available on the App Store or the Google Play Store which effectively means you can’t run it anywhere anymore. The bittersweet part is that it’s given me the excuse to open source the game as well as my previous game project Solaria Tactics.… Read more »

Tradeoffs in Testing

I’m finally getting around to putting down in words the testing philosophy I’ve developed over the years. Some of it might rock the boat a bit, other parts may be obvious to some folks, but what I’d like you most to take away is a reflection on your own testing philosophy and the tradeoffs your making. There’s no free lunch. Choosing how much time to invest in testing is all about balancing how confidently you can say your program is doing what you intend to and how fast you can modify or add to your program.… Read more »

What language am I writing again?

Posted on

Have you ever had that brainfart moment when you’re writing code and forget what syntax you’re supposed to be using? An example is helpful: This is from a recent project that used React + Typescript + GraphQL + Styled Components which is a prime combo for this sort of situation. At bare minimum we have these languages all represented in the same file. Typescript GraphQL CSS React Depending on how you’re counting, you could also add in Javascript (since you need to know it anyways for Typescript), HTML (since the React syntax is built on it), and even the interpolated strings like ${address.… Read more »

How Hard is your Email to Say?

Posted on

You’re at the doctors office, talking to an aquaintence, or ordering something on the phone and they ask the question: What’s your email? Depending on your name, age, and your life choices this can be a breeze or the dreaded question. How long does it take before you have to break out the phonetic alphabet? How many times do you have to repeat it? Today we’re going to come up with a scoring system to measure how painful your email is to tell someone.… Read more »

Tag: photos

Italy

Posted on
Italy

Rome -> Florence -> Tuscany -> Cinque Terre… Read more »

Tag: testing

Tradeoffs in Testing

I’m finally getting around to putting down in words the testing philosophy I’ve developed over the years. Some of it might rock the boat a bit, other parts may be obvious to some folks, but what I’d like you most to take away is a reflection on your own testing philosophy and the tradeoffs your making. There’s no free lunch. Choosing how much time to invest in testing is all about balancing how confidently you can say your program is doing what you intend to and how fast you can modify or add to your program.… Read more »

Testing Next.JS with Cypress and Mock Service Worker

If you’re running a Next.js app and want to test it with Cypress you probably noticed a problem when it came time to test a server side rendered page. There’s no built in way to mock out requests made in getServerSideProps. When I ran into this and searched around for solutions I found this article that has a good explination of the problem (and diagrams), but I wasn’t satisfied with any of the solutions.… Read more »

Tag: javascript

Testing Next.JS with Cypress and Mock Service Worker

If you’re running a Next.js app and want to test it with Cypress you probably noticed a problem when it came time to test a server side rendered page. There’s no built in way to mock out requests made in getServerSideProps. When I ran into this and searched around for solutions I found this article that has a good explination of the problem (and diagrams), but I wasn’t satisfied with any of the solutions.… Read more »

The Asynchronous Journey

I love song covers. Yes, not all of them live up to capture all the spirit of the original recording, but getting through all the bad ones is suddenly worth it when you find the good ones. You might know the ones I’m talking about, they might be faster, cleaner, heavier sounding, different solo’s, or all of the above. You know it’s good when they take the song in a new direction that invokes a new vibe but with all the familiarity of the original.… Read more »

Leaflet Zip Code Map Part 2

Leaflet Zip Code Map Part 1 In this part of the tutorial we’ll be focusing on what you need to do to get a front end set up to serve up the map and consume the wonderful zip code data. In case you missed it, here’s what we’re going for: HTML The html required on the page is almost as basic as it gets since most stuff is loaded in dynamically.… Read more »

Leaflet Zip Code Map Part 1

This is the first part of a two part series about how to set up leaflet maps to show zipcode areas with some extra data coming along for the ride allowing us to color the zip code areas based on demographics or any other reporting data. I did this using an ASP.NET MVC site and Web API with a Sql Server database. A database is required for this approach but there’s nothing stopping you from reimplementing this in your backend architecture of choice.… Read more »

Tag: tutorials

Testing Next.JS with Cypress and Mock Service Worker

If you’re running a Next.js app and want to test it with Cypress you probably noticed a problem when it came time to test a server side rendered page. There’s no built in way to mock out requests made in getServerSideProps. When I ran into this and searched around for solutions I found this article that has a good explination of the problem (and diagrams), but I wasn’t satisfied with any of the solutions.… Read more »

Hex Map Area Borders

Today we’re going to learn how to create a nice border around the perimeter of an area in a hex map using Unity and a LineRenderer. Here I have it as a dotted purple line but you can make it look like anything you want with the flexibility of the line renderer! The foundation of the hex code here is adapted from the Hex Map Series by Catlike Coding which has been super helpful for getting started.… Read more »

Leaflet Zip Code Map Part 2

Leaflet Zip Code Map Part 1 In this part of the tutorial we’ll be focusing on what you need to do to get a front end set up to serve up the map and consume the wonderful zip code data. In case you missed it, here’s what we’re going for: HTML The html required on the page is almost as basic as it gets since most stuff is loaded in dynamically.… Read more »

Leaflet Zip Code Map Part 1

This is the first part of a two part series about how to set up leaflet maps to show zipcode areas with some extra data coming along for the ride allowing us to color the zip code areas based on demographics or any other reporting data. I did this using an ASP.NET MVC site and Web API with a Sql Server database. A database is required for this approach but there’s nothing stopping you from reimplementing this in your backend architecture of choice.… Read more »

Tag: c-sharp

Hex Map Area Borders

Today we’re going to learn how to create a nice border around the perimeter of an area in a hex map using Unity and a LineRenderer. Here I have it as a dotted purple line but you can make it look like anything you want with the flexibility of the line renderer! The foundation of the hex code here is adapted from the Hex Map Series by Catlike Coding which has been super helpful for getting started.… Read more »

Minimizing string GC in Unity

An easy trap to fall into when you’re starting out in Unity is creating strings each frame in your update loop. Say you have score that can change from a bunch of things: eliminating foes, jumping on a block, collecting a ring, or just existing. Whatever floats your boat. Then in your score updater component you just do: void Update(){ textComponent.text = "Score: " + score.ToString(); } Easy and done. Problem is, you’re now creating a string (which are immutable in C# and allocate memory) each frame.… Read more »

Leaflet Zip Code Map Part 2

Leaflet Zip Code Map Part 1 In this part of the tutorial we’ll be focusing on what you need to do to get a front end set up to serve up the map and consume the wonderful zip code data. In case you missed it, here’s what we’re going for: HTML The html required on the page is almost as basic as it gets since most stuff is loaded in dynamically.… Read more »

Leaflet Zip Code Map Part 1

This is the first part of a two part series about how to set up leaflet maps to show zipcode areas with some extra data coming along for the ride allowing us to color the zip code areas based on demographics or any other reporting data. I did this using an ASP.NET MVC site and Web API with a Sql Server database. A database is required for this approach but there’s nothing stopping you from reimplementing this in your backend architecture of choice.… Read more »

Tag: unity

Hex Map Area Borders

Today we’re going to learn how to create a nice border around the perimeter of an area in a hex map using Unity and a LineRenderer. Here I have it as a dotted purple line but you can make it look like anything you want with the flexibility of the line renderer! The foundation of the hex code here is adapted from the Hex Map Series by Catlike Coding which has been super helpful for getting started.… Read more »

A Better Isometric Camera Control

Greetings from Solaria! This is the first dev blog post of many as I progress on the development of Solaria Tactics. Hopefully these will be useful for other developers on their long journeys in game development. Since the game is an isometric tactics game with simultaneous turns I really need to have a good camera control script so you can see what you need to and reposition it quickly for a better view in the heat of the moment.… Read more »

Tag: react

Tag: card-lang

Actions and Selections with Card Lang

When the events we set up in part 1 of exploring the card language fire it would be quite nice if they could actually do something! This is where actions get their chance to shine. There are a ton of different actions a card can take but we’ll start out with just a few example ones like doing damage to pieces (Hit), healing them, or drawing a card. Just as we can have multiple events on a card we should also be able to have multiple actions for each event.… Read more »

Introducing Card Lang

When I was first starting the project that would become Solaria Tactics I knew that if you’re going to make a card game, you better make the cards easy to design and tweak. There’s going to be hundreds of cards each with special rules, conditions, actions and other crazy stuff I want to add. Designing all these cards and making sure they work as intended would be a big challenge then especially with a developer team of one.… Read more »

Tag: jison

Actions and Selections with Card Lang

When the events we set up in part 1 of exploring the card language fire it would be quite nice if they could actually do something! This is where actions get their chance to shine. There are a ton of different actions a card can take but we’ll start out with just a few example ones like doing damage to pieces (Hit), healing them, or drawing a card. Just as we can have multiple events on a card we should also be able to have multiple actions for each event.… Read more »

Introducing Card Lang

When I was first starting the project that would become Solaria Tactics I knew that if you’re going to make a card game, you better make the cards easy to design and tweak. There’s going to be hundreds of cards each with special rules, conditions, actions and other crazy stuff I want to add. Designing all these cards and making sure they work as intended would be a big challenge then especially with a developer team of one.… Read more »

Tag: isometric

A Better Isometric Camera Control

Greetings from Solaria! This is the first dev blog post of many as I progress on the development of Solaria Tactics. Hopefully these will be useful for other developers on their long journeys in game development. Since the game is an isometric tactics game with simultaneous turns I really need to have a good camera control script so you can see what you need to and reposition it quickly for a better view in the heat of the moment.… Read more »

Tag: async

The Asynchronous Journey

I love song covers. Yes, not all of them live up to capture all the spirit of the original recording, but getting through all the bad ones is suddenly worth it when you find the good ones. You might know the ones I’m talking about, they might be faster, cleaner, heavier sounding, different solo’s, or all of the above. You know it’s good when they take the song in a new direction that invokes a new vibe but with all the familiarity of the original.… Read more »

Tag: demo

The Asynchronous Journey

I love song covers. Yes, not all of them live up to capture all the spirit of the original recording, but getting through all the bad ones is suddenly worth it when you find the good ones. You might know the ones I’m talking about, they might be faster, cleaner, heavier sounding, different solo’s, or all of the above. You know it’s good when they take the song in a new direction that invokes a new vibe but with all the familiarity of the original.… Read more »

Tag: antipatterns

Infini-woes

Posted on

Inifiniscroll is great. When used properly of course. Google images is the poster child for this and it works so great because they basically have infinite images. The pattern breaks down when it’s forced into places where you have less than infinite content. Much less than infinite content. I’ve seen a few examples around the web where content is just continuously loaded even if it’s not new content. Take for example the ghost theme repository:… Read more »