Started working on some animation for my Character. Very rough shape blobs to get motion down before I try to go in pixel by pixel.

Testing out converting my first ever 3D character that I made years ago to my first ever 16-bit character. Palette is currently incorrect as this is a draft. C&C completely welcome and wanted. Still adjusting to this pixel world from 3D.

Not feeling well the last couple days & I fell behind on daily art/dev posts, Catching up tomorrow. So I wanted to show off some work I did for Mutant Studios next game. 3 colors/character 32 colors max at once, palette swaps for players/level.

Working on creating a SNES era style platformer in Unity. Picked up Pro Motion NG during the steam sale to try it out, decided to start learning today and I wanted to get rid of my temp ladder tiles.

I want to build a character generation/customization system. I haven't figured out what exactly to focus on, so I'll be using my new iPad Pro to draw some faces for the next couple of days to inspire myself.

More learning in Pro Motion NG, loving it so far. Moving stuff over to tiled to replace my programmer black and white art. I made my own Tiled Importer so tomorrow I'm probably going to play with throwing this into unity. Still new to pixel art so any tips are super appreciated.

Lots of iterations today. Here is the current state.

I also did some work on my tiled xml importer for unity. It now supports multiple layers from tiled so I can create things like spawn points and enemy locations, still needs some work on that end though.

Seems I accidentally submitted to the daily DJ streak and the monthly one. Can't submit a new post, so...editing time!

Original Post:

Rust learning picks up again after an unsuccessful Ludum Dare weekend (thanks, health). Going to aim for steady progress going forward on both learning and developing new things.

April Review:

A lot has happened this April, though I have little concrete to show for it.

A vastly improved knowledge of Rust and engine building has made me interested in using Rust for many projects. Most of my streak posts have been about Rust, and I've enjoyed it greatly.

Ludum Dare went poorly, in part because I attempted essentially constructing a Rust engine on top of two frameworks that I barely understood. I'll be taking some time away from jams for now (Decade Jam aside), and I expect I'll be heading into the next several only with tools I'm fairly solid on.

The real victory this month has been using Anki to learn Rust and Toki Pona (a tiny conlang). Rust in particular has been a nice surprise - my health is now less of an obstacle with the knowledge so well embedded in my head through spaced repetition and so frequently reviewed. I need to apply the same treatment to C# and GDScript, as well as algorithms, design patterns, and more. Game design itself I can do to a decent degree of success all the time, thanks to years of constant thinking about it, so it's a matter of being able to implement what's in my mind.

Productivity is my goal for May, with an emphasis on product. The Decade Jam Community Project Task Force is ~~steadily lengthening its acronym of DJCPTF~~ hammering out the final details of our game and I am even now working on early code for it. Test projects for a custom engine are underway as well, and I expect to have multiple test games to show off in next month's summary post.

While I expect to continue to focus on Rust and Godot, I am not opposed to a return to Unity or Phaser as well. I hope to construct a strong portfolio over the next two months, and while I think my skill in game design, mechanics, and AI are solid (always worth improving, though), I think my generalist knowledge is another strength. I'm trying to be a T-shaped person, as some say. Being able to work across several engines and frameworks will not only improve my skills, but make me more likely to be available to help with a particular task or job, plus help others cross such divides.

Here's hoping for plenty of productivity next month.

Set out to do an Avatar then got bored...

A submission for Daily Gamedev

Getting back to gamedev.

Today I did a big brainstorming session with a friend.

We want to make a chill/zen co-op multiplayer game where the players build a self-sufficient ecosystem by helping each other.

Attached: mindmap of the brainstorm (in french sorry)

Finally you can make some damage!

I added an attack animation and pixel blood particles as well as some methods and callbacks to handle damage etc

blood particles were too small but I changed them after I made the gif (note to self: make gifs when wrapping up)

Also, stats are now scriptable objects

See the changes here:

Rolling on with the new project. Instead of long blog posts I think I'm going to go for shorter lists of things completed. Feels like less of a chore.

What I completed:

  • I think the map state synchronization between client and server is working. Server sends hash every 2 seconds to clients. If a client sees it is out of date it requests the full state from server. Server responds. Client now takes that response and updates the game board accordingly. Right now it's just which force occupies the tile and if the tile has a laser. Troops will be added later. I opted for a simple text human readable format to transmit the game state. Not very optimized but I can do that later or not worry about it since it is such little info anyways.
  • Fixed an issue with the message notifications where once they got larger than the list they would vanish. This notification list is mostly for debugging right now but will be used for game info like "unit x killed in sector y". Still some bugs with the list but not going to worry about it till the finalized version.

What I don't like:

  • There are three giant classes: the map, network manager, and game logic. All three are single instances and pretty tightly intertwined with each other resulting in a boatload of static members and functions. I think this may just be due to the nature of the game and how asynchronous everything is. Not sure the solution here. Seems to be working, just ugly as hell.

What's next:

  • For a player to actually take a turn. The natural start is the first player in the game. The U.S. placing his or her reinforcements.

is the mother of every product... or so?

I wasn't particularly fond of my last submissions so I decided to not program anything but rather spend some time in planning until I know what I want to the fullest detail.

Also, I decided to delete all the UI stuff because it was getting pretty convoluted and concentrate on the mechanics. When I know how the mechanics work, I can reimplement UI

When I had to guess, I'd say I lanned about 50% done and I'm happy with the results, planning makes thing so much easier.

No changes today, no github link

Spent most of the day creating the promotional materials for Aniballs. This actually included a little bit of work on the game itself as I updated the logo, icon, and primary background color:

