Monday, January 15, 2018

VBT Update 1/16/18

- Hooked up the VBT editor window with the inspector to both display the current Agent's blackboard
-The values carry over between them
-I've also added support for saving and loading files
- A few visual tweaks / usability

 

Next:
- Serializing/deserializing tree data

VBT Update 1/15/18

Blackboard support has been added to VBT. You can select a data type, name, and value to but used with the agent. A blackboard is a public collection of variables to be used and modified by an agent via it's behavior tree.



Next I will be integrating the blackboard with the behavior tree before hooking up the editor and backend.

Thursday, June 8, 2017

"Cause" Game Update


New features:

Tanks can attack units of other teams
Units have health bars than show health
Units go away when out of health
New tank art
Mouse controls
Drag selection of units
Units have teams + colors for teams
Scaling unit selection boxes
Minimap w/ UI in place on right w scaling
Particle effects on tank firing
Damage particles on unit hit
Units aim top cannon at target when attacking, resets when done
Custom mouses that change when unit selected

Monday, June 5, 2017

"Cause" RTS Game

I've been working on an RTS game in Unity for fun. The idea is that you'll try to convert civilians to your side using various means of propaganda and subversion, and then create a force to crush the forces of the other ideologies.

Here's a screenshot thus:




More soon!

Wednesday, October 26, 2016

Magic the Gathering Web Scrape

When building decks for Magic the Gathering, I like to use gatherer.wizards.com to find the cards, tappedout.net to build the deck and tcgplayer.com for pricing info. Unfortunately this can be time consuming, especially copying, pasting, and formatting each card name from gatherer.wizards.com to tappedout.net.

Fortunately I've written a python script that takes a gatherer.wizards search url as a string and then copies every card name to your clipboard, formatted correctly for mass entry on tcgplayer. Uses python 3.5.4 and BeautifulSoup which you'll need to install with pip.

Check it out on github

One weird quirk is that the string only stays copied to the clipboard while the script is looping for a few seconds (and thereafter if you paste it during this time), though the script gives you a window to paste at this point. Let me know anyone knows a better way to approach clipboard commands.

Monday, October 24, 2016

GameDevMap Scraping with Python

GameDevMap.com is an excellent resource for finding game companies across the world. I wanted to see which companies had jobs that I might be interested in but doing it manually would be insurmountable- cue Python.

You can find the script on github

The script uses BeautifulSoup and urllib in Python 3.5.4. It gets all of the info listed on GameDevMap as well as a search for the company on duckduckgo.com (it has a nice sans-js mode). The search (ie: "careers Westwood Studios") is then combed for keywords, in this case, "jobs", "careers", "programmer", "engineer", "developer", "unity". Unity was a little harder because words like "opportunity" and "community" gave false positives. The search runs two versions and when it's done, writes to csv. The csv can then be imported into Google Sheets where it can be viewed and sorted.

Check out my sheets import here

A nice future improvement would be multithreading which would speed things up quite a bit. Feel free to do what you like with the script, let me know if it helps.

Wednesday, October 5, 2016

OpenGL Game Engine - Part 1

I've been working on putting together a game engine using OpenGL, SDL and GLM. I've got textures loading, batching and displaying as 2D elements on screen. Input works so you can move around as Mario. 

I'd used this video series to get things off the ground and have been modifying the code once I got a good starting point. Things are very well explained and I highly recommend them.

Next steps are to get the architecture for nested elements and collision detection.

Here's a video of my progress thus: