• Home
  • About
    • Biography
    • Contact Info
  • Projects
    • 2D Map Editor
    • Dodge and Destroy
    • Intruder's Run
    • Procedural Terrain
    • Jim Bob's Jam
Nickpdevelop.net

Development Blog

sleeeeep problems T_T 08/27/2011 at 18:37

So basically when it comes to the map editor, after reading a lot I am going to have to write two separate libraries for managed and native code, due to the requirement of mine having a multi-platform tool. Not a big deal, just gotta work on the serialization code.

I haven’t really been working much the past week due to major sleep problems, and feeling rather unhealthy :(. Although I have been having some problems I managed to work on my XNA title a bit more. Created a pipeline extension for importing maps; basically I am going to use a gray scale image to define the terrain layout, and the extension processes texture data to data I am going to use in the generation of geometry for the maps. Now I have experimented with different methods on generating the geometry for the look I want, and been trying to balance it with performance. I think I have found a solution, I just gotta find the time to sit down and make it work(maybe tomorrow!). Once I have the geometry for the world working, I am going to work a little bit on the UI, input management and getting a player model running around the world. I actually can’t wait to get more done on this project, I just think the gameplay will be extremely fun to play with others when done ^_^.

Well thats about it. Still not sure if next week I should focus on my XNA game or get back to work on my Map Editor ><. Oh one thing I did was finally finish Final Fantasy XIII, which was pretty awesome, especially near the end. I thoroughly enjoyed this game, the gameplay was just fantastic! I am still not sure where I would rank it in the series, but it was definitely one of my favorites in the franchise. Enjoyed it much more then VII, and almost as much as IV and X, still not as much as VI but it'll be hard to top VI in my opinion. Maybe my third favorite behind IV and VI, not sure though. Anyway! Enough of this rant must go back to doing some work.


<3 programming 08/13/2011 at 02:14

This entry is more a rant on how much I enjoy programming and learning new techniques. Recently I have been working on an API-independent cross-platform solution to create 2D tiled maps(more info here). One of the problems I have been working on is the cross-platform part. Right now the output and use of it, from the map editor tool is pretty dependent on .NET and its serialization classes. This is fine for games written using XNA, or .NET languages but I don’t want just that. My goal with the project of course is to have a single solution that is graphics API independent while being able to also use it for multiple platforms. I am thinking about solving this through rewriting(and improving) the current library in native C++, and creating a manged C++ wrapper so that I can use the tool with .NET languages such as VB or C# and XNA, as well as being able to use the same map class in C++ OpenGL/DirectX/whatever projects. Another solution I have thought of was writing a completely different library in native C++ that will use the same formats/classes as the .NET version. Either way the challenge is going to be the serialization code and writing a format that is efficient to use, and that has good compression. I love these types of problems and can’t wait to begin programming a solution :).

Also I have been reading more about the XNA content pipeline, and writing custom extensions to this. With my library, and editor application I also think I am going to include a Content Extension to the XNA pipeline to support my map format. This will of course make handling these map objects in an XNA project much easier, and is not much work to write. I just find it very interesting how it all works.

I swear I can sit and read msdn articles, articles from other sources all day about different technologies, and implementations etc. and never get bored. I love programming <3 :)!


Map Editor Info Up 08/11/2011 at 23:12

So I just added an entry to my projects page about my 2D Map Editor I am working on. Currently everything is going really smooth :D. I just finished writing a quick app up using the XNA API to test the library, and the output of the map editor. It’s working pretty well! I am probably going to add a video tomorrow to the entry on the projects page with some simple gameplay on top of a map to show that it works. I am pretty happy about the outcome of this application, it actually works really good for being my first cross-api tool I’ve written! Next I wanna work on some more cross-platform support for the backend library, as well as improve the editor by adding new tools/customization options. In the end I really hope to have a nice application to speed up development process of 2D games for any API I decide to pick up. I am really excited to see where this tool goes :)!

