Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

1. September 2013

 

One of the oldest and most popular articles on my site is I want to be a game developer… now what?  It offers a collection of advice for new game developers.  I keep intending to update it but frankly, not enough changed.  The following was recently posted on GameDev.net:

 

http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx
This article was written 2 years ago, and is very informative about each game development language, but 2 years sounds like too much for how events quickly change now, XNA is partially dead, more books released, etc..

Is there a newer article of that kind of information? and is C++ still a bad choice (with the introduction of SFML 2.1 and SDL 2)?

 

Which got me to thinking about what all has changed since I wrote that guide.  The following was my answer.  Of course, I have no idea how many thousands of things I forgot to mention.  All told, the world hasn’t changed all that much, languages don’t really move all that fast.

 

Truth is, I keep meaning to update it, then look at the state of the game development world and there hasn't really been enough changes.  I will be doing a v2 eventually, but in summary, here is what's changed since the article was written:

C++

-----------------------------------------------------------------------------

SFML 2/2.1 released.  Frankly it's not all that different.

SDL 2 was released.  Again, not massive changes.

Gameplay3D engine released  Site Link My Look

Hands down the biggest change to C++ ( and over the last two years ) was the release of C++11.  This completely changes the C++ book recommendations.  C++ changes a lot about the language, especially how it should be taught.  Some books did a horrid job updating to the new standard ( just bolting on the new features ), while others did a better (less lazy) job.  I will probably do a post specifically about C++11 books at some point in the future.

C#

-------------------------------------------------------------------------

XNA was put out to pasture by Microsoft.  Fortunately, Monogame also got a lot better.  XNA is still an option, just not as good of one as it used to be.

PlayStation Mobile was released and C# based.  SDK Link (My Tutorials)

Unity 3D is now free.

Mono for iOS and Android 100$ cheaper

C# 5 released.  Outside of parallel programming functionality (async), not much changed.  Nowhere near the change of C++ for example.

Java

-------------------------------------------------------------------------

Slick2D is dead or abandoned.

Java took a few hits in terms of deployment due to security concerns ( Apple yanked it for example ).

LibGDX is probably the strongest option in Java now.

Don't believe there were any major language updates ( 1.7 then and now ), just service releases.

Python

-------------------------------------------------------------------------

Um.... anything?

Otherwise there would be a few things I would mention that weren't as relevant 2 years ago.

Misc

---------------------------------------------------------------------

Rise of the Lua game engines.  Add Dreemchest to that list as well.

In the mobile space, Lua just simply put got big.  Lua is also the scripting engine of choice for CryEngine, Gameplay and Project Anarchy.  Lua is a very very very good starting point for people looking to just start out.  Corona is now available free and at the same time, is more expensive...

HTML5 got a little bit more viable ( but still limited ) Flash suffered some major blows ( but still viable ).  There are now a number of solutions that make appifying HTML5 applications possible, such as CocoonJS.  Tons of libraries exist for HTML5 game development..

Previously niche/limited game maker software ( GameMaker, Construct2 ), as well as cross platform tools like Haxe (tutorial series) or LoomScript ( my look ) have made cross platform game development a hell of a lot easier.

The 3D engine space saw a bit more activity.  As mentioned earlier, RIM released GamePlay3D.  On top of that Torque was released for free, CryEngine leaked it's developer information in a hack attempt... ( thanks for that btw... :( ) and Project Anarchy (my look) was announced and released.  Project Anarchy is a bundle of Havok's game developer technology released completely free for mobile development.  On the 3D game engine space the story is Unity Unity and Unity.  Frankly Unity had a good year, made partnerships with pretty much every single platform available and is available in a free version for pretty much every platform now.

Grand total, not all that much happened, not really enough to full write a v2 version, hands down the biggest changes in the last two years:

C++ 11

XNA killed

Unity took over the world.

I miss anything?

 

Anything else I missed in the last two years of game development?

Programming , ,

29. August 2013

 

In this post we are going to, for the most part, complete with the modelling portion.  In the end, I am going to stick with a relatively low polygon model so it can easily be used in a real-time 3D game, as well as for rendering a sprite.  Additionally, a lower polygon count makes texturing more straight forward.  That said, if you are rendering to sprites, the polygon count really doesn’t matter to you ( except of course for your PC being able to run Blender that is! ).  Later on I may take a look at adding more detail, as well as rendering a normal map to give the illusion of more detail on a low polygon model.  That said, I cant spend forever on this or we will never get to texturing!

 

