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:




Wednesday, August 31, 2016

Flappy Bird Lesson Using Scratch

I've made a version of the game "Flappy Bird" using the drag and drop coding environment, Scratch. Kids seem to respond well to this environment. On Saturday at the library, I'll be doing a class that teaches how to create this game using included assets. Hopefully I can include video of the lesson.

Here's a video of the game: https://drive.google.com/open?id=0B5AauB4MKwieRHhqYVRrU21uQzg

Here's the project: https://scratch.mit.edu/projects/119594189/

Sunday, August 28, 2016

Dayz 3D Map Updated

Click here for the 3D Map

I've made a number of changes and updates. Let me know if it runs ok or if there's anything you'd really like to see!

Navigation - I'm not entirely confident in the accuracy of the heightmap data so I've opted not to include pathfinding / navigation. I've included the assets in the source if you want to turn it on and mess around with it though. I'd timed the running speed of the character on the airstrip in-game, then timed the speed of the agent in Unity to make sure the agent speed is accurate.

Movement - I've changed the movement to use a free-fly approach. Thanks to the Unity community for some help there. You can change movement speed with the mousewheel.

Textures - I've included a normal map in the textures and altered the base material to negate some rendering issues. I've also updated the terrain to display a higher res version of the texture at further distances

Lighting - I've included a sun that goes up and down for day/night and also rotates for each day, changing it's position in the sky. Use Z,X,C to alter sun movement speed

Misc - Added town names in English and Cyrillic and made them face the camera and alpha out when getting too close. Added some controls for resetting the scene (Space) and cleaned up lots of little things that I don't immediately recall. Added screen text for controls and credits. I've also tweaked the terrain a bit since it didn't seem to match the ingame map 1:1.

Here's the source project (uses Unity 5.4.0b15). Feel free to modify it as you like. Please let me know if so and please credit me if you do. Thanks to rhennigan for the height map.

Saturday, August 27, 2016

DayZ Map 3D

I've got my hands on a heightmap for DayZ, allowing me to make a 3D map in Unity. I've whipped up a prototype with improvements to come. I'll release the source once it's all done as well.

Click: Set Destination
Ctrl+Click: Teleport
Space: Stop
Scroll: Zoom
1,2,3,4,5: Change map texture

Check it out here

Wednesday, July 20, 2016

Old School Graphics Lesson (Binary and Pixels)

I'm doing some programming and computer classes at a local library for kids and I'd had a cool idea from watching a video on how graphics worked on the Commodore and Nintendo. My intent is to teach the idea that computers use pixels to render objects and sort of define what that means. Also, we'll be looking at binary and it's relationship to pixels and data storage. This is for kids so we'll keep it as simple as possible.

First, an explanation of binary or base 2 numbers is required. We'll have a few places represented by square cards with powers of 2 written on them like so:
____ ___ ___ ____ ___ ____
| 32 | 16 |  8  |  4  |  2  |  1  |
----- ----- ----- ---- ----- -----

We can move these cards up and down to show what value is being represented. By counting the values of the numbers that are "down", we can figure out what the base 10 value would be. All cards up would equal 0 or 000000. The rightmost card down would equal 1 or 000001. The leftmost and ''8" cards down would be 40 or 101000. Once we establish the basic idea, we'll ask the student to make the day month and year of their birthday using binary.

Once we understand binary, we can draw a picture using the grid paper. We'll only use 1 of the 3 defined columns to keep it easy. By filling in a square, we're marking the binary value of that row as 1. So if you filled in the leftmost block only, the value would be 128. In this way, we can draw using the grid and then convert the values to binary, then to a numerical value that's 0-255. 

Once the student draws their picture using the grid, they can use this program that I wrote up to input their numerical values for each row. Once they fill in all the rows they'll the image they made on paper.

Hopefully this will provide them with an understanding of binary, how it can be used to store data on computers, and how early pixel graphics displays could work.

Monday, May 30, 2016

Ludum Dare rankings are in!

No top placers but we did pretty well, especially considering it was our first jam.
#125    Theme(Jam)    3.94#128    Fun(Jam)    3.68#148    Audio(Jam)    3.68#260    Mood(Jam)    3.48#276    Overall(Jam)    3.53#287    Graphics(Jam)    3.79#811    Innovation(Jam)    2.72
2712 Total Games were entered so not bad. Theme Fun and Audio were in the top 5% and the Mood Overall and Graphics were top ~10%. I'd like to see the numbers for total games entered in a given category as I'm sure they're much lower but I don't believe that information is available. Pretty happy with this.