Archive for the ‘Video Game Development’ Category

As requested by a user who left a comment on one of my previous posts, I have zipped up my asset folder (which includes all scripts, models (even the couple horrible models I created!), scenes, etc. in Lerpz 2). Because of size restraints, I had to leave off the extra music folder (which had random songs by a band called Muse that I was planning on using in various places in the game). Because of this, the final scene (the game end scene), and the first scene (the game menu scene)  may cause the game to crash or otherwise not work because I used songs from that folder. You will have use your own songs, and drag the corresponding songs to their correct places in the menu.

I have never actually tried to share a Unity scene(s) before, so I may have done this completely wrong. If this is incorrect, please let me know in the comments so I can fix the download.

As always, if you have any questions on my methodology, or general questions on how I completed the tutorial, leave them in the comments!

Use the following link to download: http://mediafire.com/?25z5efm0i80f679

For those who haven’t been following It’s a City building simulation game with a unique RTS twist. This is a very very very early form of the game. This simply consists of the foundation on which I’m going to develop my game. I have a few (poorly made) models but the real magic happens behind the scenes in the programming that simulates this world. Check out the Simulated City Game page (link above) to view about these stats and how the simulation works. I have created a video of the game (below) and took quite a few screen shots.

Simulated City Game video

If you view the video, make sure you pay attention to the stats, and how they change as I build the city. This video shows quite a few things.

Achievements: This video shows two achievements, Barter System, which is an economic achievement, and Community, which is a social achievement. Achievements are what define your civilization, and certain achievements make other achievements possible to get, and bar you from achieving others. The third achievement (not shown in the video) is Tribalism, which is unattainable when you get community. In the future, I may make this barring more flexible, as civilizations do change with time. Achievements also open up new buildings, techonology, and even new game mechanics. At a certain point, a civilization will be rewarded with an economic achievement (probably called currency) that will allow the player to enact taxes. Different tech trees will allow different forms of government, and there are further implementations that I haven’t even thought of yet! The achievement system really makes the possibilities almost endless!

Simulations: This is the bread and butter of my game. This is what makes the world change with time and what will (in the future, once I develop this game further) make the world interactive. Eventually I will have actual moving parts! I plan on adding civilians who will walk around (probably spawn at certain buildings, and un-spawn at others, perhaps going to work, going out to have fun, etc.) and a combat system. Right now, you can see this simulation unfold by watching the stats change as the player (me) builds different buildings. You can see how certain buildings depend on others (IE trade carts need goods to trade! so farms have to be built for people to start working at trade carts). I also simulate the global averages for other civilizations near yours. This will give a point of reference when calculating various stats about your city (like desirability, which uses the global averages), and in the future, determining things like trade agreements, war, etc.