So… back to our model.  In our last stage we ended here:

jet

 

Certainly more jet like than box like, but there are obviously some major exceptions.  First the cockpit is still basically just a box.  Second, the nose is about as aerodynamic as a toaster at this point.  Third, there is no engine yet, although you could argue that is just wasted polygons given the shape of the jet ( aka, you cant generally see the engine… ), so for now I am simply going to skip modelling an engine.  Finally we can do a bit of tweaking and movement in general.

 

The Cockpit

First we start off with our friend the loop cut.  Create one more loop cut along the edge of the cockpit like so:

image

 

Now move the outer edge of the cockpit down a bit, like so:

image

 

Now we are going to create out first triangle!  A few triangles here and there aren’t a bit deal, especially if they make sense.  What we want to do is basically change our edge loop so it loops around the cockpit.

 

To do this, we are going to make use of the Knife tool.  You use the knife tool by hitting K, then clicking here you want to start cutting from, then click where you want to cut to.  Finally click enter to complete the cut.  Hit K then click on the two locations marked.  Be sure you get the special square indicator that shows you are cutting to an existing vertices or you will create extra un-needed and un-wanted geometry.

image

 

 

Now repeat the process for the back of the cockpit and your new edge loop should look like:

image

 

Now shape the cockpit to suit.  I am not all that pleased with the initial results, so I will probably tweak later, but its at least a cockpit now instead of a box.

image

 

 

Modelling the nose

 

Now let’s do something about that nose.  We are going to collapse all of the vertices at the end into a single vertex.

 

Box select all of the vertices at the front of the jet, like so:

image

 

Then hit X and choose Edge Collapse

image

 

And Voila!

image

 

As you can see above though, our newly created uber vertex isn’t at the mirror point any more.  Make sure to move it back to 0 along the X axis:

image

 

 

Now we have one small problem… our plane is really really really boxy and we don’t want that!  You can spread the vertices out by hand but there is a much easier solution.

 

First make sure you don't have any interior geometry ( lines/vertices created along the X axis ) , like I do now.  You will need to be in Xray (Z key) mode to spot extra geometry.

image

 

If you do, select the edges and delete them ( X ). 

Now select the boxy edge loop making up the front of our nose:

image

 

And run the To Sphere tool.  ( Alt + Shift + S ) and:

image

 

Now move the selected edge loop back from the front of the nose:

image

 

Now repeat the same process with the next edge loop ( closer to the cockpit ).

image

 

Obviously we have a bit of cleaning up and tweaking to do now.  After a couple tweaks and moves we have:

render

 

 

At this point I turned off the background reference images and played around by hand and selectively set smoothing.  To set smoothing, simply select the face you want to be displayed smooth and click Smooth under Shading in the tools panel:

image

 

I made a number of small tweaks, such as extending the wings, shrinking the cockpit and main body and just smoothing things out.

 

So, this was our original design:

topSide

 

 

And this is where we ended up:

perspective

toprender

frontrender

rearrender

siderender

 

Pretty close to my original concept.  Not perfect by any means, but I’m happy. 

 

You can download a zip containing the blend file right here.

 

Time to move on to texturing!


Click here for the Next Part

 

Art ,

28. August 2013

 

A pair of PlayStation Mobile new tidbits today.

 

Back in March, Sony announced they would be giving away free 1 year developer licenses.  Today they announced they will be extending that program:

PSM

 

We are looking forward to seeing your exciting ideas become reality and having fun developing together.

To help out all the talent out there we thought it would be better to waive the publisher license fee. So we decided to extend the duration.

To obtain a PSM Publisher License, please register or sign in to: https://psm.playstation.net/

  • Start date: 8th May 2013

  • End date: TBD

  • The free PSM Publisher License is valid for one year from the obtained date.

 

Also, PlayStation Mobile 1.2 SDK was released.  Ok, this was a week ago, but it’s new to me!  Easily the biggest feature is the addition of scoreboard support. 

 
Changes in SDK 1.20.00
  • The APIs for PlayStation®Network scoreboard has been added.
  • Added Windows® 8 as an official support target of SDK. Removed Windows® XP as an official support target of SDK.
  • Supported the multi-user feature added from Android 4.2 (Jelly Bean).
  • When the application is hidden in Android, the application no longer terminates.
  • Supported portrait mode in UI Toolkit.
  • Improved convenience of creating keys.
  • Improved graphic performance on PlayStation®Vita
  • Added new samples which use new functions and show good practices. (Scoreboard Sample, Lua Sample, etc)

 

