Showing posts with the label Game Development

Web/Game Development - Math Isn't going to be a Problem

When I was in college I wondered how much math I would need to become a game developer. Just for one of my associate degrees I had to take calc 2 which honestly wasn't that bad, I think the physics based calc was more of a challenge but that's in the past now. The real work begins is in my career and a lot of times my math isn't what it needs to be to create a proper solution. When I was building penguins-rising I didn't have any problems with coding just solving some algebra. So I went out of my way after that project to study what I could.
Terms & Studies
GeometricsOrientation (vector space)Making a Rotation Matrix From Scratch - YouTubeTexturesPhong reflection model by a student that shows how graphs can be modified.Fuzzy setAlgebra (of course)VerticesVectors? Just going off my knowledge with C++ This is just a few things I've come across over the years as a developer, I think its interesting how web…

A Good Structure can say a lot

So one of the things you got to love about developing applications is the default folder structure. As a nou can easily pick up on the concepts and figure how to organize yourself. When starting out an unity3d project not so muc (in opinion). I look at the new 6 as a perfect an example, ita not simple but labeled out and can teach you new concepts. Maybe is just me since I write more web apps than games. Whatever the case may be I've learned is its not easy to pickup on new concepts if the structure isn't there by example.
   So a little bit of my experience and not to down play unity3d cause it is pretty simple to get. What I see as a constant problem is organization and structure. Which the two go in hand when developing. Whenever I use plugins and import other's code its doffocult to get back so some kind of structure. Everyone does it differently but it can get really annoying if you have a folder structure and you want to force it across your im…

Unity3D: Notes for My Next Game Part 6

Continuing from my last note on my game and where I've landed on a few problems. This has become one of my projects on the bottom of the list. However I've been making it number two as of lastly and couldn't be happier with the break I took from it. Some of my designs were quickly being scrapped at I was developing so I took a step back. It might seem like I'm stalling on this project and honestly I think I am but I want it to actually be fun to play and that my only concern. Local Network Multiplayer I'm not sure how far I want to go with it but I have a basic setup.Platform based CameraI will go over this in a video in the future.Character Movementlimited to walking and power ups that randomly appear on the field.Objects are random positions and different speeds.Music for splash screen is a perfect fit! I'm concern about some of my code not functioning in multiplayer mode, even if its only local.

Unity: Notes for My Next Game V

So I broke one of my own rules, which was staying on task. With a lot of my notes being scattered all over the place the last few weeks it has been difficult to keep track of things. I have accomplish a lot, but I think I will go back to publishing my notes to better focus on my deadline. I could have written the notes and just not publish them but I think it would be a waste of time, especially since I was already using a issue tracker. Publish these article forces my hand to show what I've got (which may not look like much for this article but I'll let you be the judge). 

Notes:    I wanted to start getting my game in a playable state and since a lot of the small things bugged me. I just had to get them working right. I started worked on the things that just make it difficult to control my player but I did spend too much time on the player's character model.

Controls on Android are not helpful with PC controls.

Pc to android conversion (input),Unity3D input conversion -…

Unity: Notes for My Next Game III

So like I did in my previous article, I'm going to list off the things I was want to get done so that I can focus on just those things. Here goes... 
Note to Self: I don't have a video demo for this week (life got in the way..) but I think it will play out much better for next week's.

