WaeV

Quickbeam

371 posts in this topic

Tiddy-bits:

Kinda figured. Charging for a tool to mod a ~12 year old game is pretty douchey, even for whats-his-name. :P


KsqHutE.png

Share this post


Link to post
Share on other sites

I wanted to release on April 2nd as a followup to my cruel joke, but unfortunately I'm still in progress (though closing in).

 

Most of my current problems stem from trying to accomplish too much. One the one hand I wanted to develop Halolib - a standalone Python library for editing Halo maps, that runs on Mac and Windows, 32-bit and 64-bit, on CPython and PyPy and IronPython. That's a tall order by itself. And it's not even that immediately useful if you're not a programmer.

 

eAPHUBt.png

 

On the other hand, I also wanted a flagship program showing off Halolib's abilities. This proved much harder... I wanted it to have a Python shell (aka REPL) as well as Eschaton controls. Now that I'm rushing to finally get something out the door, I've jettisoned the plans to have Eschaton-style controls (for now, at least) and am focusing on the Python shell.

 

EuTzBwa.png

 

So. The main product here will be Halolib. People can read it, use it, fork it, make changes and sell it, whatever.

There will also be Quickbeam -- a portable Python shell and a cool-looking mechanism for finding your installation of Halo and embedding it in the window. Quickbeam will basically be a way for non-programmers to dabble with Halolib without having to install Python and other nonsense.

Updated todo list, adding a couple more items to represent cleaning up Halolib. I will probably work on that this weekend. Almost done, almost done...

Todo List

[in Progress] General cleanup

[ ] Fix how plugins are loaded

[ ] Other?

[in Progress] Plugins -- Only the coolest and/or most common parts of popular plugins

[bipd] model, collision, weapon references. jump height, run speed, misc flags.

[Effe] spawned object references.

[Proj] model, collision, effect references. speed.

[Vehi] model, collision, flashlight references. speed, driver string, misc flags.

[Weap] model, collision, projectile references. magazine size, rate of fire, misc numbers.

[Planned] Mirror Edits to Disk

[ ] Open the map in memory, then also open its counterpart in the MAPS folder. Mirror changes from memory to disk.

[Maybe?] Find missing offsets

[ ] WMKillHandler for Halo PC

[ ] WMKillHandler for Halo CE

Postponed until after first release

[Postponed] Tag Research

[ ] Reference detector (for mapping purposes; don't rely on this alone)

[ ] Reflexives detector

[ ] Extract known locations from Sparky's plugins

[ ] Chart accounted-for areas, identify missing reflexives (if any)

[ ] Rebuilding?

[Postponed] Plugins -- Parts that were too hard to implement quickly

[ ] TBD

[super Postponed] Main window enhancements

[ ] Finish Dockability

[ ] Rearrange Halo viewport to support PC/CE and dockability

[ ] Change REPL to support dockability

[ ] Embedded-window enhancements

[ ] Fix clipping when the window is really small (hard, but it will be fun :) )

Skeezix the Cat, NeX and Takka like this

Share this post


Link to post
Share on other sites

One day I'll need to create an account over at that forum and dig around. I've been able to avoid it so far :rolleyes:

 

Looks great, though! I'd love to collaborate with someone, even if it means giving up absolute control over the project. Long lonely slogs aren't what they used to be :P

NeX likes this

Share this post


Link to post
Share on other sites

I'm in the same boat. I would blow a hobo to get someone dedicated and able to work on BSPs/skyboxes.


KsqHutE.png

Share this post


Link to post
Share on other sites

So I spent more time looking at this, and please forgive me but I'm still waffling over the interactive scripting environment. They all SUCK!

 

I'm not even looking at making a windowed application myself anymore - I just want to be able to recommend a good environment to use my library from.
 
Python - IDLE
Almost too shitty to enumerate. Looks like ass on all platforms, but at least it works everywhere. Has autocomplete/intellisense, but barely. Included with Python by default, which I guess is a plus.
bz1qE.jpg
 
Python - Sublime Text
My usual environment, but I can't actually bundle it thanks to it being copyrighted proprietary software. I experimented with bundling it anyways, and created a small extension to automatically load my Halo libraries, but it's fragile and sucks too much. I could create tutorials on how to get your environment set up the way I think is most useful, but... it feels lackluster.
main_sublime_text_3_screen.png
 
Python - Visual Studio 2015 + Python Tools
This is actually really solid. Syntax highlighting and autocomplete/intellisense are very well done. Debugging is very thorough, allowing you to inspect objects and set breakpoints. All these features work for interactive sessions as well as script files. Downsides include Visual Studio's heavyweight nature, however it is easier than Sublime Text to get to a comfortable state, and I think the payoff is better.
IC766168.png
 
Python - Atom
A resounding "meh". Atom still seems kinda buggy, although it's certainly flexible. It scores less than Sublime Text on everything except for that I can legally redistribute it. Worst of all, it does not support interactive mode.
material-dark-python.jpg
 
F# Script - Visual Studio Code
VS Code is the free, cross-platform editor and is closer to Atom than it is to Visual Studio 2015. However it is much more polished than Atom. It looks nicer, crashes less, and has pretty great intellisense for F#, my current favorite language. Plus, VS Code is legally redistributable. Like Atom, VS Code lacks an interactive mode.
vscode_fake_demo.gif
 

F# - Visual Studio 2015 + F# Power Tools

This is... okay I guess. I prefer using F# scripts to compiled projects, and VS2015 is very biased towards compiled projects. That being said, it's very polished for that use-case. I probably would not choose this option. If I choose F# I would use VS Code, and if I choose VS2015 I would use Python.

image9.png

 

C# - Visual Studio 2015

Bleh. C# is so mainstream. But it does have the best tooling support. Python and C# are the only languages I've found that support true autocomplete/intellisense in interactive mode. But I would probably choose Python.

 

C# - Notepad++

Surprisingly, Notepad++ has better extensions for debugging C# than it does for Python. Unfortunately it still kinda sucks.

CSScript.png

 

Python - Spyder

Heavyweight and lame.

2769353_1.png

 

Python - Jupyter (formerly IPython)

This is an interesting option, but I fear it would be too confusing / alien to set up. Jupyter launches a local webserver, then you do your Python scripting in the browser, where it can render charts, graphs, images, heck probably audio too. It would be a great way to interact with mapfiles. I believe Visual Studio has a way to work with Jupyter/IPython, which strengthens that option.

layout.gif


Edit: Diagrammed my exploration up.

 

FdCY0Y4.png

 

 

I think I'll go with suggesting VS2015 Update 1 (or later) with Python Tools. Installing it is not too hard, and I can create a setup tutorial. It will be way easier and nicer-to-use than the Sublime Text bundling hack I had been working on.

 

Double edit: Hype for Visual Studio & Python Tools from Scott Hanselman http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx

swamp likes this

Share this post


Link to post
Share on other sites

I think VS2015 is probably your best bet. Helps that quite a few people already know how to use it in some way or another.

WaeV likes this

Share this post


Link to post
Share on other sites
  • Recently Browsing   0 members

    No registered users viewing this page.