Not mentioned above was the addition of LuaInterface as well as Lua Samples, as well as a JSON sample.  Additionally, they also added the PersistentMemory class back, which is nice, as when they removed it, they ruined a recipe in my book

News ,

28. August 2013

 

As you may have noticed yet we ( somewhat prematurely ) reported on Maya LT, a new indie focused version of Maya.  Today marks the official release of Maya LT. I also got the opportunity to get some additional clarification from Autodesk, in an interview below.

 

Here is the official press release:

Autodesk Unveils Maya LT for Indie and Mobile Game Developers Starting at $50 a Month

 

 


Powerful Tools and Affordable Pricing Expand 3D Options for Independent Game Developers and Small Studios

SAN FRANCISCO, Calif., August 28, 2013 — Autodesk, Inc. (NASDAQ: ADSK) today introduced Autodesk Maya LT 2014, a new 3D modeling and animation tool tailored for independent and mobile game developers. Available immediately and compatible with certain industry-standard game engines, Maya LT draws inspiration from award-winning Autodesk Maya software to bring an intuitive, affordable new toolset for the creation of professional-grade 3D mobile, PC and web-based game assets.MayaLT__HyperShade_DX11_UberShader__1920x1080

“We see indie game developers as a key part of the industry, driving innovative new production techniques and gameplay,” said Chris Bradshaw, senior vice president, Autodesk Media & Entertainment. “The market is fiercely competitive, and Maya LT can provide indie developers and small studios with a powerful, yet simplified workflow for designing and animating remarkable 3D characters, environments and props – at a price that fits within even the most modest budget. It’s a practical solution that closely matches the needs of the mobile game development production cycle and helps developers rise above the noise and really shine.”

Smaller studios like Phyken Media, creators of the mobile game Wizard Ops Tactics, saw both the economic and workflow benefits of the new product.
“I jumped at the chance to try Maya LT, as the cost flexibility means we could grow the studio much more comfortably,” said Phyken Media President Kunal Patel. “With an option like Maya LT, our small team can accept bigger challenges and take on various new types of projects that may require more artists without having to worry much about any large upfront expenses. We even found operating expenses are much easier to determine.”

Maya LT for Game Developers
Maya LT debuts with an easy-to-navigate user interface (UI) and industry-renowned 3D modeling and animation tools that enable independent game developers to rapidly deliver 3D assets into game engines. The software integrates seamlessly into game development workflows with out-of-the box support for Unity 3D Engine and Unreal® Engine™ through the FBX file format for primary data exchange, and the ability to import certain 3D asset formats [Maya (.ma, .mb), Maya LT (.mlt), OBJ, FBX, AI, EPS] and texture formats (BMP, PNG, DDS, EXR, TGA, TIFF), as well as export 3D assets in FBX and .mlt.

MayaLT__HumanIK_AnimationGraph_and_Outliner__1920x1080Key Features
Maya LT has a number of features customized specifically for the needs of mobile and independent game developers: powerful modeling tools to help create and alter 3D assets of any size and export FBX files containing up to 25,000 polygons per object, animation tools that include a skeleton generator and inverse kinematics with Autodesk HumanIK, and high-quality viewport previews to help developers view assets as they would appear in game, reducing iteration and asset creation time. Other key features are lighting and texture baking, giving designers professional global illumination tools to help simulate near realistic lighting through baking lighting data into texture maps, and vertex maps.

 

Pricing and Availability
Autodesk Maya LT 2014 is now available for Mac and Windows at a starting price of $795* SRP per perpetual license. Term licenses will also be available as part of a monthly, quarterly or annual rental plan in the near future, starting at $50* SRP, $125* SRP and $400* SRP respectively.

Learn More About Game Development with Autodesk Maya LT
For more information, and to download a free** trial of Maya LT, visit: www.autodesk.com/mayalt. Connect with the Maya LT development community at: http://area.autodesk.com/mayalt.

 

I got the opportunity to get a bit more detail from the team at Autodesk.  Answers where provided by Wesley Adams (WA), Autodesk Industry Market Adams  and Frank Delise (FD), Autodesk Director of Game Solutions.

 

Question: What are your target audience with this release.  Are you aiming primarily at game developers working with UDK and Unity, or indie developers in general?

