Here it is, the frog knight!!
It’s always at the end of a task or a project that I start nitpicking like mad; I guess I’m not used to finishing things. Anyway, a very big thankyou to theunknown1art for putting up with me this far, but we’ve still got a way to go. Three more characters and a title screen.

Here it is, the frog knight!!

It’s always at the end of a task or a project that I start nitpicking like mad; I guess I’m not used to finishing things. Anyway, a very big thankyou to theunknown1art for putting up with me this far, but we’ve still got a way to go. Three more characters and a title screen.

I’m just going to strip “delta” timing out of the game, it’s too much hassle. From now on everything will assume the game has a steady pace.

When your game spontaneously breaks in new and unexpected ways.

When your game spontaneously breaks in new and unexpected ways.

Bah, stupid framerate is reested from the damn framework. Why did I decide to use a fixed timestep? Something about collision. Collision is only really simple in my game, so I’m going to need to revert it. 

Damn this is gonna bee old code. I’m not even sure it’s in this repo.

"Make the whole thing more fault tolerant" is literally the worst entry in my TODO list.

heheh, by making the RoomManager a singleton I can bypass lua’s registry hack. It’s cleaner, and still fairly useful.

Oh, the server’s managers are singletons now, BTW. Kind of unavoidable for massive projects.

Do you ever just stare at your code and think “fuck where do I start?”

New Player Experience: Video Review Progress


I recently decided to roll a new character and take them through the tutorials in order to discover more about how newbros find out about what to do in the game. 

These videos will be split by agent AND I will produce a summary video on top of all of these (considering the inital two videos, for Aura and Military Career Agent are both in excess of an hour per video).

After the first video, I encountered a newbie asking for some help and direction in corp chat. Upon convoing them, these were our opening words.

Aries  > Hello
Me > Hello, having problems?
Aries > Not problems but more over what really is it that i can do other than just mine rocks
Aries > All i know is how to ward[sic], mine, and attack drones

I am happy to state this person now knows significantly more about the game, or at least I told them a lot more, and gave them some guidance around how to do more than mining. They had read the r/eve subreddit and had discovered mining was not a brilliant career but didn’t know what else to do. This is a newbie, 24 hours old at this point, having the drive to check multiple sources for help in this overwhelming game.

How many people have that kind of commitment on the trial of a game, I wonder.

I hopefully will be able to get in contact with this player at a later date to see how they are progressing. They told me they wanted to pursue a more pirate oriented career and I directed them to a number of high profile groups in various regions of space who could accommodate the rookie on that journey.

During the second video, I found something devastatingly painful. The military career literally suggests using both an armor AND shield repairer on the same ship - not only that, the shield modules given are all civilian. This is for a gallente character. CCP, what are you doing??

To top it off, the player is given a Tristan as a second ship, following the Atron, along with a gunnery skill book. Yeah…. the Tristan is not a gunnery ship primarily and certainly not a ship I’d expect a tutorial running newbie to be using to any good level. 

I feel my final review of the New Player Experience is going to be scathing. it is much improved from the past, including when I started, but there is still MUCH to be desired.

Yes! Thank you! I’m not very eloquent myself, so I love it when people can write down my personal gripes for me. Before you read my response, I’d recommend reading the original post above.

As a game designer, one of the most important aspects of your game is the tutorial. There are many opinions out there, but my personal approach is this: Teach your players through the gameplay itself. The first level of Super Mario Bros does this spectacularly, through simple, clear and intuitive play.

If your game requires a tutorial, or periodic popups, clearly you need to know why, and when to do it. Civilization V, for instance demonstrates both aspects. When you begin your first game, you’re presented with the (at that point) simple UI and given a chance to explore it. As you progress, the “advisors” periodically interrupt the gameplay with explanations of new elements encountered by the player, as they find them, as well as options for more detailed explanations.

Civilization V is a complex game, and without these popups it would be almost unplayable. However, the designers take a great amount of care not to be too intrusive as to what they teach explicitly, instead allowing the players to click around and find the most indepth and rewarding elements of the game on their own. They do only what it takes to allow the players to teach themselves.

EVE Online is an empirically bad game. It has the potential to be fantastic, but the culture of impenetrability has seeped from the community to the developers, who seem to think it’s a good thing. The initial free trial is a perfect example: to really enjoy EVE as it is, you need to join a corporation and sink in about 2 months of play, whereas the trial only lasts two weeks, half of which is spent in the tutorials, and the other half is spent trying to scrape together, literally, pennies worth of ISK (in game currency).

The UI is presented as a mock OS interface, with all of the bells and whistles, but none of the intuitive tutorial of what it does. White, black and grey UI elements make discerning different aspects of the game incredibly difficult, where simple colour coding could do so much to instruct the players without a word. Here’s my idea for an interface:

  • Shooting people = red
  • money = green
  • science = blue
  • corporation = purple
  • etc.

Add in a few subtle sound cues to replace that annoying background music and you’ve already improved the user experience. It may seem obnoxious at first, but refining and crafting the perfect experience is what it takes to build your user base. Of course, the shield and armour booster issue highlighted above hints at a much deeper problem with CPP. Either 1. They are incompetent 2. they don’t understand their own game or 3. they don’t care. Honestly, I’m not sure which is more worrying.

My fix ideas are extremely radical, and constitute more of a reengineering effort of the game than just simple bandaids; but it’s been done before.

  • Rewrite the explicit tutorials, taking veteran and newbie concerns into account
  • place newbies into a secluded zone (the “sandbox” isn’t a novel idea anymore) or restrict them to highsec
  • Refactor the code as a whole, which they seem to be doing at a snail’s pace
  • Switch to using C++ as your core language with Python for scripting
  • Extend the trial period to 3 months (3 months with the current state of the game, you can shorten it as necessary)
  • You don’t like 1000s of Titans in the world? Place an embargo on their components’ construction, storage and transport through high & low sec space
  • You can even tie this into the lore by having the empires becoming desperate and launching efforts to clamp down on capsuleers, and even launching raids on stockpiled components
  • Hire some new blood. I haven’t seen any developers moving to and from CCP in all of the time I’ve been watching
  • Remove old and unneeded features
  • Don’t add new features until you’ve completed this list

I’ve spent an hour on this post, an hour that I could have put towards my own game (coincidentally an MMO). This article is only for educational purposes, so please don’t go sending me hate mail again. Personally, I think EVE Online is a lost cause.

newRoom = RoomManager.CreateRoom()
pager = Room.GetPager(newRoom)
RegionPager.SetOnCreate(pager, islandGenerator) --islandGen. is a function

You see this? This is in the startup script. That, my friends, is a function being attached to a region pager. Each time a region is created, the pager will run it through the islandGenerator() function. Oh, and the best part? Different rooms with different pagers can have different generators.

So the back end is in there now, but there’s no way to access rooms other than the first; actually the system crashes if you don’t call RoomManager.CreateRoom() at least once. Still, It’s there, and I can use it later. There’s no visible change yet, but I’m still updating the public version.

Play the latest Windows build here: Tortuga.rar

You can follow each update to the game at Tortuga’s GitHub page, or you can read the current design doc. Any and all feedback is appreciated, feel free to contact me either via my tumblr page or at ‘’.

P.S. Reblogs appreciated!

Devving: Distractions


This whole time, I have been recoding the pager’s internals. I’m wondering if I should be pushing the pager itself to the API functions, to make it easier to call other corresponding functions i.e. calling the save function from the unload function.

The room manager is a singleton, so I don’t think attaching unique functions to it the same way is a good idea; I’ll just have it use the functions in the API. But which API: the room, or room manager? Why are these separate?