I need some project to learn PHP coding. Since I already ranted about lack of good MM online games I’ll try to create one. Keeping with KISS I’ll search for weak points in other games and try to avoid them while learning to code in PHP/MySql.
I think a game from sport genre would be easiest to make as I know more about sport then about conquering the galaxy. More difficult is to choose which sport. I need a game with relatively simple competitions system where luck plays only a minor role. When I tried to model the game on these principles only racing sport seems simple enough to simulate. League competitions are too much for now. Since manager must include some team to manage, individual sports are out. I’m left only with car racing. Formula One Grand Prix is the most interesting competition and top level of its sport category so I’ll choose to simulate the Grand Prix.
I played few F1 manager games but I remember only Grand Prix manager released in 1996 by Microprose as a good game (it still has an active community). There are fans but there is no game for them. My interest in sport is limited to managing a team, hiring drivers, staff, contracts with manufacturers, merchandising and researching new technologies. I’m really not into setting tire pressure and wing positions because there’s always only one best setting – once discovered it’s just burden.
Recently I decided to take my shot at programming in PHP. As i programmed in ASP before I knew that server side programming concept wouldn’t be problem for me but as I never programmed in C-like language I thought it’ll be difficult to crunch through the syntax. I was surprised.
It seems that once you now how to talk to your computer it’s not a big deal to change a language. You have the web full of examples and IDE-s with auto complete to help you. You can adapt to new syntax very quickly. Same thing with MySql – sql syntax is almost the same. If you know what you can do with it you’ll find an example in few seconds.
Main problem appears after you learn the syntax. Being used to “you start and I’ll finish for you” .net way of coding main problem for now is organization of a code.
- How to name your variables: case sensitivity matters now.
- How to arrange braces: those {} blocks are taking too much space if you indent much. If you don’t indent, you loose code structure and clearness.
- How to debug effectively: are var_dump() and die() statements good enough or is there better way?
- Is there any good IDE for PHP or is Notepad++ the best way?
I suppose that’s why programmers tend to be religious about their choice of language. They are used to one way and other way is alien to them. And our way is the best and only way.
Idea of playing your favorite game genre in your web browser for free with and against thousand of players is a really tempting one. Commercial massive multiplayer games are all made in the same way, RPGs with class and skill systems, levels, magic, armor and weapons. They require constant attention from player and take too much time for anyone who wants to have some real life (you know, job, family, friends…). Browser games are more suitable for turn based gaming where you are required to log on now and then and give some general orders but you don’t have to be online often. Most genres could adapt such games but there are some which are more suitable.
Turn based strategy game can placed in the galaxy where players battle for resources with their neighbors, make raids through their sector and form galaxy wide alliances.
In sport manager game you could take a role of team manager, setup tactics for matches, buy and sale players, search for sponsors and win titles and promotions. All that in competition system with thousand other players.
It can also be a tycoon game. I’m yet to see real implementation for this genre but it should be possible. Taking role of company manager player could compete with other players for market share, research new technologies, build factories, manage staff and invest in smaller companies managed by other players… An opportunity waits.
Unfortunately, all these games fall into common pitfall; they stop to be fun once you learn all the rules. Afterwards you just do what game system requires from you.
As we expanded our portfolio, number of testers and bug reports in our company increased greatly. Sometimes they would send me bug reports on email, sometimes over IM or in person on coffee break and so on. We were never too formal and I always enjoyed relaxed atmosphere but enough is enough. If somebody asked us who’s taking care of some issue he would get the answer only if directly involved programmer was around, otherwise nobody even knew about the issue – it was between user or tester and one programmer.
And it is of great importance for project to be successful that everybody knows what others are doing and what are their priorities. You can’t say it’s not my problem, you must say its Mario’s or John’s problem. Also, looking through your list of issues it’s much easier to arrange your priorities and be more effective.
So I went hunting for a bug tracker tool. It looks like there is tool for every pocket and server. PHP – Apache – MySql combination is prevailing in free open source field. Commercial and freeware tools all look the same in general and cover all the same functionality in different ways. In the end, somehow I discovered this little gem called BugTracker.NET. If I had time to write such a project I would probably wrote it this way. It’s free and open source, configurable to the smallest details without recompiling and works on IIS and SQL database, it’s written in ASP.NET and it’s easy to read. I fell in love immediately.
In one evening I’ve set up BugTracker.NET for all our projects and for all our testers. I renamed it to Issue tracker and in a week, everybody had BugTracker.NET as main reference for project status. Generating project reports and estimating programmer’s workload was never easier. Bugs, task and features all found a place in this tool and using bugtracker’s email notifications has done more for my mailbox then Thunderbird when I migrated from Outlook express: it was finally useful.
As author put it: Bugtraker.NET is poor-man’s FogBUGZ. I say it’s not about the money, it’s about simplicity.
BugTracker.NET home page
I could be named as a Microsoft developer. I always programmed for Windows platform, used Visual Basic before and now his dot net successor. Even my web server was on Windows and server side scripting was done in ASP (i used ASP.NET in only one project). Only C-like language i use is Javascript for which i don’t see any alternative.
I’m very disapointed in direction ASP.NET is taking. It’s overly complicated and there is much guessing involved in coding – most of the time i’m not sure how it will behave. Also from version to verions nothing is simplified, it only adds levels of complexity. I was more productive with old ASP, it was much closer to KISS pilosophy (Keep it simple, stupid). But ASP is now going to dot net direction, i’ll go another.
I have no experience with PHP at all but i want to find out how much effort i need to make something on PHP/MYSQL combination. I suspect that PHP will stay server side script of choice for most developers so i’ll join the family.
Some core components must exist to qualify game as XCOM successor:
- strategic view (bases on planet, city, galaxy, star system)
- squad level combat
- research and technology tree
I suppose all games can achieve that but some little things create unique atmosphere, giving you reason to continue playing. Those are small things but with big effects. Let’s see some:
Combat atmosphere
In first two games you move your soldier one by one. Discovering a hidden alien is very dramatic. Move little by little carefully taking cover until somebody spot an alien. Check how much “time units” is left for soldier. Choose between shooting at alien (snap or aimed) or taking cover (or both if you have enough TU’s). If you miss, alien could return fire and then you are in trouble. Watching a bullet fly toward the alien creature is again dramatic scene (will it be blocked by fence?, was that smart decision?), similar to bullet time in „The Matrix“. In new games you don’t see bullets, most of the time you see only soldiers and aliens aiming at each other and their health bar decreasing. You don’t see who shoot and who got hit, you don’t need to make a decision other then between shoot or retreat. This makes missions obstacles in the progress of the game instead of dramatic way to get hold on new alien items and capture their leaders.
Aliens
Nobody has seen an alien yet and it’s possible to create millions of unique looking creatures. Snakeman, Chryssalids, Lobsterman, Tentaculat and others are silly creatures if you think about them but they all have unique features, terrifying looks, colorful images and they all fit into the game. Apocalypse have most developed aliens, they are different enough and they whole lifecycle have sense. On the other hand, UFO series (Aftermath, Aftershock and Afterlight) have pile of brownish creatures accompanied by some exploding hovering balls. They are just thrown into this world for you to shoot at them.
I am a big fan of the XCOM series. Released in 1994 „UFO: Enemy unknown” was never surpassed in playability. If I counted spent hours per game, „Enemy unknown“ and it’s sequel (or expansion) „Terror from the deep“ would be on top. 13 years later there is still no successor on sight, game which can take original idea, improve on it and use current technology to give us even better game.
Apocalypse brought pausable real time system (turn based was also an option) which made the game very different. Missions were much quicker but tactics is simplified. You could mostly win the mission if you just stood in cover and for alien to come. Fortunately, aliens were very different so you had ten beasts requiring different tactic so on hardest levels you could really had some great fights.
There was one more game planed, “Genesis”, but was canceled when publisher shut down the developer’s studio. In the last few years, Altar and Cenega released spiritual successors, UFO Series, which are good games on its own but only so-so when compared to the original games. There are few more attempts to recreate original game, some finished, some in development, fan base is big enough to make profit, somebody just need right components mixed in correct way and voila, you could have game of the year.
There’s disturbing article on the FiringSquad named “What’s Killing Game Development?. It’s a must read for everyone who, like me, is disappointed with current state of gaming industry and with games they produce. Their points are simple: development costs too much and publishers cannot risk with new ideas. While many gamers will say that gameplay is most important for a game, reality shows that new game must bring great graphics to make profit.
I was passionate gamer and somehow I always managed to play all the great games despite school, work, family and other nuisances which every gamer face every now and then. But now I don’t play anymore. I have enough time and money but I don’t have games to play. I’m big fan of abandonware games but they are good only to bring out some memories, old interface and lack of multiplayer support being major obstacle for serious gaming.
Many thing needs to change if we are to play some good, innovative games in the near future. Game industry needs more segmentation:
- big studios which will provide games cutting edge technology
- middle sized studios who use older engines and tried technologies to provide satisfying sound and graphics but improve on gameplay
- small studios, waiting to hit big, making low cost games and building community around themselves
- open source community to make games for the sake of making games
Hopefully current situation where big game studios have monopoly on game distribution opposed by almost invisible independent studios will change in the near future. Similar situation is in movie industry but independent authors have more room and public recognition for their works then in gaming industry. Typical gamers, reviewers and magazines are focused only on big developers waiting for new graphics engines to be sold as games. True innovative games are almost things of the past.