Answer (WA) : Maya LT was specifically created to address the needs of indie game developers who want to create 2D and/or 3D assets for mobile platforms and much of its feature set is dictated by these requirements. It is primarily a 3D asset creation tool although it has a broad range of animation tools as well. It is engine agnostic and the assets created in Maya LT can be exported to any game engine via FBX including both Unity and UDK. Maya LT is designed to expand our portfolio of mobile game development tools, which already includes the Scaleform Mobile SDK with a Unity plugin. The Mobile SDK is based on the core technology of Autodesk Scaleform, but enables developers to use it as a standalone Flash runtime to port games to mobile platforms. This gives indie and mobile developers two different ways to access technology that was somewhat inaccessible to them previously.

 

Question: Are you considering launching a similar program for other tools such as Softimage or Max?

Answer (WA): Although we cannot talk specifically about future product releases, we do intend to continue to evaluate many different productization strategies, including LT versions, for our core entertainment markets of Film, Games and Television as well as to address new markets. However, it is not our intent to release multiple products for new markets. In this case we are targeting game developers who want to create 2D (sprite sheets) and 3D assets for mobile games. They require a solution that works both on PC and Mac and so we chose Maya as the basis.

 

Question: Will it be possible to white list certain plugins.  For example, the current no plugin policy will make it impossible to use Maya with Project Anarchy's art tools from Havok.  Will Autodesk be working with third parties in this regard?

Answer (WA): Yes, our intent is to work with third parties to build a healthy plug-in eco-system around Maya LT. In many ways Maya LT is a v1 product and we plan on an aggressive development path for it.

 

Question: Any possibility of an end-to-end Autodesk bundle ( such as versions that output specifically to Scaleform ) at indie friendly pricing. Or in a Creative Cloud type subscription service?

Answer (WA): We have no further announcements to make at this time regarding other new products and offerings, but we will indeed offer customers the option of purchasing either a perpetual license (with or without subscription) or a monthly rental plan.

 

Question: Are there going to be upgrade options available like other Autodesk LT products to move from LT to full versions?

Answer (WA): Right now there are no upgrade options available to move from Autodesk Maya LT to Autodesk Maya or any other Autodesk 3D animation product, primarily because it was not designed as an entry level product to Maya but to go after a new market.

 

Question: Is LT based on 2014? Is the intention to keep them at release parity? How long is the outright license purchase eligible for support?

Answer (FD): While Maya LT is based on Maya 2014 it is not intended to just be a reduced version of Maya but follow its own trajectory as a solution for indie developers developing for mobile platforms. So while we plan to keep Maya LT and Maya very close in terms of those Maya features that are relevant to indie game development, in some cases we may take different approaches to solving certain problems or needs. This could mean Maya LT specific capabilities not available in Maya for example.

 

Question: Doesn't the 25K limit on export heavily handicap certain usage scenarios, such as using Maya as a level editor?

Answer (FD): No, Maya LT can handle the same scene sizes as Maya. Therefore you can create large complex scenes. When exporting to a game engine, you’ll need to export the scene in modular pieces, up to 25k per object via FBX. This is a typical scenario when building games, using modular design. For example, you can create a car that’s over 70k polys, but export the body separate from the wheels. Maya LT also supports hi-res to low res texture baking for complex asset work.

 

Question: Does removal of MEL also prevent creation of toolbar shortcuts? What is the reason for removing MEL in general, is it not remarkably core to the Maya experience?

Answer (FD): In Maya LT, you can still create custom toolbars; however, Mel was removed. Maya LT is not a replacement for Maya in games; it is designed for asset creation for many indie game assets. We still expect Maya to be used by game developers who want the functionality to build custom pipelines\tools and advanced features.

 

Thanks for taking the time to answer guys!

Art ,

27. August 2013

 

YoYoGames have released update 1.2 for their popular GameMaker cross platform 2D game engine, which was used to make such titles as Hotline Miami and gamemakerlogoHome.  Included in this update is one pretty bold claim…  New YoYo compiler runs projects up to 100x fasterI!  That’s a pretty big claim, and I have to say… if you’ve got room for a hundred fold improvement in speed… you had some pretty serious issues before hand!

 

 

Anyways, here is more information from the release:

 

 

  • New YoYo Compiler Runs Projects Up to 100x Faster
  • New Shader Support Allows Creation and Cross-Platform Publishing of Shaders

 

YoYo Games today announces the general availability of GameMaker: Studio version 1.2. With today’s update, developers will be able to harness the full speed of the CPU with the new YoYo Compiler, allowing projects to run up to 100x faster across all native platforms supported. Fully-integrated, totally cross platform Shader support allows developers to write shaders once and then deploy them across all platforms that support them.

 

