Saturday, August 28, 2010

Working on NetBook game (SpellBinder) for the Intel Level Up 2010!

I've been working on a game for the Intel Level Up 2010 Competition. I had posted an idea, but hadn't had time to work on it much, but got selected as a finalist for the Netbook section!

It's a side scroller / platformer game using box2d for interesting game play additions.

Due in the end of September, so I have a little over a month. Have finished a lot of the basic gameplay interactions (2/3rds) but still have a ton of work to do. Level design, game play design, artwork, bug testing, and converting to c++ for a major boost in speed.


The demo is at:
http://chrismweb.com/games/SpellBinder/

Saturday, July 17, 2010

Solved resize problem/ scaling and aspect problem in flash as3...

I've been thinking about setting up my game for redoing the size of the graphics, so computers with high resolution displays(like mine and most gamers) could benefit from the look of the game, as well as people with small screens(800x600 -1024x768- average mid west american).
On setting flash to scale to 100% width and height, it would scale the game as if the browser was 2/3s larger...
I googled, tried many "fixes", including editing and changing as3 code to try and deal with it.

What finally ended up working?

Publishing for flash player 10.1 instead of 9- apparently flash player 9 is not compatible with full screen flash- done correctly :-o

Another reason to look into unity3d, of methods of using javascript for games....

I would say flash only has as many bugs hidden in it as the amount of time flash IDE crashes - sometimes 0x in a day, to over 1x a minute!

Thursday, July 15, 2010

Adding User interface to diablo flash game (Nemesis)

I re-added the ability to create items with the item manager today, and "pick up" the items.

The problem is, to get the items back to full functionality, I need a window system for the inventory window. Beyond that, for character traits/states/exp, and quests, I need windows as well.

So I tried out creating a basic game starting interface, and a pause menu for the game, and the engines UI portion works beautifully, quickly, and just the way it needs to.

Now I need to create the different in game windows, skin them, and make sure positioning works- though I may have to add that if I haven't already, as well as adding optional "limits" to where the windows can be dragged, so they are not dragged outside the visible area.

Also, may have to have groups- so that they know which one is selected, and will bring those to the front.

Lots to do- I am hoping to start using agile software development techniques to aid me in finishing this monstrosity. I still need to get at least screen shots of my other game "MadWand" before August, for the intel game competition. It would add a chance of making money, and more importantly getting publicity. I first need to  have a few iterations of creating games proficiently before I can start creating them at a decent rate, but at that time I would like to be setup to be able to create flash, desktop, and android games, even if just ports of the same game at first.

Well, back to work before my gf gets off of school at 10pm! have about 15minutes to try to get the game windows created, skinned, and determine which features need to be re-added to the window class-

Thursday, July 8, 2010

Working more on flash Diablo game- porting to engine.

Porting my Diablo/RPG game to my game engine to hopefully tidy up development, and seperate basic functions from the game itself, to abstract them into two seperate pieces.

Finally got the hero moving again, and the screen scrolling, as well as the A* and collision working.

I added entities+ enemies, and going to work on re-adding items, inventory, equipping items, and finally NPC's and quests again.

I'm trying to keep things from being too dependant on each other, but some things need to be. Since all entities are map objects, they need constant communication with the map, such as which tile they occupy, if the destination tile is clear, or what occupies it if it isn't, ect.

Tomorrow I'll have to start compartmentalizing classes so they can be more independent, and function (if possible) without their dependencies in tact- so that if I ever have to remove enemies, but jsut test the hero, he won't be looking specifically for enemies.... But then again he does need this information if he will distinguish from one entity type to another- so again, problems with deciding where to compartmentalize objects.

I'll at least get everything working that I had before, then start trying to plan out the best way to tear each system apart and break dependencies, so systems might be able to used on future games without as much work converting them to different object types.

I'm reading a good book "introduction to game development second edition" which seems very comprehensive. Goes into almost every aspect of game development, from business and professional standpoints to programming tidbits. Very good so far!

Saturday, June 26, 2010

Trying Ubuntu again....

Ok, Ubuntu is now up to 10.04, so I think it's time to try it again since the last time I tried it (9.04? Hardy Heron).

It looks pretty cool like before so far, but some major inconveniences that they haven't fixed yet.

A "security feature" is asking you for your password on anything it has to do. They Allowed it to "auto login to your desktop", instead of needing a password everytime (finally), but every time you login, you again get the "need keyring password typed in - again and every time you turn on your computer".

Oy, I want to recommend Ubuntu to other people to use instead of windows, but yet they still don't seem to understand that it is supposed to be a desktop OS.... operated by people.....

Who thought it was a good idea to say "hey, lets have every login require a network password being typed in before they can use the internet? Every single time until they get so tired of the extra steps that they go back to windows since they don't have to deal with extra steps for basic functioning"???

Simple human factors- I would think Ubuntu would get easier to use with each iteration instead of worse/the same.

Is there any distribution someone could use to just install ubuntu, and use it, without having to set any unusual things up?