So this week I have an good idea what my characters will look like. I'm played around with Blender before but never got anywhere far to create what I need for this project. I think my characters are simple enough so that I can finish one of them by next week. So not in this article but perhaps the next one.
In Game MenuStart Screen - Exit gameEnd Game (not exiting, just restarting the round.)Start Plate Form (Reason and Types.) This is where the story comes in and the different levels begin to unfold.Create Story (No sneak peeks for this, but it's important to know I did worked on it.)Questions
Do I need a Terrain?I don't think I need one but I did play around with the id…

Creating a More Intuitive UI with Bootstro.js

Sometimes you can go to great lengths to implement a UI that is more intuitive for your users but still end up with some of them lost. In the past I have personally experienced this, specially when moving users from an old system to something completely new one. So what do you do? One approach that I was given was to write out documentation that could be passed out in an email attachment. However a lot of major website that I know and see don't this because they may not have their users on file. This wasn't the cause in my situation but still I wouldn't recommend it. What I needed was some kind of guide that would help users through a new workflows and after words if I want just for fun give the user a little reward. That last part is just something I think that would be good for exploiting some gamification concepts.
    The points I'm really trying to make is that  users should not have to look up the information they need in a separate location and by using a l…

Penguins Rising: Possible Multiplayer

With my first attempt, I started to look at what Google Game Services to see what it had to offer for real time multiplayer but quickly found my answer in the documentation. Game Service "Real-time multiplayer is currently only supported for the Android platform." So I looked at Google Hangout as an option. The example I found helped me test out this theory and proved that creating multiplayer mode would be possible. However there was minor issues with latency as the example code shows and also ways to handle it. I didn't publish any code on github since there is a lot more for me to do and this year my plans are to start working more on my other games. For now its just important to make note of it so that I can pick up on it later...

sendMessageApp.xml - google-plus-hangout-samples - It's sample code... for Google+ Hangout Apps

Unity: Notes for My Next Game

The reason I wrote this article was to create myself a mission of tasks to complete. A lot goes into a game and I already know that I need to narrow down my scope for this game. Especially if I want to have something really show in the next couple of months. So here is my focus...

Create landscape (slope, sky, borders)Make it so I can't fall off, it's annoying.Landscape Texture keeps scretching.First person view single player.Detect collision with falling objectsDestroy player for nowRepeat falling objectsspawn multiple randomly.Create a timer for when a new object spawns.Resources for Landscape Task
Unity - Manual: How do I Make a Skybox?
Unity - Manual: Lightmapping Quickstart
How do I make a sky using skybox?
How to make a texture tile and not stretch
High quality skybox / space

Resources for Player
What is the best free 3D modeling program to use alongside with Unity?
Unity - Scripting API: MonoBehaviour.OnControllerColliderHit(ControllerColliderHit)
Unity - Scripting AP…

HTML5 Game Asset Manager and Loading Screen

Its important initialize a game if and when it is ready. I probably spent probably about two weeks looking for examples of this idea.One thing I was hope to get from this process was a way accurately update the loading and give the user a percent of when the game has loaded.For accurately updated the loading bar the best I have come up with is to have counter based on the number of assets and after each assets is loaded update the bar. The following setup is for the start button to change when the assets are loaded.

    Follow code is taken directly from the example on HTML5 Rocks but I collected it into a single script and it proved to be very useful. I was working on some logic to queue not only images but sounds because more often than not audio files are larger than image files. Keep in mind though there is not a universal format that is supported like images.


Penguins Rising: Game Blotting

This week I took a good look at the repository history for Penguins Rising and I was surprised to see that this project started on, June 4th of last year. I suspect that I probably spent more time developing a strategy more than executing my code. That doesn't mean I didn't have a clear idea what I need to do but just that I was adding too many additional pieces.  Ironically this problem was actually the reason why I started working on the project. With my other projects creating a strong baseline for games can be extremely difficult. Sitting down and hammering out ideas that sound good in theory vs. a realistic approach can be seem impossible for me without writing some code So like my other project I found myself constantly wanting to add my own twist to Penguins Rising and diverged from the baseline of the original game.

Seeing this has made me hold off on many of my projects until I have completely written AND settled on the ideas that go on behind the game. A…

Getting a Unity Game on Steam

I have been working quietly on my next game for one sometime now but I thought it would be good to write out this question I had since I wasn't the only person wondering it. My question was, can I use unity to publish a game on Steam? I wasn't sure because I wasn't too familiar with Steam's publishing process and didn't find any information with Unity from the UI. What I learned was that you can but need to go through their process called. Greenlight

Unity Basic on Steam? - Unity Answers

Other Game Publishing Outlets
Games | Desura
Little Indie - Shop
Rockin' Indie Games one pixel at a time - Indie DB

Penguins Rising: Html5 Custom Cursor Support

Apart from the original Penguins Rising game, I thought it would be interesting to allow the user to modify or upgrade their cursor for a particular gun. However this was not possible for Internet Explore at all, even for 11! In most cases when I can not implement something in one browser or another, I simply default to the original structure.  With though IE styling breaks completely when using custom cursor so I had to scrap the idea for now. My goal for Penguins Rising has always been to support "modern browsers" and "mobile browsers". IE9 is in that grey area but IE10 is a must and because of this I have to just use the built-in cursor styling which is how it is setup right now. Sadly this limits me to only what is available in the browser's styling.

CSS cursor property
How To Create an IE-Only Stylesheet CSS-Tricks - Not helpful in my case.
css - Custom cursor image doesn't work in all IEs? - Stack Overflow

Penguins Rising: Responsive Text with the Title Screen

With little testing as possible I wanted to create a title for penguins rising that was styled and would resize based on the device. I knew how to achieve this using css media queries however I would still need to test my queries on multiple devices which would take more time to test than actually write them. So I wondered what if there was a faster way to do this. Looking around I found ways to achieve this but most required Jquery and creating an event trigger to update the text size. Which wouldn't be too difficult to create but I have removed Jquery from my solution for sometime now.

Things I looked at for this solution

Text (not changing it too often.)Font-size - scale to full width of the screen.Font-Style - Added this later but not all devices liked text strokes in css.
The answer if very clear to me and one that at the beginning I considered, but I wanted to weigh all my options first. By simply making the Title a image and setting the width to 100% should have no probl…

Coursera: Gamification Notes II

Motivation & Psychology (I)For Gamification you need psychology to a certain degree to understand users motivation and making gamification effective. Motivation is different for everyone and can be counterintuitive. 
Cognitivism - about the mental states, internally.

Behaviorism - looking externally at what people do. Testing what goes in and out of the persons behavior. Making a stimulus connect with a behavior and leading to something good or a consequence. 

Observation - Pick up on people's reaction and learn from it.Feedback loops - Users seeing this learn and get a reaction from it.Reinforcement - Learning between motivation and gamification system.
Behavioral economics - "lets look at what people actually do"

Loss aversion Power of defaultConfirmation bias
Cognitive Evaluation Theory Tangible/intangibleExpected/unexpectedContingencyTask noncontingentEngagementCompletionPerformance
Reward Schedules - A time framework that the reward is given. have a significant implica…

Coursera: Gamification Notes

Gamification is not turning everything into a game but changing the user's experience to be similar to one. It is not the same as Game theory and is about recognizing the point of fun. In short it is parts of a game but without the full blown version in the user's face. From the definition of Gamification it can become some difficult to understand the differences from a game. So I ask myself what is a game or how does it explain more what gamification is?Unfortunately this question is a little more philosophy than a cut and dry answer, but a few people have tried. Such as Bernard Suits who puts it into these terms...

Per-Lusory GoalConstitutive RulesLusory AttitudeVoluntarily overcoming unnecessary obstacles.Characteristics of games
    Participation is voluntary    Players work towards achieving an objective    There are rules defining how the objective can be reached.Pyramid of Elements (Top to Bottom)
Shows variety of options and lower levels tend to implement one or…

An Introduction to the Hero Engine

The Hero Engine was actually the first Game Engine I was introduced to, and to be honest I really didn't get into it very much just because I didn't quite see the point of a license agreement. I also had wanted do things my way and  does but with all the extra lifting for you with media content for the most part. I will be skipping the installation part since for me it was very specific with files and such, and I didn't encountered any problems.
   After everything has been installed I started from: How to write a script and then going moving my way up to writing Your First HSL Script. In the documentation it was recommended to attempt or understand the server side script and be taken along side with the client side tutorial. However I skipped the server side tutorial since I already knew the methods behind it. So far from what I've seen and done, I consider the Hero Engine to be pretty much in the same perspective as a browser but of course with a lot more fun an…

An Introduction to Cryengine

This is an introduction to the Cryengine 3.0 which I started using a while back for a side project to began exploring the possibilities to develop future projects with. My hope is to some day create a "triple A game" or at least one that is console based. Infact that was what I loved about developing on the XNA framework. Thankfully the Cryengine comes with tons of documents and even a demo game for me to play with.  The sdk itself ran pretty smoothly on my machine but I did have difficulties getting pass a few bugs which never repeated after my first attempt. Also it seemed to me some of the configurations were being set to my machine rather than to the Cryengine solution itself which I didn't like.

Just a list of things I asked myself as I was starting out.
How do I start it? Inside the 64 or 32 bit version bin folders select either the Sandbox or the Cryengine program.How do I compile it? The game comes precompiled and it updated on changes in the source, …

Coursera: Online Games Class Notes

This post servers as a outline of the new concepts that I have learned in the class hosted on Coursera, "Online Games: Literature, New Media, and Narrative"taught by Jay Clayton. I will
try to avoid giving answers to quiz's or questions in order to give other classmates a fair chance.

MMO Examples:
 Lord of the Rings Mist Star Wars GalaxiesDark age of CamelotWorld of War Craft 

Multi-modal Analysis:

Embedded narrative : Main content to the game, "A pre-generated narrative content that exists prior to a player's interaction with the game." pg 383 Salen and Zimmerman.
Emergent Narrative:  "arises from the set of rules governing interaction with the game system. Most moment-to-moment narrative play in a game emergent, as player choice leads to unpredictable narrative experience." - Salen and Zimmerman.
Frame Narrative: Frame story (This term not defined in the class but was referenced.)
Remediation : "absorbing and re-purposing” remediation…