"Today’s update raises the bar in the visual quality and the complexity of games that can be made in GameMaker: Studio,” said Russell Kay, chief technology officer at YoYo Games. “Our goal with today’s update and all future enhancements to GameMaker: Studio is that the imagination be the limiting factor in the game development process, not the technology.”

The YoYo Compiler

The YoYo Compiler unlocks new possibilities in CPU-intensive areas such as artificial intelligence, procedural techniques, real time lighting, enhanced physics, real time geometry deformation, collision and data manipulation, immensely raising the quality bar. The YoYo Compiler is free for customers of GameMaker: Studio Master Collection and is otherwise available as an add-on priced at $299.

Cross Platform Shader Support

Fully integrated, totally cross platform shader support allows full access to low level shaders, while still letting GameMaker: Studio do the heavy lifting. The built-in editor has been extended to have full color syntax highlighting and “intellisense” for shaders, making creation a breeze.

 

The rapid adoption of GameMaker: Studio as the preferred 2D games development framework has exceeded YoYo Games’ expectations. Today, GameMaker: Studio has been downloaded more than one million times and is quickly approaching 20,000 daily active users. To learn more about the GameMaker: Studio family of products and to get GameMaker: Studio version 1.2, please visit www.yoyogames.com.

 

Certainly an important release for GameMaker developers.

News ,

Month List

Popular Comments

Android Studio 2.0 Preview Available
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


23. November 2015

 

At the Android Developer Summit, Google just announced Android Studio 2.0 is available for download in preview form.  The two major new features will both be relevant for game developers, Instant Run which enables hot swapping of code on device and a GPU profiler, for profiling OpenGL ES code performance.

 

From the Android Developers blog:

Android Studio 2.0 Preview

Posted by, Jamal Eason, Product Manager, Android

One the most requested features we receive is to make app builds and deployment faster in Android Studio. Today at theAndroid Developer Summit, we’re announcing a preview of Android Studio 2.0 featuring Instant Run that will dramatically improve your development workflow. With Android Studio 2.0, we are also including a preview of a new GPU Profiler.

All these updates are available now in the canary release channel, so we can get your feedback. Since this initial release is a preview, you may want to download and run an additional copy of Android Studio in parallel with your current version.

New Features in Android Studio 2.0
Instant Run: Faster Build & Deploy

Android Studio’s instant run feature allows you to to quickly see your changes running on your device or emulator.

Getting started is easy. If you create a new project with Android Studio 2.0 then your projects are already setup. If you have a pre-existing app open Settings/Preferences, the go to Build, Execution, Deployment → Instant Run. Click on Enable Instant Run... This will ensure you have the correct gradle plugin for your project to work with Instant Run.

Enable Instant Run for Android Studio projects

Select Run as normal and Android Studio will perform normal compilation, packaging and install steps and run your app on your device or emulator. After you make edits to your source code or resources, pressing Run again will deploy your changes directly into the running app.

New Run & Stop Actions in Android Studio for Instant Run

For a more detailed guide setup and try Instant Run, click here.

GPU Profiler

Profiling your OpenGL ES Android code is now even easier with the GPU Profiler in Android Studio. The tool is in early preview, but is very powerful and not only shows details about the GL State and Commands, you can record entire sessions and walk through the GL Framebuffer and Textures as your app is running OpenGL ES Code.

Android Studio GPU Profiler

To get started, first download the GPU Debugging Tools package from the Android Studio SDK Manager. Click here for more details about the GPU Profiler tool and how to set up your Android app project for profiling.

Whats Next

This is just a taste of some of the bigger updates in this latest release of Android Studio. We'll be going through the full release in more detail at the Android Developer Summit (livestreamed on Monday and Tuesday). Over the next few weeks, we'll be showing how to take advantage of even more features in Android Studio 2.0, so be sure to check back in.

If you're interested in more Android deep technical content, we will be streaming over 16 hours of content from the inaugural Android Developer Summit over the next two days, and together with Codelabs, all of this content will be available online after the Summit concludes.

Android Studio 2.0 is available today on the Android Studio canary channel. Let us know what you think of these new features by connecting with the Android Studio development team on Google+.

 

I wonder how much of this functionality will be made available upstream to the IntelliJ IDE? 

GameDev News ,

blog comments powered by Disqus

Month List

Popular Comments