Another problem I have with it is GRUB.... The bootloader. I have to reinstall windows every 6 months to keep everything running properly, and I don't want to have to do the same to Ubuntu, yet since windows screws up the MBR, Ubuntu is lost. On top of that, Grub won't fix itself, even using the numerous tutorials, it's command line based, and just throws errors messages ("in this case: "can't find MBR, not reccomended installing to the MBR, " and a big warning not to do it.... I tried every iteration of trying to get it working, but it refused to let me fix grub, so I had to reinstall linux after setting all the "custom" things up you need to first do- apply all the updates, unlock the restricted drivers and install them, ect.

I'm a techie, but have only explored linux here and there, but started in dos. If Ubuntu is barely usable for people with heavy tech experience, when will it be assessible to regular people with little knowledge of computers "just looking for somethign for internet"?

I like open office, I like ubuntu's GUI, I like the basic programs installed and the package manager, but it's obvious that it's still not ready for mainstream yet.

No tutorials built in or a "how do I get the friggen OS to do something"- just the same linux assumption "oh, you shouldn't have to ask questions, if you do, you don't need to be using linux". Just because it doesn't have a very friendly user interface, and the OS well thought out from a human factors point of view, doesn't mean it should be continually ignored.

Sure, let advanced users be able to solve things them self, and figure out more complex things, but at least sped a little time on polishing off a basic interface for new/basic users, so they can even use the operating system without already needing a web connected computer, and spending hours searching on the internet on how to get their network card working, or why their display doesn't work right.

I'm not sure if I'm going to stick with trying to use Ubuntu again just for the fact that the main theme in Ubuntu seems to be "you'll have to spend a day figuring out something in Ubuntu you could do in windows in 5 minutes".

I like the interface/ speed, fact you can shut down without 1000 popups asking you "are you sure you want to shutdown"?

Tuesday, June 22, 2010

Also a Quick Note...

Also, for more info, check out http://www.chrismweb.com to see my webpage and tutorials on basic game and web development.

I have been working a bit again in javascript, and have made some interactive applications. I need to find a way to program in a object oriented method like in actionscript, c++, java, ect. I can create objects, but the methodological method of programming can get messy fast. I am going to be learning more jqeuery on the side when I can, since it has a lot of functionality already built in, and tested, as well as a host of plug-ins.

I have two main projects right now- web development mainly for clients, and game programming for myself. Hope to get some done for both in the coming weeks!

Project planning for next game

I've spent the last month or two trying to look into project planning ideas/methods/techniques, and in the process learning about design.

Have found mostly general tips, nothing too great aside from a professional project outline in my "The art of game design: A book of lenses" by Jesse Schell. Overall a great book on things to think about during the design process, and can be applied to projects out of the scope of game design. From this, I was able to put together several documents detailing the game I am working on, and giving a decent outline.

But still, I am trying to find a good way to plan out all the classes I would probably need, what kind of properties they would have and share, the order in which they should be built to create a meaningful design.

I would also like to layout all the graphical assets I would need (and later sound, music and video), so as to follow along with the programming portion of the project.

The main reason for my focus on project planning is lack of time/too much wasted time due to poor planning. With my diablo like flash game, a lot of the time was spent going back and changing core classes when I realized there were better, quicker and more efficient ways to do things, and started adding more classes I hadn't originally planned on because of adding more features that are needed, but were not planned beforehand.

One good piece of advice I picked up out of a game development book that was released the end of last year is milestones.

By creating milestones, and striving for usable prototypes, I can more or less flesh out the features of the game. By starting with the bare minimum to have some kind of interaction, to adding more interactions and core game features, I can separate tasks by level of completion. That way I can see the major milestones I need to accomplish to be able to reach my end goal, and can concentrate on planning out each phase of each milestone, so I know what to focus on first, and instead of trying to plan out the entire scope of the game, which is a daunting task, I can plan out smaller "games" that build into the final prototype.


I would really like to submit my game for the intel game competition 2010 (level up), but the project might take longer than I have to finish in time. My RPG took about 8months to get all the core features programmed and working, along with a level, dialogue, and quest editor partially built. A lot of the time was spent re-programming things as new features came about, as well as a lot of research into getting an isometric Diablo 2 like game working with the graphics/scrolling and interface system.

But my new idea will require a good amount of research as well- I need to incorporate box2d, or emulate some of it's functions for one of the core game mechanics. Aside from that, I also have to be able to create professional level art, and art takes me more time to create than programming, since I am not well skilled in it yet, and have to spend a long time revising things.

So for now, I think I will finish converting my diablo game into my game engine, and make sure all the features are working properly again, and use that as my primary submission to the contest. Since it was near completion for the main game, I should hopefully be able to finish it up relatively quickly, and might be able to get enough time to create a level in my new game for a secondary submission.

I would also like to get started on Android development, but need to find a better way to learn it. The books mainly seem to cover building an application using the built in GUI elements from the android OS, without focusing on creating original programs, and secondary showing "how many android widgets you can cram in your app". I would like to be able to make a couple small programs for my own use, as well as release it on the android store, which would help me later convert my 2d games to use on the android.

I'll have to look more into project planning, and hopefully figure out the best way to pre-plan, and save time during development.