Misc: The video also shows various other features of the game. I have a few sound effects in the game (some for buildings, general ambiance music, and error sounds (like when you try to build, but can’t). It also shows the GUI, which has menus for building, achievements, global stats, city stats, and a message system that hasn’t been utilized yet. It also has text alerts at the bottom of the page (for things like not having enough money, being blocked from building, etc.) The game also features 6 spiffy (read terrible) models!

 

The Future: For the future, there are several things I want to implement. As I stated above, in the long term future, I want to get a combat system, and a robust implementation of the achievements. The achievements will be one of the main game play mechanics that the player will interact with. In the near future, in addition to adding more content (buildings, achievements, etc.) I want to add some new mechanics. This includes:

  • Simulate Wealth gain/loss
  • Supply and demand
  • static, low frequency population increase (due to births and stuff)
  • Upkeep and revenue generation from buildings

And this game still needs a name! If you have an idea for a name, leave it on the Simulation Game page (link above!). Any other comments or questions, leave them below! Suggestions, and feedback is welcome!

View the screenshots below (which I started taking after I stopped recording the video)

This slideshow requires JavaScript.

For all the creative minds out there, I need a name for my game! You can read about it in previous posts, but the game is essentially a city building simulation. I was thinking of a name that incorporates the word sim or civ, but I’m at a list for names. Anyone who is able to think of a great name will get a small prize, consisting of a shutout on this blog!

If you want to leave a suggestion, leave it in the comments section please!

Just a small update to let you guys know about my progress do far. I haven’t made any new models, but have been working on the heavy programming that my simulation game entails.

I still haven’t decided on a name, but I have finished some milestones. I have finished simulating city desirability. In addition to that I have reworked how my building properties work, adding various methods to encapsulate things like adding city properties together.

I have also added a foundation for my achievements system, going from a few hardcoded achievements to abstracting the collection of achievements so I can easily add new ones.

For the future, I plan on working on a few things immediately. This includes simulating the properties of the rest of the world. I will use these properties to have something to compare to the city properties. I will use these comparisons to help calculate various things like desirability.
I also plan on adding some achievements and fine tuning my various simulations, like employment and population move in.

In the long term, I am considering translating my scripts to C#. I am considering this because C# has various features like operator overloading that I would love to take advantage of but unfortunately JavaScript doesn’t support.

If you have any suggestions please leave them in the comments below.

If you’ve never heard of Unity, and are into game development, I highly recommend checking it out. You can reach the website with tutorials, information and documentation at http://www.unity3d.com. You can also download it.

Introduction:

Unity comes in Two forms, the free version and paid version. They both offer an extremely powerful environment for game development. They both also allow you to publish your games for a variety of platforms. The free allows you to publish for Windows or Mac, and the paid also allows you to publish for various mobile platforms, like Android and IOS. It provides an amazing 3D view for manipulating various game objects in the 3D world. It also provides a unique environment for coding, taking an object oriented approach where everything in the world (models, scripts, etc.) are all GameObjects. I won’t go too far into how Unity handles development (perhaps I will in a layer post) but rather how the experience was.

Development in Unity:

Developing in Unity was a very pleasurable experience. The 3D view in incredible, and makes things like positioning things incredibly easy when compared to positioning programmatically, which can be a huge hassle (change position, recompile, tweak position again, recompile, and so on).
In addition, the GameObject paradigm really makes organizing things super easy. Everything in the world is a game object, which can be composed of models, lights, models, and more, and can even be composed of child GameObjects. Because of this, it’s super easy to develop a specific part of the game, without mucking with another unrelated part. It’s also super easy for separate GameObjects to talk!

My Current Project:

My current project heavily relies on objects and collections interacting with each other. Unity has made developing super easy because Unity is set up in such a way as to make what I want to do super easy. For example, my script for building takes my builder object (A small avatar that builds things at its current cell) and creates a building object at the current tile, while checking the bank object and tile collection to make sure we have enough money and theres not already a building there. Normally, with a different game engine, like XNA for example, having these objects interact would be more complicated since I would have to explicitly create the communication system that is already there in Unity.

Also, importing models is incredibly easy and fast. You simply save the model in the correct directory (the assets folder in your projects root folder) and Unity automatically imports the model, and you can see how it looks in the game world, instead of having to compile the whole project just to see the size (god forbid you have to tweak the size repeatedly).

There are many reasons why Unity is incredible, and at a layer date I will further expand on it, but for anyone who is interested in game development, I strongly urge you to try out Unity. It’s free! Go to http://www.unity3d.com

I finally got a chance to take and upload some screenshots of my latest project. I’m not sure what to call it yet, but I am happy with the direction it is going in. I must warn you, I am god awful at modeling, but I did my best to make all the objects fit a general theme. I think the tower model is my best one.

This shows off some of my models, and the simulation working over the course of time. In the right side of the screen you will see the stats menu which is a constantly changing counter of information about your city. Enjoy and let me know what you think!

It’s been a while since I posted an update, as I’ve been very busy these past few weeks, but I figured I’d give a quick synopsis of the progress i’ve made with the game I am developing. I’m not at my home computer, so unfortunately I can’t post any screenshots now. Perhaps I will later today.

 

Environment

The Environment in the game is like many other isometric simulation games. It takes a isometric top view, with a tiled board that you build things on. These buildings take up 1,2,4,etc. tiles (right now there are only 1 tile and 4 tile buildings). The models are more or less medieval style, with thatched roofs and simple architecture. This is part because I wanted to create a medieval theme to my game, and part because its easier to model simple architecture than complex!

 

Modelling

I have been using Blender quite a bit these past few weeks, and have finally learned how to effectively create a model, texture it, and import it into Unity correctly. There was quite a learning curve, and I found myself frustrated at times, trying to decide whether to search for hours for a free model that suits my needs, or try to create one (which was a fruitless endeavor until I finally figured out the trick to texturing. The trick is unwrapping your models and getting the UV right!) I still have a lot to learn about Blender, but finally being able to create models and import them in game at the perfect size and height is making development go much smoother!

 

Programming

Probably the most fun part, a lot of the code I have written so far and plan to write revolves around simulating actions in the game. So for, I have very simple algorithms for people moving into your city, whether they are happy or not, when they apply for/get a job, etc. The game has a somewhat Sim City like quality in this respect, vs. other traditional RTS’s, where everything is based on resources, and buildings you create. I also have what I named achievements. These are akin to research in a normal RTS, but instead of going into a menu and clicking which item you wish to research and waiting X minutes, your civilization figures out various technology on its own, based on how you are building your city. For example, I have 3 achievements in game now.

Bartering system, which is achieved when you have a certain amount of citizens working (I think 100, maybe 60, don’t quite remember). This achievement lets your city be subject to supply and demand, and leads the way to other economic technologies.

The second is Community, which is achieved when you reach a certain level of happiness, and have no military buildings. This line of achievements would be for civilizations you wish to build as peaceful. It also unlocks a building (currently a shaman hut, but this may change).

The third is Chieftanism (I know, but I couldn’t think of a better word) which is achieved when you have a certain amount of soldiers/military strength. I haven’t fully ironed out the details for this achievement (or any of the others fully for that matter), but I plan on having military buildings reduce happiness less (currently, the only military building I have, a tower, reduces happiness by 25 points. With this achievement, perhaps it would be reduced to 10, or 12, or maybe 0).

 

Game Theme

I plan on this game being a sort of cross between Sim City, and Civilization. I didn’t want to have normal system of achievements like every other sim/civ game, so I will have research and technologies (and buildings) unlocked by how you build your city. Certain paths will have to be taken to unlock the best of a certain tree, or a middle ground to balance everything. I plan on having a fairly indepth governing system (similar to Sim city) where you can perhaps raise lower taxes, enact laws, etc. based on your achievements. For example, once the currency achievement is unlocked (which I figure will be the achievement after Bartering System) you can begin taxing your people (and taxes of course would depend on wealth level, type (ie income, residential, commercial, etc.), and others.

 

So far, the game is looking pretty good. I am god awful at modeling and am not afraid to admit it, but the models actually fit the theme and don’t look too bad. Hopefully i’ll be able to post a few screenshots later today.