I also uploaded a bunch of screenshots and updated the text on the presskit:

Finally, I shot an edited a very basic 30s trailer. This is where the title of this post comes in. While on a free trial, Camtasia Studio 9 only lets you render videos with a big stinking watermark. Of course I didn't realize this fact until I was 100% done with my shooting/editing (2+ hours in). Wah wah. I was pretty pissed. This wasn't the case in Camtasia 8 and it didn't even occur to me that it might be a limitation.

But I would not be denied.I devised a devious plan to screen-record my own video playback within Camtasia. Enter ShareX, right? Or not. After take #1, I observed that my video had no sound what so ever, but then I remembered @Fussenkuh's post about tweaking the FFMpeg settings to get audio working. Try as I might, I couldn't ever get system audio to record in my ShareX-captured videos. Enter Icecream Screen Recorder, another free screen recording software. As soon as I instaled it, I could tell that it was a very Freemium product. Nearly every setting requires the non-free Pro version. I couldn't even change the output format from anything other than WebM. Initially, I thought this was a deal-breaker because I wanted an MP4 or at least an AVI, but then I realized that Youtube can still upload WebMs and I don't really need a MP4/AVI for anything.

So after shooting & editing with Camtasia, screen-recording my Camtasia project with Icecream Screen Recorder, and uploading to Youtube, I finally have a trailer! Behold:

Not a super inspired night, but I managed to add some new functionality to attack abilities. Now, in addition to being instant AOE, they can also be a 'targeted AOE'. This means the user needs to select a tile first from within the allowable tile mask, and then a second mask defines the area that is actually effected by the attack (rather than just the targeted tile). This represents things like grenades.

There is no TileMaskVisualization for the grenades actual effected area yet. Initially, I envisioned a secondary tile mask marker that updated in real time as the user moves the cursor around, showing the 3x3 area in a different color. However, this won't work on mobile since there is no concept of hovering. It will probably require clicking once to show the effected area mask, and then again (in the same tile) to confirm the attack. That means that it will take 3 clicks in total: 1 to select the grenade ability icon, 1 to show the effected area from a possible target tile, and 1 to confirm. That seems a little clunky, but I can't think of a better way...

First, lets state the obvious: Everyone else is Streaking, why shouldn't I? Even though I've been working on my latest game for several weeks and even though @FunkyJive and @NoStyleGuy have been pestering me to write something, I've neglected to resume Streaking. That neglect ends tonight (or this morning, or whatever)! We'll see how it lasts ;-)

Tonight's battle revolved around Unity's Timeline feature. A few days ago, I figured out how to hack it sufficiently to use it as a way to activate my enemies at the appropriate time. Tonight, I felt compelled to actually attempt to extend the Playable API to write my own custom Timeline track controller. Why?, you ask. Because, it would be cool if I had an easier way to script my enemy movements and actions in a semi-straightforward drag-and-drop way. My current enemy control mechanisms work but they're kind of a pain to fine tune. I'm hoping time spent trying to understand how one extends Timeline will make my life easier.

I still don't fully understand all the details of what I'm doing, but, after studying the examples in the Default Playables asset (free from Unity Technologies) I've constructed an extension that will basically let me send arbitrary 'messages' to an enemy. At the moment, I can command them to FIRE, POP OUT OF COVER, and RETURN TO COVER. The duration of the message bars in Timeline dictate how long the enemy will take to do each command. Adding new 'messages' ought to also be fairly easy.

It's still fairly basic, but, even in its early state, it already is looking like using this tool is going to save me time in the long run.

Refactoring code to make it not just a bunch of gigantic static classes with a million static functions. Breaking apart code into smaller chunks for clarity. I realized with how asynchronous this game is it will quickly get out of hand if I can't keep everything organized. So-far, so-good. I think I'm on the right track.

I implemented a simple Inventory with UI

it might be a bit hacky, but it does the trick :D

current latest commit:

  • Created western invader reinforcement staging area. This includes the troop positioning dummy objects.
  • Instantiated the first wave of western reinforcement troops. During the first turn the type of units is fixed, after that each round is 8 reinforcements of the type you want (assuming you still have that type left in the pool)
  • Fixed bug where I forgot to set the flag on all the city tiles marking them as cities.
  • Fixed unit sprite sizing for western invaders to match the US. I may still need to shrink all units as they are pretty large and don't quite fit.

I'm out of room in the board area for troop reserves and killed units. Thus I need to bring the camera back a bit which I think is going to force me to make camera movement the next priority before any more game logic.

A submission for Daily Gamedev

  • Traced the West coast tiles. + Western invasion zones.
  • Renamed the East coast ID's so the tiles show up in game.
  • Created the city icon prefab which is a sprite for a city plus the text. Created all of the instances for the cities.

Was lacking motivation after working all day and going to class, but I still managed a little bit of work:

* Added 6 more (free!) classical songs from Brings the total up to 12, which I think is enough diversity.

* Started porting to iOS. All I did was pull the project down from SVN on my mac pro, build an xcode project, and make sure it actually compiled. It actually took 2 tries because Aniballs had an outdated version of the Lunar Console 3rd party asset, but going to the asset store, doing an update, and recompiling just worked. Bottom line: the iOS build compiles, but I didn't even run it yet (the wife's Lightning cable was 1 room away, and I was lazy).

Tomorrow, I'll tackle actually testing on iPhone, making the Apple Store page, etc. Maybe I'll even submit it for review. Then its just down to shooting a new video, and releasing this thing!