Proof of Concept: Networking in Single Player Games Followup
by Demolishun · 05/04/2013 (10:15 pm) · 2 comments
This has been finished for a while, but I promised a followup. So here it is:
Finished something I started.
The quandary of an active mind is you sometimes do things half way. This results in a pile of projects I will finish, someday. I had an idea literally years ago to modify a game engine to be controlled from the Internet that was not normally a networked game. I had even started working on the concept. It never went anywhere because I did not stick with it. In an attempt to break this pattern I committed myself to get this "Networking Oblivion" concept out of my head and into code. The result is now at the Oblivion Nexus.
So now I have officially controlled the game using an Android phone from a local lan webpage. I have also contributed to the wild world of game modding, hopefully in a significant way. It is fun to place characters in game that are not supposed to be there from a click of your phone while watching someone else mouth WTH? (what the heck?). Or play, "You should have paid the fine!" with another click and watch the same person look around for the guard. Then there is also the spooky odd phrase showing up at the top of the screen that says, "You have been seen...". This is what I wanted to do and it has served its purpose. Now I have another tool for testing out game features in a full fledged game. Hurray!
Mostly I am glad I finished what I started. It was one of those projects gathering dust. Now hopefully it will gain some life of its own.
What did I learn?
I learned a lot about processing JSON data in C++, using the Boost framework for threading, and lots of ways to uniquely crash the Oblivion game engine. I also got a glimpse of what a hacked on binary interface to a game looks like. OBSE is a great example of a system for plugging new capability into a running binary. I think this is going to be the future of how games are used beyond how the original authors intended. It also goes show how product life cycles can be extended well beyond initial publish date.
The main thing I came away with has really nothing to do with the engine. I am very impressed by what the Nexus is doing for game modding in general. They are actively expanding the tools and capabilities available to modders for hosting and sharing their work. So for a modded game to be on the Nexus will make more sales and can grow the communities around a particular product. I know when I release my game(s) they will be moddable and I will work hard to get a presence in the Nexus for those games.
Conclusion
Make your game moddable. The extra effort will in return cause years of sales and repeat sales. Your game does not have to be perfect, it just has to be good. If it is moddable the players will find and fix the flaws which will in turn draw more purchases.
Point in case: www.pcgamer.com/2011/01/11/pc-gamer-uss-games-of-the-year-awards/5/
Read the blurb about Nehrim.
When a mod almost gets the title "RPG of the Year" on top of "Mod of the Year" you know it has driven more sales. Besides, I purchased Crysis to play MWLL and have yet to even play Crysis!
Finished something I started.
The quandary of an active mind is you sometimes do things half way. This results in a pile of projects I will finish, someday. I had an idea literally years ago to modify a game engine to be controlled from the Internet that was not normally a networked game. I had even started working on the concept. It never went anywhere because I did not stick with it. In an attempt to break this pattern I committed myself to get this "Networking Oblivion" concept out of my head and into code. The result is now at the Oblivion Nexus.
So now I have officially controlled the game using an Android phone from a local lan webpage. I have also contributed to the wild world of game modding, hopefully in a significant way. It is fun to place characters in game that are not supposed to be there from a click of your phone while watching someone else mouth WTH? (what the heck?). Or play, "You should have paid the fine!" with another click and watch the same person look around for the guard. Then there is also the spooky odd phrase showing up at the top of the screen that says, "You have been seen...". This is what I wanted to do and it has served its purpose. Now I have another tool for testing out game features in a full fledged game. Hurray!
Mostly I am glad I finished what I started. It was one of those projects gathering dust. Now hopefully it will gain some life of its own.
What did I learn?
I learned a lot about processing JSON data in C++, using the Boost framework for threading, and lots of ways to uniquely crash the Oblivion game engine. I also got a glimpse of what a hacked on binary interface to a game looks like. OBSE is a great example of a system for plugging new capability into a running binary. I think this is going to be the future of how games are used beyond how the original authors intended. It also goes show how product life cycles can be extended well beyond initial publish date.
The main thing I came away with has really nothing to do with the engine. I am very impressed by what the Nexus is doing for game modding in general. They are actively expanding the tools and capabilities available to modders for hosting and sharing their work. So for a modded game to be on the Nexus will make more sales and can grow the communities around a particular product. I know when I release my game(s) they will be moddable and I will work hard to get a presence in the Nexus for those games.
Conclusion
Make your game moddable. The extra effort will in return cause years of sales and repeat sales. Your game does not have to be perfect, it just has to be good. If it is moddable the players will find and fix the flaws which will in turn draw more purchases.
Point in case: www.pcgamer.com/2011/01/11/pc-gamer-uss-games-of-the-year-awards/5/
Read the blurb about Nehrim.
When a mod almost gets the title "RPG of the Year" on top of "Mod of the Year" you know it has driven more sales. Besides, I purchased Crysis to play MWLL and have yet to even play Crysis!
About the author
I love programming, I love programming things that go click, whirr, boom. For organized T3D Links visit: http://demolishun.com/?page_id=67

Associate Ron Kapaun
3tdstudios.com
Ron