In other news I haven’t worked much on implementing my faster collision detection algorithm in Dodge and Destroy, but I might get to that next week. I still gotta upload the most recent source code for that project as I had to make some changes due to a small memory management error I found.

I also hopefully soon will have a low-latency/decent internet connection and maybe get back to playing SC2 .. its almost been 5 months now without playing :(. I was really looking forward to participating in some tournaments this summer, but when I finally get to play again I will have to re-learn so much. Lately I have been practicing some skills by playing some BroodWar, but it is definitely nothing close to the same. Oh well!


back to work! 08/08/2011 at 23:43

Well its about time to get back to work on some unfinished projects such as my Tile Editor I talked about way back when I was thinking about doing a tutorial series on it. Opened it up today after probably 10 months of hiatus and some things look great, some things not so much. Tomorrow while its raining and I probably won’t have internet access due to the rain I am probably going to be working to fix up the editor. I already began working on it a little making some key components implement the IDisposable interface for better resource management. After playing around with it a little there are some things that simply do not even need to be on some of the dialog boxes, as well as a bunch of work to do on the main “paint”/tile selector tool. When I get some of these basic things fixed up I will probably post either some screen shots or a video about it on the projects page.

Another thing I worked on a bit today was Dodge And Destroy. Firstly found a memory management error that was bad on my part being niave about the implementation on some STL containers. Fixed that problem! Also while I think a quad tree may cause too much overhead to be worth it, I came up with an algorithm using a hashmap that could help speed up processing collisions when there is a lot on screen. Although right now usually there isn’t a whole lot on screen due to the difficulty(could be just me though!), when there is a lot you can notice a decrease in performance. This is due do the current implementation of collision detection requireing O(nm) time where n is the number of projectiles, and m is the number of enemies. My new algorithm can reduce this significantly by checking each projectile with only a limited number of enemies that are near the projectile. The overhead cost is filling up the hashmap which would be linear, however it reduces the ammount of collision checks significantly, and checking a collision with the player would be nearly constant time, as opposed to a linear search each update now. If I get a lot done on the Tile Editor tomorrow I may work on implementing this algorithm(or tonight if I can’t sleep), as well as test if the added overhead is worth it. I have also been brushing up on design patterns and software engineering practices I am not convinced changing the way classes are in my current implementation would be worth it. If I add more systems to the game however there may be another rewrite in how the game is written.

Anyway, can’t wait to get coding :)!


woohoo! no more exams, and no more deprecated elements :D 08/07/2011 at 00:37

Well hopefully that was the last exam I will have to write for a long time. And what a poorly written exam that was :/ .. improper map was a huge one but it didn’t bother me. Like the assignment questions in the entire course I have no idea how you are supposed to give a long answer to such simple questions that can be answered very concisely with a strong enough argument. Anyway, interested to see what my grade was considering there was not much instruction on the exam, and although I answered each question with strong arguments I hope that is what we were getting marked on instead of how many tiny details that are not that important anyway that we write down. Anyway woohoo!

In other news I also been upping my knowledge on some web development stuff. Got rid of I believe most of the deprecated tags in my markup for the site finally, as I finally updated my knowledge on the topic from when I first started when I was 10. A lot of fun really, and it will be a lot easier to make changes to the website now; I am fairly happy about it :D.

Also been doing some reading on software engineering in games .. particularly about entity-component game engines, where entity’s are essentially made by the sum of their parts. I’ve used this before in Unreal Modding, and considered it with Dodge and Destroy. In fact I am still thinking about it in Dodge and Destroy .. I could use this idea along with adding in scripting support to more easily add new enemy types, which only really differ by their sprite and AI algorithm. It is something to consider playing around with anyway while I continue to look for work. I also have been thinking about getting back to work on my terrain project and changing it into a voxel solution, which would be really cool xD!


« Previous Page —
— Next Page »